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

Compare commits

..

13 commits

Author SHA1 Message Date
faukah
7beacf4145 qt: add packages 2025-09-04 20:26:49 +02:00
faukah
7815294725 README: add atagen 2025-09-04 20:26:26 +02:00
faukah
54bb0e6491 niri: config updates 2025-09-04 20:26:14 +02:00
faukah
a5de66118a niri: get zen-browser package 2025-09-04 20:26:03 +02:00
faukah
96ff4762e9 portal: switch to xdp-gnome 2025-09-04 20:25:44 +02:00
faukah
3775dd8af6 xdg: updates 2025-09-04 20:25:35 +02:00
faukah
ad0dadae8f packages: add radicle-{node, tui} 2025-09-04 19:36:53 +02:00
faukah
8993edf334 nix-index: comments 2025-09-04 19:36:42 +02:00
faukah
5932d953dc graphics: enable conditionally 2025-09-04 19:36:33 +02:00
faukah
dbe607dcb9 hermit: enable dgpu again 2025-09-04 19:36:23 +02:00
faukah
8935c11891 hermit: configuration: updates 2025-09-04 19:36:15 +02:00
faukah
7739a21988 top-level: remove brave 2025-09-04 13:48:44 +02:00
faukah
c6ed725fcc jj: fix diff-editor 2025-09-04 13:47:45 +02:00
14 changed files with 295 additions and 89 deletions

View file

