/nix/store/dlwqlnbaj5vfm9aw20r1yxk8y56lmgif-repo/header.tmpl

Compare commits

..

No commits in common. "7beacf414537e1a671c651deb16a041edffc47b4" and "9eb9240db75ee623e5e154dd37f4c050d3be3401" have entirely different histories.

14 changed files with 89 additions and 295 deletions

View file

@ -12,13 +12,11 @@ GNU GPL3
This configuration was only made possible through the help of some amazing This configuration was only made possible through the help of some amazing
people! Below are all the repositories I took inspiration from, check them out! people! Below are all the repositories I took inspiration from, check them out!
- [jacekpoz](https://git.jacekpoz.pl/jacekpoz/niksos.git) [jacekpoz](https://git.jacekpoz.pl/jacekpoz/niksos.git)
- [dragyx](https://github.com/dragyx/nichts) [dragyx](https://github.com/dragyx/nichts)
- [sioodmy](https://github.com/sioodmy/dotfiles) [sioodmy](https://github.com/sioodmy/dotfiles)
- [Henrik Lissner](https://github.com/hlissner/dotfiles) [Henrik Lissner](https://github.com/hlissner/dotfiles)
- [diniamo](https://github.com/diniamo/niqs) [diniamo](https://github.com/diniamo/niqs) [fufexan](https://github.com/fufexan)
- [fufexan](https://github.com/fufexan) [lokasku](https://github.com/lokasku/nix-config)
- [lokasku](https://github.com/lokasku/nix-config) [NotAShelf](https://github.com/notashelf/nyx)
- [NotAShelf](https://github.com/notashelf/nyx) [viperML](https://github.com/viperml/dotfiles)
- [viperML](https://github.com/viperml/dotfiles)
- [atagen](https://git.atagen.co/atagen/nix)

View file

@ -10,8 +10,10 @@
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
console.keyMap = "uk"; console.keyMap = "uk";
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest; boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
services.fstrim.enable = lib.mkDefault true; services = {
fstrim.enable = lib.mkDefault true;
thermald.enable = true;
};
programs = { programs = {
nix-ld.enable = false; nix-ld.enable = false;
gnupg.agent = { gnupg.agent = {
@ -20,12 +22,6 @@
}; };
}; };
meta.system = {
isWorkstation = true;
isGraphical = true;
isLaptop = true;
};
modules = { modules = {
wms.wayland.enable = true; wms.wayland.enable = true;
# desktops.niri.enable = true; # desktops.niri.enable = true;
@ -43,6 +39,7 @@
systemd-boot.enable = true; systemd-boot.enable = true;
lanzaboote.enable = true; lanzaboote.enable = true;
}; };
impermanence.enable = false;
services = { services = {
owncloud.enable = true; owncloud.enable = true;
}; };
@ -55,7 +52,9 @@
}; };
}; };
programs = { programs = {
editors.helix.enable = true; editors = {
helix.enable = true;
};
steam.enable = true; steam.enable = true;
}; };
sound.enable = true; sound.enable = true;
@ -66,12 +65,14 @@
uwsm.enable = false; uwsm.enable = false;
greetd.enable = false; greetd.enable = false;
cups.enable = true; cups.enable = true;
media.mpd.enable = true;
media.mpd = {
enable = true;
};
};
other = {
system.username = "cr";
}; };
other.system.username = "cr";
programs = { programs = {
ssh.enable = true; ssh.enable = true;
nh.enable = true; nh.enable = true;

View file

@ -40,20 +40,19 @@
''; '';
}; };
# Not setting these udev rules seems to improve Zed's performance by a bit. services.udev.extraRules = ''
# services.udev.extraRules = '' # Remove NVIDIA USB xHCI Host Controller devices, if present
# # Remove NVIDIA USB xHCI Host Controller devices, if present ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{power/control}="auto", ATTR{remove}="1"
# ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{power/control}="auto", ATTR{remove}="1"
# # Remove NVIDIA USB Type-C UCSI devices, if present # Remove NVIDIA USB Type-C UCSI devices, if present
# ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{power/control}="auto", ATTR{remove}="1" ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{power/control}="auto", ATTR{remove}="1"
# # Remove NVIDIA Audio devices, if present # Remove NVIDIA Audio devices, if present
# ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{power/control}="auto", ATTR{remove}="1" ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{power/control}="auto", ATTR{remove}="1"
# # Remove NVIDIA VGA/3D controller devices # Remove NVIDIA VGA/3D controller devices
# ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1" ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1"
# ''; '';
# swapDevices = # swapDevices =
# [ { device = "/dev/disk/by-uuid/3518272e-1051-41e2-a7f0-f5c744e46789"; } # [ { device = "/dev/disk/by-uuid/3518272e-1051-41e2-a7f0-f5c744e46789"; }

View file

@ -9,6 +9,7 @@
anki anki
asciinema asciinema
bacon bacon
brave
cachix cachix
calc calc
cargo-info cargo-info

View file

@ -6,13 +6,13 @@
let let
inherit (config.meta.mainUser) username; inherit (config.meta.mainUser) username;
primary_browser = "zen-beta.desktop"; primary_browser = "Librewolf.desktop";
mail_client = "thunderbird.desktop"; mail_client = "thunderbird.desktop";
file_manager = "nautilus.desktop"; file_manager = "nautilus.desktop";
media_player = "mpv.desktop"; media_player = "mpv.desktop";
image_viewer = "imv.desktop"; image_viewer = "imv.desktop";
text_editor = "helix.desktop"; text_editor = "helix.desktop";
terminal = "com.mitchellh.ghostty"; terminal = "foot.desktop";
pdf_viewer = "zathura.desktop"; pdf_viewer = "zathura.desktop";
in in
{ {
@ -28,14 +28,6 @@ in
autostart.enable = true; autostart.enable = true;
menus.enable = true; menus.enable = true;
icons.enable = true; icons.enable = true;
terminal-exec = {
enable = true;
settings = {
default = [
"com.mitchellh.ghostty.desktop"
];
};
};
mime = { mime = {
enable = true; enable = true;
defaultApplications = { defaultApplications = {

View file

@ -108,8 +108,6 @@ in
ty ty
python3 python3
comma comma
radicle-tui
radicle-node
] ]
++ [ ++ [
nil nil

View file

@ -88,7 +88,6 @@ let
}; };
ui = { ui = {
default-command = "log"; default-command = "log";
diff-editor = singleton ":builtin";
diff-formatter = [ diff-formatter = [
"${getExe pkgs.difftastic}" "${getExe pkgs.difftastic}"
"--color" "--color"

View file

@ -32,10 +32,10 @@ let
in in
{ {
environment.systemPackages = [ environment.systemPackages = [
# brave-wrapped brave-wrapped
]; ];
programs.chromium = { programs.chromium = {
enable = false; enable = true;
# This sets a bunch of flags to make Brave usable. # This sets a bunch of flags to make Brave usable.
# This was made possible through several similar projects, # This was made possible through several similar projects,

View file

@ -1,8 +1,9 @@
{ {
programs = { programs = {
# We disable this and use nix-index instead. (Rust >>> Pearl) # We have to disable this and use nix-index instead. (Rust >>> Pearl)
command-not-found.enable = false; command-not-found = {
enable = false;
};
nix-index = { nix-index = {
enable = true; enable = true;
}; };

View file

@ -41,11 +41,5 @@ in
enable = true; enable = true;
platformTheme = "qt5ct"; platformTheme = "qt5ct";
}; };
environment.systemPackages = with pkgs; [
qt6.qtwayland
kdePackages.breeze
kdePackages.breeze-icons
qt6.qtsvg # needed to load breeze icons
];
}; };
} }

View file

@ -8,8 +8,6 @@ let
inherit (lib.modules) mkDefault mkIf; inherit (lib.modules) mkDefault mkIf;
inherit (lib.options) mkEnableOption; inherit (lib.options) mkEnableOption;
inherit (config.meta.system) isGraphical;
cfg = config.modules.system.hardware; cfg = config.modules.system.hardware;
in in
{ {
@ -19,14 +17,11 @@ in
}; };
amd.enable = mkEnableOption "AMD graphics drivers"; amd.enable = mkEnableOption "AMD graphics drivers";
}; };
config = mkIf isGraphical { config = {
hardware = { hardware = {
graphics = { graphics = {
enable = true; enable = true;
extraPackages = [ extraPackages = [ pkgs.nvidia-vaapi-driver ];
pkgs.nvidia-vaapi-driver
pkgs.intel-media-driver
];
}; };
nvidia = mkIf cfg.nvidia.enable { nvidia = mkIf cfg.nvidia.enable {
@ -35,13 +30,13 @@ in
# Whether to enable kernel modesetting when using the NVIDIA proprietary driver. # Whether to enable kernel modesetting when using the NVIDIA proprietary driver.
# Enabling this causes the proprietary NVIDIA driver to provide its own # Enabling this causes the proprietary NVIDIA driver to provide its own
# framebuffer device, which can cause Wayland compositors to work when # framebuffer device, which can cause Wayland compositors to work when
# they otherwise wouldnt. # they otherwise wouldnt. .
modesetting.enable = true; modesetting.enable = true;
# nvidia-settings is useless on NixOS. # nvidia-settings is useless on NixOS.
nvidiaSettings = false; nvidiaSettings = false;
# Fixes sleep on nvidia devices. # fixes sleep on nvidia devices
powerManagement = { powerManagement = {
enable = true; enable = true;
finegrained = false; finegrained = false;

View file

@ -6,7 +6,7 @@
leaf, leaf,
flag, flag,
tagctl, tagctl,
zen-browser,
}: }:
let let
inherit (lib.meta) getExe getExe'; inherit (lib.meta) getExe getExe';
@ -112,6 +112,7 @@ in
]) ])
(leaf "background-color" "transparent") (leaf "background-color" "transparent")
]) ])
(leaf "spawn-at-startup" "waybar")
(plain "environment" [ (plain "environment" [
(leaf "DISPLAY" ":0") (leaf "DISPLAY" ":0")
]) ])
@ -223,81 +224,23 @@ in
(plain "Mod+Shift+Slash" [ (flag "show-hotkey-overlay") ]) (plain "Mod+Shift+Slash" [ (flag "show-hotkey-overlay") ])
(plain "Mod+Return" [ (leaf "spawn" <| getExe pkgs.ghostty) ]) (plain "Mod+Return" [ (leaf "spawn" <| getExe pkgs.ghostty) ])
(plain "Mod+Shift+Return" [ (plain "Mod+Shift+Return" [
(leaf "spawn-sh" [ (leaf "spawn" [
(getExe pkgs.bash)
"-c"
"${getExe pkgs.niri} msg action spawn -- ${getExe pkgs.ghostty}; sleep 0.2; ${getExe pkgs.niri} msg action consume-or-expel-window-left" "${getExe pkgs.niri} msg action spawn -- ${getExe pkgs.ghostty}; sleep 0.2; ${getExe pkgs.niri} msg action consume-or-expel-window-left"
]) ])
]) ])
(plain "Mod+0" [ (plain "Mod+0" [ (leaf "spawn" [tagctl "toggle-tag" "0"]) ])
(leaf "spawn" [ (plain "Mod+1" [ (leaf "spawn" [tagctl "toggle-tag" "1"]) ])
tagctl (plain "Mod+2" [ (leaf "spawn" [tagctl "toggle-tag" "2"]) ])
"toggle-tag" (plain "Mod+3" [ (leaf "spawn" [tagctl "toggle-tag" "3"]) ])
"0" (plain "Mod+4" [ (leaf "spawn" [tagctl "toggle-tag" "4"]) ])
]) (plain "Mod+5" [ (leaf "spawn" [tagctl "toggle-tag" "5"]) ])
]) (plain "Mod+6" [ (leaf "spawn" [tagctl "toggle-tag" "6"]) ])
(plain "Mod+1" [ (plain "Mod+7" [ (leaf "spawn" [tagctl "toggle-tag" "7"]) ])
(leaf "spawn" [ (plain "Mod+8" [ (leaf "spawn" [tagctl "toggle-tag" "8"]) ])
tagctl (plain "Mod+9" [ (leaf "spawn" [tagctl "toggle-tag" "9"]) ])
"toggle-tag"
"1"
])
])
(plain "Mod+2" [
(leaf "spawn" [
tagctl
"toggle-tag"
"2"
])
])
(plain "Mod+3" [
(leaf "spawn" [
tagctl
"toggle-tag"
"3"
])
])
(plain "Mod+4" [
(leaf "spawn" [
tagctl
"toggle-tag"
"4"
])
])
(plain "Mod+5" [
(leaf "spawn" [
tagctl
"toggle-tag"
"5"
])
])
(plain "Mod+6" [
(leaf "spawn" [
tagctl
"toggle-tag"
"6"
])
])
(plain "Mod+7" [
(leaf "spawn" [
tagctl
"toggle-tag"
"7"
])
])
(plain "Mod+8" [
(leaf "spawn" [
tagctl
"toggle-tag"
"8"
])
])
(plain "Mod+9" [
(leaf "spawn" [
tagctl
"toggle-tag"
"9"
])
])
# (plain "Mod+0" [ (leaf "focus-workspace" 0) ]) # (plain "Mod+0" [ (leaf "focus-workspace" 0) ])
# (plain "Mod+1" [ (leaf "focus-workspace" 1) ]) # (plain "Mod+1" [ (leaf "focus-workspace" 1) ])
@ -309,77 +252,17 @@ in
# (plain "Mod+7" [ (leaf "focus-workspace" 7) ]) # (plain "Mod+7" [ (leaf "focus-workspace" 7) ])
# (plain "Mod+8" [ (leaf "focus-workspace" 8) ]) # (plain "Mod+8" [ (leaf "focus-workspace" 8) ])
# (plain "Mod+9" [ (leaf "focus-workspace" 9) ]) # (plain "Mod+9" [ (leaf "focus-workspace" 9) ])
# #
(plain "Mod+Shift+0" [ (plain "Mod+Shift+0" [ (leaf "spawn" [tagctl "toggle" "0"]) ])
(leaf "spawn" [ (plain "Mod+Shift+1" [ (leaf "spawn" [tagctl "toggle" "1"]) ])
tagctl (plain "Mod+Shift+2" [ (leaf "spawn" [tagctl "toggle" "2"]) ])
"toggle" (plain "Mod+Shift+3" [ (leaf "spawn" [tagctl "toggle" "3"]) ])
"0" (plain "Mod+Shift+4" [ (leaf "spawn" [tagctl "toggle" "4"]) ])
]) (plain "Mod+Shift+5" [ (leaf "spawn" [tagctl "toggle" "5"]) ])
]) (plain "Mod+Shift+6" [ (leaf "spawn" [tagctl "toggle" "6"]) ])
(plain "Mod+Shift+1" [ (plain "Mod+Shift+7" [ (leaf "spawn" [tagctl "toggle" "7"]) ])
(leaf "spawn" [ (plain "Mod+Shift+8" [ (leaf "spawn" [tagctl "toggle" "8"]) ])
tagctl (plain "Mod+Shift+9" [ (leaf "spawn" [tagctl "toggle" "9"]) ])
"toggle"
"1"
])
])
(plain "Mod+Shift+2" [
(leaf "spawn" [
tagctl
"toggle"
"2"
])
])
(plain "Mod+Shift+3" [
(leaf "spawn" [
tagctl
"toggle"
"3"
])
])
(plain "Mod+Shift+4" [
(leaf "spawn" [
tagctl
"toggle"
"4"
])
])
(plain "Mod+Shift+5" [
(leaf "spawn" [
tagctl
"toggle"
"5"
])
])
(plain "Mod+Shift+6" [
(leaf "spawn" [
tagctl
"toggle"
"6"
])
])
(plain "Mod+Shift+7" [
(leaf "spawn" [
tagctl
"toggle"
"7"
])
])
(plain "Mod+Shift+8" [
(leaf "spawn" [
tagctl
"toggle"
"8"
])
])
(plain "Mod+Shift+9" [
(leaf "spawn" [
tagctl
"toggle"
"9"
])
])
# (plain "Mod+Shift+0" [ (leaf "move-column-to-workspace" 0) ]) # (plain "Mod+Shift+0" [ (leaf "move-column-to-workspace" 0) ])
# (plain "Mod+Shift+1" [ (leaf "move-column-to-workspace" 1) ]) # (plain "Mod+Shift+1" [ (leaf "move-column-to-workspace" 1) ])
@ -392,80 +275,20 @@ in
# (plain "Mod+Shift+8" [ (leaf "move-column-to-workspace" 8) ]) # (plain "Mod+Shift+8" [ (leaf "move-column-to-workspace" 8) ])
# (plain "Mod+Shift+9" [ (leaf "move-column-to-workspace" 9) ]) # (plain "Mod+Shift+9" [ (leaf "move-column-to-workspace" 9) ])
(plain "Mod+Ctrl+0" [ (plain "Mod+Ctrl+0" [ (leaf "spawn" [tagctl "exclusive-tag" "0"]) ])
(leaf "spawn" [ (plain "Mod+Ctrl+1" [ (leaf "spawn" [tagctl "exclusive-tag" "1"]) ])
tagctl (plain "Mod+Ctrl+2" [ (leaf "spawn" [tagctl "exclusive-tag" "2"]) ])
"exclusive-tag" (plain "Mod+Ctrl+3" [ (leaf "spawn" [tagctl "exclusive-tag" "3"]) ])
"0" (plain "Mod+Ctrl+4" [ (leaf "spawn" [tagctl "exclusive-tag" "4"]) ])
]) (plain "Mod+Ctrl+5" [ (leaf "spawn" [tagctl "exclusive-tag" "5"]) ])
]) (plain "Mod+Ctrl+6" [ (leaf "spawn" [tagctl "exclusive-tag" "6"]) ])
(plain "Mod+Ctrl+1" [ (plain "Mod+Ctrl+7" [ (leaf "spawn" [tagctl "exclusive-tag" "7"]) ])
(leaf "spawn" [ (plain "Mod+Ctrl+8" [ (leaf "spawn" [tagctl "exclusive-tag" "8"]) ])
tagctl (plain "Mod+Ctrl+9" [ (leaf "spawn" [tagctl "exclusive-tag" "9"]) ])
"exclusive-tag"
"1"
])
])
(plain "Mod+Ctrl+2" [
(leaf "spawn" [
tagctl
"exclusive-tag"
"2"
])
])
(plain "Mod+Ctrl+3" [
(leaf "spawn" [
tagctl
"exclusive-tag"
"3"
])
])
(plain "Mod+Ctrl+4" [
(leaf "spawn" [
tagctl
"exclusive-tag"
"4"
])
])
(plain "Mod+Ctrl+5" [
(leaf "spawn" [
tagctl
"exclusive-tag"
"5"
])
])
(plain "Mod+Ctrl+6" [
(leaf "spawn" [
tagctl
"exclusive-tag"
"6"
])
])
(plain "Mod+Ctrl+7" [
(leaf "spawn" [
tagctl
"exclusive-tag"
"7"
])
])
(plain "Mod+Ctrl+8" [
(leaf "spawn" [
tagctl
"exclusive-tag"
"8"
])
])
(plain "Mod+Ctrl+9" [
(leaf "spawn" [
tagctl
"exclusive-tag"
"9"
])
])
(plain "Ctrl+Print" [ (flag "screenshot-screen") ]) (plain "Ctrl+Print" [ (flag "screenshot-screen") ])
(plain "Mod+Alt+L" [ (leaf "spawn" <| getExe pkgs.swaylock) ]) (plain "Mod+Alt+L" [ (leaf "spawn" <| getExe pkgs.swaylock) ])
(plain "Mod+B" [ (leaf "spawn" <| getExe zen-browser) ]) (plain "Mod+B" [ (leaf "spawn" <| getExe pkgs.brave) ])
(plain "Mod+BracketLeft" [ (flag "consume-or-expel-window-left") ]) (plain "Mod+BracketLeft" [ (flag "consume-or-expel-window-left") ])
(plain "Mod+BracketRight" [ (flag "consume-or-expel-window-right") ]) (plain "Mod+BracketRight" [ (flag "consume-or-expel-window-right") ])
(plain "Mod+C" [ (flag "center-column") ]) (plain "Mod+C" [ (flag "center-column") ])

View file

@ -14,7 +14,6 @@ let
inherit (lib) getFlakePkg'; inherit (lib) getFlakePkg';
niri-tag = inputs.niri-tag.packages.${builtins.currentSystem}.unstable; niri-tag = inputs.niri-tag.packages.${builtins.currentSystem}.unstable;
zen-browser = getFlakePkg' inputs.zen-browser-flake "beta";
tagctl = getExe' niri-tag "tagctl"; tagctl = getExe' niri-tag "tagctl";
cfg = config.modules.desktops.niri; cfg = config.modules.desktops.niri;
@ -58,7 +57,6 @@ let
lib lib
pkgs pkgs
tagctl tagctl
zen-browser
; ;
} }
); );

View file

@ -6,7 +6,7 @@
}: }:
let let
inherit (lib.modules) mkIf; inherit (lib.modules) mkIf;
inherit (lib.lists) singleton; inherit (lib.lists) optional;
in in
{ {
xdg.portal = { xdg.portal = {
@ -29,20 +29,15 @@ in
"gnome" "gnome"
"gtk" "gtk"
]; ];
"org.freedesktop.impl.portal.Access" = "gtk";
"org.freedesktop.impl.portal.Notification" = "gtk";
"org.freedesktop.impl.portal.Secret" = [ "org.freedesktop.impl.portal.Secret" = [
"gnome-keyring" "gnome-keyring"
]; ];
}; };
}; };
}; };
environment = {
# Needed for xdg-desktop-portal-gnome. environment.pathsToLink = [
systemPackages = singleton pkgs.nautilus; "/share/xdg-desktop-portal"
pathsToLink = [ "/share/applications"
"/share/xdg-desktop-portal" ];
"/share/applications"
];
};
} }