Niri + Stylix

This commit is contained in:
Christopher Mühl 2025-12-12 13:20:39 +01:00
parent be45864223
commit 6da818cbca
No known key found for this signature in database
GPG key ID: E919B0F59E14FD47
19 changed files with 547 additions and 89 deletions

345
flake.lock generated
View file

@ -93,6 +93,74 @@
"url": "https://codeberg.org/LGFae/awww" "url": "https://codeberg.org/LGFae/awww"
} }
}, },
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1755819240,
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1754405784,
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1760703920,
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1732806396,
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
"type": "github"
}
},
"darwin": { "darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -195,6 +263,22 @@
"type": "gitlab" "type": "gitlab"
} }
}, },
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1764724327,
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"locked": { "locked": {
"lastModified": 1751685974, "lastModified": 1751685974,
@ -311,6 +395,48 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1763759067,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_2"
@ -348,6 +474,22 @@
"type": "github" "type": "github"
} }
}, },
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1731966426,
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"git-hooks": { "git-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
@ -412,6 +554,25 @@
"type": "github" "type": "github"
} }
}, },
"gnome-shell": {
"flake": false,
"locked": {
"host": "gitlab.gnome.org",
"lastModified": 1764524476,
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
"type": "gitlab"
},
"original": {
"host": "gitlab.gnome.org",
"owner": "GNOME",
"ref": "gnome-49",
"repo": "gnome-shell",
"type": "gitlab"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -440,11 +601,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1760500983, "lastModified": 1765480374,
"narHash": "sha256-zfY4F4CpeUjTGgecIJZ+M7vFpwLc0Gm9epM/iMQd4w8=", "narHash": "sha256-HlbvQAqLx7WqZFFQZ8nu5UUJAVlXiV/kqKbyueA8srw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c53e65ec92f38d30e3c14f8d628ab55d462947aa", "rev": "39cb677ed9e908e90478aa9fe5f3383dfc1a63f3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -687,6 +848,52 @@
"type": "github" "type": "github"
} }
}, },
"nur": {
"inputs": {
"flake-parts": "flake-parts_3",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1765553384,
"narHash": "sha256-JQkYvV0eqwkAtdZToq0AYacaz+1gaEiMzpbJDLlypgk=",
"owner": "nix-community",
"repo": "NUR",
"rev": "41be230f93bb25c0d10e70d7c821e5e42fd32b1c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"nur_2": {
"inputs": {
"flake-parts": [
"stylix",
"flake-parts"
],
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1764773531,
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
"owner": "nix-community",
"repo": "NUR",
"rev": "1d9616689e98beded059ad0384b9951e967a17fa",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"on-linux": { "on-linux": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -765,8 +972,10 @@
"musnix": "musnix", "musnix": "musnix",
"niri": "niri", "niri": "niri",
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_7",
"nur": "nur",
"quadlet": "quadlet", "quadlet": "quadlet",
"snowfall": "snowfall", "snowfall": "snowfall",
"stylix": "stylix",
"unstable": "unstable" "unstable": "unstable"
} }
}, },
@ -813,6 +1022,40 @@
"type": "github" "type": "github"
} }
}, },
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_4",
"gnome-shell": "gnome-shell",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur_2",
"systems": "systems_3",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1765474444,
"narHash": "sha256-sDG+c73xEnIw1pFNRWffKDnTWiTuyZiEP+Iub0D3mWA=",
"owner": "nix-community",
"repo": "stylix",
"rev": "dd14de4432a94e93e10d0159f1d411487e435e1e",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "stylix",
"type": "github"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@ -843,6 +1086,102 @@
"type": "github" "type": "github"
} }
}, },
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
"lastModified": 1726913040,
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
}
},
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1735730497,
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1763914658,
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1764465359,
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1764464512,
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
},
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"

View file