@ -12,11 +12,13 @@ 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) [fufexan](https://github.com/fufexan) - [diniamo](https://github.com/diniamo/niqs)
[lokasku](https://github.com/lokasku/nix-config) - [fufexan](https://github.com/fufexan)
[NotAShelf](https://github.com/notashelf/nyx) - [lokasku](https://github.com/lokasku/nix-config)
[viperML](https://github.com/viperml/dotfiles) - [NotAShelf](https://github.com/notashelf/nyx)
- [viperML](https://github.com/viperml/dotfiles)
- [atagen](https://git.atagen.co/atagen/nix)

View file

@ -10,10 +10,8 @@
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 = { services.fstrim.enable = lib.mkDefault true;
fstrim.enable = lib.mkDefault true;
thermald.enable = true;
};
programs = { programs = {
nix-ld.enable = false; nix-ld.enable = false;
gnupg.agent = { gnupg.agent = {
@ -22,6 +20,12 @@
}; };
}; };
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;
@ -39,7 +43,6 @@
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;
}; };
@ -52,9 +55,7 @@
}; };
}; };
programs = { programs = {
editors = { editors.helix.enable = true;
helix.enable = true;
};
steam.enable = true; steam.enable = true;
}; };
sound.enable = true; sound.enable = true;
@ -65,14 +66,12 @@
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,19 +40,20 @@
''; '';
}; };
services.udev.extraRules = '' # Not setting these udev rules seems to improve Zed's performance by a bit.
# Remove NVIDIA USB xHCI Host Controller devices, if present # services.udev.extraRules = ''
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{power/control}="auto", ATTR{remove}="1" # # 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"
# 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,7 +9,6 @@
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 = "Librewolf.desktop"; primary_browser = "zen-beta.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 = "foot.desktop"; terminal = "com.mitchellh.ghostty";
pdf_viewer = "zathura.desktop"; pdf_viewer = "zathura.desktop";
in in
{ {
@ -28,6 +28,14 @@ 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,6 +108,8 @@ in
ty ty
python3 python3
comma comma
radicle-tui
radicle-node
] ]
++ [ ++ [
nil nil

View file

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

View file

@ -41,5 +41,11 @@ 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,6 +8,8 @@ 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
{ {
@ -17,11 +19,14 @@ in
}; };
amd.enable = mkEnableOption "AMD graphics drivers"; amd.enable = mkEnableOption "AMD graphics drivers";
}; };
config = { config = mkIf isGraphical {
hardware = { hardware = {
graphics = { graphics = {
enable = true; enable = true;
extraPackages = [ pkgs.nvidia-vaapi-driver ]; extraPackages = [
pkgs.nvidia-vaapi-driver
pkgs.intel-media-driver
];
}; };
nvidia = mkIf cfg.nvidia.enable { nvidia = mkIf cfg.nvidia.enable {
@ -30,13 +35,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,7 +112,6 @@ in
]) ])
(leaf "background-color" "transparent") (leaf "background-color" "transparent")
]) ])
(leaf "spawn-at-startup" "waybar")
(plain "environment" [ (plain "environment" [
(leaf "DISPLAY" ":0") (leaf "DISPLAY" ":0")
]) ])
@ -224,23 +223,81 @@ 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" [ (leaf "spawn-sh" [
(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" [ (leaf "spawn" [tagctl "toggle-tag" "0"]) ]) (plain "Mod+0" [
(plain "Mod+1" [ (leaf "spawn" [tagctl "toggle-tag" "1"]) ]) (leaf "spawn" [
(plain "Mod+2" [ (leaf "spawn" [tagctl "toggle-tag" "2"]) ]) tagctl
(plain "Mod+3" [ (leaf "spawn" [tagctl "toggle-tag" "3"]) ]) "toggle-tag"
(plain "Mod+4" [ (leaf "spawn" [tagctl "toggle-tag" "4"]) ]) "0"
(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+1" [
(plain "Mod+8" [ (leaf "spawn" [tagctl "toggle-tag" "8"]) ]) (leaf "spawn" [
(plain "Mod+9" [ (leaf "spawn" [tagctl "toggle-tag" "9"]) ]) tagctl
"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) ])
@ -252,17 +309,77 @@ 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" [ (leaf "spawn" [tagctl "toggle" "0"]) ]) (plain "Mod+Shift+0" [
(plain "Mod+Shift+1" [ (leaf "spawn" [tagctl "toggle" "1"]) ]) (leaf "spawn" [
(plain "Mod+Shift+2" [ (leaf "spawn" [tagctl "toggle" "2"]) ]) tagctl
(plain "Mod+Shift+3" [ (leaf "spawn" [tagctl "toggle" "3"]) ]) "toggle"
(plain "Mod+Shift+4" [ (leaf "spawn" [tagctl "toggle" "4"]) ]) "0"
(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+1" [
(plain "Mod+Shift+8" [ (leaf "spawn" [tagctl "toggle" "8"]) ]) (leaf "spawn" [
(plain "Mod+Shift+9" [ (leaf "spawn" [tagctl "toggle" "9"]) ]) tagctl
"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) ])
@ -275,20 +392,80 @@ 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" [ (leaf "spawn" [tagctl "exclusive-tag" "0"]) ]) (plain "Mod+Ctrl+0" [
(plain "Mod+Ctrl+1" [ (leaf "spawn" [tagctl "exclusive-tag" "1"]) ]) (leaf "spawn" [
(plain "Mod+Ctrl+2" [ (leaf "spawn" [tagctl "exclusive-tag" "2"]) ]) tagctl
(plain "Mod+Ctrl+3" [ (leaf "spawn" [tagctl "exclusive-tag" "3"]) ]) "exclusive-tag"
(plain "Mod+Ctrl+4" [ (leaf "spawn" [tagctl "exclusive-tag" "4"]) ]) "0"
(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+1" [
(plain "Mod+Ctrl+8" [ (leaf "spawn" [tagctl "exclusive-tag" "8"]) ]) (leaf "spawn" [
(plain "Mod+Ctrl+9" [ (leaf "spawn" [tagctl "exclusive-tag" "9"]) ]) tagctl
"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 pkgs.brave) ]) (plain "Mod+B" [ (leaf "spawn" <| getExe zen-browser) ])
(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,6 +14,7 @@ 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;
@ -57,6 +58,7 @@ 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) optional; inherit (lib.lists) singleton;
in in
{ {
xdg.portal = { xdg.portal = {
@ -29,15 +29,20 @@ 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 = {
environment.pathsToLink = [ # Needed for xdg-desktop-portal-gnome.
"/share/xdg-desktop-portal" systemPackages = singleton pkgs.nautilus;
"/share/applications" pathsToLink = [
]; "/share/xdg-desktop-portal"
"/share/applications"
];
};
} }