@ -22,6 +22,7 @@
darwin = [ darwin = [
agenix.darwinModules.default agenix.darwinModules.default
agenix-rekey.nixosModules.default agenix-rekey.nixosModules.default
stylix.darwinModules.stylix
./modules/common ./modules/common
]; ];
}; };
@ -29,7 +30,9 @@
# Add modules only to specific hosts # Add modules only to specific hosts
systems.hosts = with inputs; { systems.hosts = with inputs; {
cobalt.modules = [ cobalt.modules = [
niri.nixosModules.niri
musnix.nixosModules.default musnix.nixosModules.default
stylix.nixosModules.stylix
]; ];
beryllium.modules = [ beryllium.modules = [
quadlet.nixosModules.quadlet quadlet.nixosModules.quadlet
@ -52,7 +55,10 @@
permittedInsecurePackages = []; permittedInsecurePackages = [];
}; };
overlays = with inputs; [niri.overlays.niri]; overlays = with inputs; [
niri.overlays.niri
nur.overlays.default
];
outputs-builder = channels: { outputs-builder = channels: {
formatter = channels.nixpkgs.alejandra; formatter = channels.nixpkgs.alejandra;
@ -97,10 +103,19 @@
agenix-rekey.url = "github:oddlama/agenix-rekey"; agenix-rekey.url = "github:oddlama/agenix-rekey";
agenix-rekey.inputs.nixpkgs.follows = "nixpkgs"; agenix-rekey.inputs.nixpkgs.follows = "nixpkgs";
stylix = {
url = "github:nix-community/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
affinity-nix.url = "github:mrshmllow/affinity-nix"; affinity-nix.url = "github:mrshmllow/affinity-nix";
quadlet.url = "github:SEIAROTg/quadlet-nix"; quadlet.url = "github:SEIAROTg/quadlet-nix";
musnix.url = "github:musnix/musnix"; musnix.url = "github:musnix/musnix";
niri.url = "github:sodiboo/niri-flake/9e59ee8"; niri.url = "github:sodiboo/niri-flake/9e59ee8";
awww.url = "git+https://codeberg.org/LGFae/awww"; awww.url = "git+https://codeberg.org/LGFae/awww";
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
} }

View file

@ -11,11 +11,11 @@
enable = true; enable = true;
iconTheme.name = "breeze-dark"; iconTheme.name = "breeze-dark";
cursorTheme = { # cursorTheme = {
name = "BreezeX-RosePineDawn-Linux"; # name = "BreezeX-RosePineDawn-Linux";
package = pkgs.rose-pine-cursor; # package = pkgs.rose-pine-cursor;
size = 32; # size = 32;
}; # };
gtk2.extraConfig = lib._elements.selfReferencedString {sep = "#";} '' gtk2.extraConfig = lib._elements.selfReferencedString {sep = "#";} ''
gtk-enable-animations = 1 gtk-enable-animations = 1
@ -26,11 +26,6 @@
gtk-sound-theme-name = "freedesktop" gtk-sound-theme-name = "freedesktop"
''; '';
font = {
name = "Noto Sans";
size = 10;
};
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1; gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1; gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
}; };

View file

@ -12,14 +12,17 @@
programs.git = { programs.git = {
enable = true; enable = true;
userName = "Christopher Mühl";
userEmail = "christopher@muehl.dev";
signing = { signing = {
signByDefault = true; signByDefault = true;
key = "E919B0F59E14FD47"; key = "E919B0F59E14FD47";
}; };
extraConfig = {
users.email = "padarom@users.noreply.github.com"; settings = {
user = {
name = "Christopher Mühl";
email = "hello@muehl.dev";
};
push = { push = {
default = "current"; default = "current";
autoSetupRemote = true; autoSetupRemote = true;

View file

@ -8,6 +8,7 @@
./ssh.nix ./ssh.nix
./gpg ./gpg
./niri ./niri
./stylix.nix
./misc/launcher.nix ./misc/launcher.nix
./misc/browser.nix ./misc/browser.nix
./misc/gaming.nix ./misc/gaming.nix
@ -42,7 +43,6 @@
spawn-term spawn-term
to-s3 to-s3
tofi-hg tofi-hg
open-url
generate-wallpaper generate-wallpaper
]; ];
}; };

View file

@ -1,19 +1,25 @@
{pkgs, ...}: { {pkgs, ...}: {
home.packages = with pkgs; [ programs.firefox = {
firefox
];
xdg.mimeApps = {
enable = true; enable = true;
defaultApplications = {
profiles."default" = {
id = 0;
};
profiles."work" = {
id = 1;
};
};
home.packages = [pkgs._elements.open-url];
xdg.mimeApps.enable = true;
xdg.mimeApps.defaultApplications = {
"x-scheme-handler/http" = "open-url.desktop"; "x-scheme-handler/http" = "open-url.desktop";
"x-scheme-handler/https" = "open-url.desktop"; "x-scheme-handler/https" = "open-url.desktop";
}; };
};
# profile-sync-daemon manages browser profiles in tmpfs
services.psd = { services.psd = {
# profile-sync-daemon
enable = false; enable = false;
# resyncTimer = "10m"; resyncTimer = "10m";
}; };
} }

View file

@ -3,15 +3,12 @@
lib, lib,
... ...
}: { }: {
home.packages = with pkgs; [ programs.tofi.enable = true;
fuzzel programs.fuzzel = {
];
programs.tofi = {
enable = true; enable = true;
settings = { #settings = ''
font = "JetBrains Mono"; #
}; #'';
}; };
# Clear the tofi cache after each activation so that newly installed packages # Clear the tofi cache after each activation so that newly installed packages

View file

@ -8,4 +8,21 @@
davinci-resolve davinci-resolve
ffmpeg ffmpeg
]; ];
programs.firefox.profiles."streaming" = {
id = 2;
settings = {};
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
kagi-search
kagi-privacy-pass
ublock-origin
# dark-reader
tree-style-tab
];
search = {
force = true;
default = "Kagi";
};
};
} }

View file

@ -4,8 +4,8 @@
... ...
}: { }: {
imports = [ imports = [
inputs.niri.homeModules.niri
./settings.nix ./settings.nix
./window-rules.nix
./keybinds.nix ./keybinds.nix
./autostart.nix ./autostart.nix
]; ];

View file

@ -5,8 +5,29 @@
... ...
}: let }: let
in { in {
programs.niri.settings.binds = with config.lib.niri.actions; let programs.niri.settings = {
in { binds = with config.lib.niri.actions; {
"Mod+q".action = close-window;
"Mod+t".action = spawn "${pkgs._elements.spawn-term}/bin/spawn-term";
"Mod+space".action = spawn "fuzzel";
"Mod+f".action = fullscreen-window; "Mod+f".action = fullscreen-window;
"Mod+WheelScrollDown".cooldown-ms = 150;
"Mod+WheelScrollDown".action = focus-workspace-down;
"Mod+WheelScrollUp".cooldown-ms = 150;
"Mod+WheelScrollUp".action = focus-workspace-up;
"Mod+WheelScrollRight".action = focus-column-right;
"Mod+WheelScrollLeft".action = focus-column-left;
"Mod+h".action = focus-column-left;
"Mod+j".action = focus-workspace-up;
"Mod+k".action = focus-workspace-down;
"Mod+l".action = focus-column-right;
"Mod+Ctrl+h".action = move-column-left;
"Mod+Ctrl+j".action = move-window-up;
"Mod+Ctrl+k".action = move-window-down;
"Mod+Ctrl+l".action = move-column-right;
};
}; };
} }

View file

@ -4,8 +4,6 @@
... ...
}: { }: {
programs.niri = { programs.niri = {
enable = true;
settings = { settings = {
prefer-no-csd = true; prefer-no-csd = true;
@ -21,6 +19,7 @@
window-rules = [ window-rules = [
{ {
opacity = 0.95;
clip-to-geometry = true; clip-to-geometry = true;
geometry-corner-radius = { geometry-corner-radius = {
bottom-left = 12.0; bottom-left = 12.0;
@ -31,6 +30,8 @@
} }
{ {
matches = [{is-focused = true;}]; matches = [{is-focused = true;}];
# opacity = 0.98;
focus-ring = { focus-ring = {
width = 2; width = 2;
}; };
@ -41,9 +42,19 @@
keyboard.xkb.layout = "en"; keyboard.xkb.layout = "en";
}; };
cursor = { outputs = {
size = 0; "DP-3" = {
theme = "Adwaita"; position.x = 3840;
position.y = -370;
transform = {
rotation = 90;
};
};
"HDMI-A-1" = {
position.x = 0;
position.y = 0;
focus-at-startup = true;
};
}; };
environment = { environment = {
@ -55,7 +66,6 @@
ELECTRON_OZONE_PLATFORM_HINT = "auto"; ELECTRON_OZONE_PLATFORM_HINT = "auto";
XDG_SESSION_TYPE = "wayland"; XDG_SESSION_TYPE = "wayland";
XDG_CURRENT_DESKTOP = "niri"; XDG_CURRENT_DESKTOP = "niri";
DISPLAY = ":0";
}; };
}; };
}; };

View file

@ -0,0 +1,40 @@
{
config,
pkgs,
...
}: let
borders = bl: br: tl: tr: {
bottom-left = bl;
bottom-right = br;
top-left = tl;
top-right = tr;
};
radius = 12.0;
rounded = borders radius radius radius radius;
rounded-left = borders radius 0.0 0.0 radius;
rounded-right = borders 0.0 radius radius 0.0;
in {
programs.niri.settings.window-rules = [
{
opacity = 0.95;
clip-to-geometry = true;
geometry-corner-radius = rounded-left;
}
{
matches = [
{is-focused = true;}
];
focus-ring.width = 2;
}
{
matches = [
{app-id = "1password";}
{app-id = "thunderbird";}
];
block-out-from = "screencast";
}
];
}

View file

@ -0,0 +1,29 @@
{
config,
inputs,
pkgs,
...
}: {
imports = [inputs.stylix.homeModules.stylix];
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine-dawn.yaml";
targets.firefox.profileNames = ["default" "work" "streaming"];
cursor = {
package = pkgs.rose-pine-cursor;
# name = "Rosé Pine Dawn";
name = "BreezeX-RosePineDawn-Linux";
size = 32;
};
fonts.sizes = {
applications = 12;
terminal = 13;
desktop = 10;
popups = 10;
};
};
}

View file

@ -1,6 +1,6 @@
{inputs, ...}: { {inputs, ...}: {
home-manager = { home-manager = {
useGlobalPkgs = true; # useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
backupFileExtension = "hm.bak"; backupFileExtension = "hm.bak";
}; };

View file

@ -1,29 +1,11 @@
{pkgs, ...}: let {pkgs, ...}: {
catppuccin = pkgs.stdenv.mkDerivation {
name = "catppuccin-helix-theme";
src = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "helix";
rev = "3b1b0b2446791812e4a76ba147223dd5f3d4319b";
sha256 = "7TJ1CDts0i3QPRWz/gvRpkXzh8wGGLW5cv9+Vg3K1zc=";
};
installPhase = ''
mkdir -p $out
cp -r ./themes/* $out
'';
};
in {
home.packages = [pkgs.helix]; home.packages = [pkgs.helix];
xdg.configFile."helix/themes/catppuccin".source = catppuccin;
programs.helix = { programs.helix = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
settings = { settings = {
theme = "rose_pine_dawn";
editor = { editor = {
rulers = [80]; rulers = [80];
shell = ["nu" "-c"]; shell = ["nu" "-c"];
@ -52,12 +34,12 @@ in {
} }
]; ];
themes = { # themes = {
catppuccin = { # catppuccin = {
inherits = "catppuccin/default/catppuccin_frappe"; # inherits = "catppuccin/default/catppuccin_frappe";
"ui.background" = {}; # "ui.background" = {};
# "ui.virtual.whitespace" = {style = "dim";}; # # "ui.virtual.whitespace" = {style = "dim";};
}; # };
}; # };
}; };
} }

View file

@ -20,7 +20,6 @@ in {
settings = { settings = {
window_padding_width = "5 10"; window_padding_width = "5 10";
font_family = "Monaspace Krypton";
paste_actions = "no-op"; paste_actions = "no-op";
}; };
@ -32,8 +31,6 @@ in {
shell ${pkgs.fish}/bin/fish shell ${pkgs.fish}/bin/fish
modify_font cell_height 7px modify_font cell_height 7px
''; '';
themeFile = "Rosé Pine Dawn";
}; };
xdg.configFile."kitty/open-actions.conf".text = '' xdg.configFile."kitty/open-actions.conf".text = ''

View file

@ -1,4 +1,5 @@
{ {
inputs,
pkgs, pkgs,
config, config,
lib, lib,
@ -23,9 +24,14 @@ in {
wayland-utils wayland-utils
wl-clipboard wl-clipboard
libsForQt5.qtstyleplugin-kvantum libsForQt5.qtstyleplugin-kvantum
# xwayland-satellite xwayland-satellite
]; ];
programs.niri = {
enable = true;
package = pkgs.niri;
};
services.xserver = { services.xserver = {
enable = true; enable = true;
}; };
@ -35,15 +41,15 @@ in {
defaultSession = "plasma"; defaultSession = "plasma";
# SDDM is broken # SDDM is broken
gdm = { # gdm = {
enable = true;
wayland = true;
};
# sddm = {
# enable = true; # enable = true;
# wayland.enable = true; # wayland = true;
# }; # };
sddm = {
enable = true;
wayland.enable = true;
};
}; };
# xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk]; # xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk];

View file

@ -6,20 +6,20 @@ open_browser() {
} }
# Go up the parent chain of this process to determine if the link was clicked on # Go up the parent chain of this process to determine if the link was clicked on
# in Slack. If so, open the `Work` profile in the browser. # in Slack. If so, open the `work` profile in the browser.
parent=$PPID parent=$PPID
while [ "$parent" -ne 1 ]; do while [ "$parent" -ne 1 ]; do
cmd=$(ps -o comm= -p "$parent") cmd=$(ps -o comm= -p "$parent")
if [[ "$cmd" == "slack" ]]; then if [[ "$cmd" == "slack" ]]; then
open_browser "Work" "$@" open_browser "work" "$@"
exit 0 exit 0
fi fi
parent=$(ps -o ppid= -p "$parent" | tail -n 1 | awk '{print $1}') parent=$(ps -o ppid= -p "$parent" | tail -n 1 | awk '{print $1}')
done done
if [[ ${1:-} == "https://github.com/hausgold"* ]]; then if [[ ${1:-} == "https://github.com/hausgold"* ]]; then
# Also use the `Work` profile for hausgold Github links # Also use the `work` profile for hausgold Github links
open_browser "Work" "$@" open_browser "work" "$@"
else else
# Otherwise just use the default profile # Otherwise just use the default profile
open_browser "default" "$@" open_browser "default" "$@"

View file

@ -240,6 +240,7 @@ with lib._elements; {
obs-vaapi obs-vaapi
obs-pipewire-audio-capture obs-pipewire-audio-capture
obs-backgroundremoval obs-backgroundremoval
obs-move-transition
droidcam-obs droidcam-obs
]; ];
}; };