This commit is contained in:
Lucy Hochkamp 2025-04-11 15:34:25 +02:00
parent 44307a3f6f
commit b69b80c93f
No known key found for this signature in database
13 changed files with 237 additions and 123 deletions

202
flake.lock generated
View file

@ -15,6 +15,27 @@
"type": "github" "type": "github"
} }
}, },
"csharp-language-server": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs-master"
]
},
"locked": {
"lastModified": 1743998459,
"narHash": "sha256-/GCbTBG+oVzj4WlAXIXOdrN2IZaWqtbrZ3hGzIIf4eo=",
"owner": "sofusa",
"repo": "csharp-language-server",
"rev": "9f92214e73e01707bdf91f33c696368ecd739dab",
"type": "github"
},
"original": {
"owner": "sofusa",
"repo": "csharp-language-server",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -75,11 +96,29 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1726560853, "lastModified": 1731533236,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -125,6 +164,28 @@
"type": "github" "type": "github"
} }
}, },
"helix": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"nixpkgs-master"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1743577054,
"narHash": "sha256-6dgyOlYg5eKSYfdOgbX3xqZhCfPlUir9UrkgIQa6KpA=",
"owner": "sofusa",
"repo": "helix-pull-diagnostics",
"rev": "f32f5fddbac6767a5ad29207ea727fa4c716103f",
"type": "github"
},
"original": {
"owner": "sofusa",
"repo": "helix-pull-diagnostics",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -132,11 +193,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742655702, "lastModified": 1744117652,
"narHash": "sha256-jbqlw4sPArFtNtA1s3kLg7/A4fzP4GLk9bGbtUJg0JQ=", "narHash": "sha256-t7dFCDl4vIOOUMhEZnJF15aAzkpaup9x4ZRGToDFYWI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "0948aeedc296f964140d9429223c7e4a0702a1ff", "rev": "b4e98224ad1336751a2ac7493967a4c9f6d9cb3f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -146,25 +207,24 @@
"type": "github" "type": "github"
} }
}, },
"iamb": { "home-manager_2": {
"inputs": { "inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [ "nixpkgs": [
"nixpkgs-master" "zen-browser",
], "nixpkgs"
"rust-overlay": "rust-overlay" ]
}, },
"locked": { "locked": {
"lastModified": 1740367006, "lastModified": 1743604125,
"narHash": "sha256-TgkKx7NCxEXR7I6AY5CJ4fNC6BEXizJs1nt6zuik9E0=", "narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
"owner": "ulyssa", "owner": "nix-community",
"repo": "iamb", "repo": "home-manager",
"rev": "b023e38f772f167f9c3a9e7d6dc105b2bc784a8e", "rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "ulyssa", "owner": "nix-community",
"repo": "iamb", "repo": "home-manager",
"type": "github" "type": "github"
} }
}, },
@ -220,20 +280,20 @@
"lix": { "lix": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1729298361, "lastModified": 1737234286,
"narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=", "narHash": "sha256-pgDJZjj4jpzkFxsqBTI/9Yb0n3gW+DvDtuv9SwQZZcs=",
"rev": "ad9d06f7838a25beec425ff406fe68721fef73be", "rev": "079528098f5998ba13c88821a2eca1005c1695de",
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be" "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/079528098f5998ba13c88821a2eca1005c1695de.tar.gz?rev=079528098f5998ba13c88821a2eca1005c1695de"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz" "url": "https://git.lix.systems/lix-project/lix/archive/release-2.92.tar.gz"
} }
}, },
"lix-module": { "lix-module": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_3",
"flakey-profile": "flakey-profile", "flakey-profile": "flakey-profile",
"lix": "lix", "lix": "lix",
"nixpkgs": [ "nixpkgs": [
@ -241,15 +301,15 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1732605668, "lastModified": 1742943028,
"narHash": "sha256-DN5/166jhiiAW0Uw6nueXaGTueVxhfZISAkoxasmz/g=", "narHash": "sha256-fprwZKE1uMzO9tiWWOrmLWBW3GPkMayQfb0xOvVFIno=",
"rev": "f19bd752910bbe3a861c9cad269bd078689d50fe", "rev": "868d97695bab9d21f6070b03957bcace249fbe3c",
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/f19bd752910bbe3a861c9cad269bd078689d50fe.tar.gz?rev=f19bd752910bbe3a861c9cad269bd078689d50fe" "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/868d97695bab9d21f6070b03957bcace249fbe3c.tar.gz?rev=868d97695bab9d21f6070b03957bcace249fbe3c"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz" "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz"
} }
}, },
"nix-flatpak": { "nix-flatpak": {
@ -270,11 +330,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1742631601, "lastModified": 1744366945,
"narHash": "sha256-yJ3OOAmsGAxSl0bTmKUp3+cEYtSS+V6hUPK2rYhIPr8=", "narHash": "sha256-OuLhysErPHl53BBifhesrRumJNhrlSgQDfYOTXfgIMg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "380ed15bcd6440606c6856db44a99140d422b46f", "rev": "1fe3cc2bc5d2dc9c81cb4e63d2f67c1543340df1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -286,27 +346,27 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1736320768, "lastModified": 1744168086,
"narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", "narHash": "sha256-S9M4HddBCxbbX1CKSyDYgZ8NCVyHcbKnBfoUXeRu2jQ=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", "rev": "60e405b241edb6f0573f3d9f944617fe33ac4a73",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixpkgs-unstable", "ref": "nixos-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-master": { "nixpkgs-master": {
"locked": { "locked": {
"lastModified": 1742738698, "lastModified": 1744378394,
"narHash": "sha256-KCtAXWwQs03JmEhP4ss59QVzT+rHZkhQO85KjNy8Crc=", "narHash": "sha256-pefnMwJsrpyJcJ27g++y7xQBFPm/QKnY6NiCaOsvDH4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f3a2a0601e9669a6e38af25b46ce6c4563bcb6da", "rev": "2ae2efad112e0a57dbe6b27ef00291e3b38e5cca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -332,22 +392,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1742512142,
"narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "7105ae3957700a9646cc4b766f5815b23ed0c682",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks-nix": { "pre-commit-hooks-nix": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [
@ -382,11 +426,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1743126528, "lastModified": 1743361017,
"narHash": "sha256-4fkwPgP7HatDWC2wntWnWekgkC7G6tNMtbUQKmNKFy4=", "narHash": "sha256-RELV9YxfhwjuN4edtVmpupVvHUiWu/KuF4mqzU+neYE=",
"owner": "SEIAROTg", "owner": "SEIAROTg",
"repo": "quadlet-nix", "repo": "quadlet-nix",
"rev": "e58deae6ca4cc331139360fbec53a6245aeb8a5c", "rev": "971479231c7dd2433954dd26c240e1bdc5bd9849",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -397,14 +441,15 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"csharp-language-server": "csharp-language-server",
"helix": "helix",
"home-manager": "home-manager", "home-manager": "home-manager",
"iamb": "iamb",
"kmonad": "kmonad", "kmonad": "kmonad",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"lix-module": "lix-module", "lix-module": "lix-module",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs",
"nixpkgs-master": "nixpkgs-master", "nixpkgs-master": "nixpkgs-master",
"quadlet": "quadlet", "quadlet": "quadlet",
"zen-browser": "zen-browser" "zen-browser": "zen-browser"
@ -412,14 +457,17 @@
}, },
"rust-overlay": { "rust-overlay": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": [
"helix",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1743302122, "lastModified": 1740623427,
"narHash": "sha256-VWyaUfBY49kjN29N140INa9LEW0YIgAr+OEJRdbKfnQ=", "narHash": "sha256-3SdPQrZoa4odlScFDUHd4CUPQ/R1gtH4Mq9u8CBiK8M=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "15c2a7930e04efc87be3ebf1b5d06232e635e24b", "rev": "d342e8b5fd88421ff982f383c853f0fc78a847ab",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -479,18 +527,34 @@
"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"
}
},
"zen-browser": { "zen-browser": {
"inputs": { "inputs": {
"home-manager": "home-manager_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs-master" "nixpkgs-master"
] ]
}, },
"locked": { "locked": {
"lastModified": 1742736106, "lastModified": 1744345419,
"narHash": "sha256-wzdYoYASPlITYBiw2xDyE56DnOcLNsO6QHRGUDj6kq4=", "narHash": "sha256-wLozT8CpHvu04t0LKxJ9fzKAZ8AULpC7XfgIOLgtUbM=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "7c3008fcc5a436c885d3faaf6d058afc41ae3762", "rev": "ec5c1df02b5d7806dcfa89191e671ebdf00ee6b5",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -11,7 +11,6 @@
quadlet.url = "github:SEIAROTg/quadlet-nix"; quadlet.url = "github:SEIAROTg/quadlet-nix";
quadlet.inputs.nixpkgs.follows = "nixpkgs"; quadlet.inputs.nixpkgs.follows = "nixpkgs";
# software # software
lanzaboote = { lanzaboote = {
url = "github:nix-community/lanzaboote/v0.4.2"; url = "github:nix-community/lanzaboote/v0.4.2";
@ -20,18 +19,23 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
lix-module = { lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz"; url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
zen-browser.url = "github:0xc000022070/zen-browser-flake"; zen-browser.url = "github:0xc000022070/zen-browser-flake";
zen-browser.inputs.nixpkgs.follows = "nixpkgs-master"; zen-browser.inputs.nixpkgs.follows = "nixpkgs-master";
iamb.url = "github:ulyssa/iamb";
iamb.inputs.nixpkgs.follows = "nixpkgs-master";
kmonad = { kmonad = {
url = "git+https://github.com/jokesper/kmonad?dir=nix&ref=feat-tap-overlap"; url = "git+https://github.com/jokesper/kmonad?dir=nix&ref=feat-tap-overlap";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# helix
helix.url = "github:sofusa/helix-pull-diagnostics";
helix.inputs.nixpkgs.follows = "nixpkgs-master";
csharp-language-server.url = "github:sofusa/csharp-language-server";
csharp-language-server.inputs.nixpkgs.follows = "nixpkgs-master";
}; };
outputs = outputs =

View file

@ -23,6 +23,10 @@ in
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1; gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1; gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
}; };
qt = {
enable = true;
style.name = "breeze";
};
}; };
} }

View file

@ -19,11 +19,11 @@ in
## python ## python
ruff-lsp ruff-lsp
# nodePackages_latest.pyright # nodePackages_latest.pyright
# inputs.roslyn-language-server.packages.${pkgs.system}.roslyn-language-server inputs.csharp-language-server.packages.${pkgs.system}.csharp-language-server
netcoredbg netcoredbg
]; ];
programs.helix = { programs.helix = {
# package = inputs.helix.packages.${pkgs.system}.default; package = inputs.helix.packages.${pkgs.system}.default;
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
settings = { settings = {
@ -113,8 +113,8 @@ in
command = "ruff-lsp"; command = "ruff-lsp";
config.settings.args = [ "--ignore" "E501" ]; config.settings.args = [ "--ignore" "E501" ];
}; };
language-server.roslyn = { language-server.csharp = {
command = "roslyn-language-server"; command = "csharp-language-server";
}; };
language = lib.flatten [ language = lib.flatten [
(map (map
@ -134,7 +134,7 @@ in
} }
{ {
name = "c-sharp"; name = "c-sharp";
language-servers = [ "roslyn" ]; language-servers = [ "csharp" ];
formatter = { command = "dotnet"; args = [ "csharpier" ]; }; formatter = { command = "dotnet"; args = [ "csharpier" ]; };
} }

View file

@ -12,6 +12,7 @@
{ ... }: { ... }:
{ {
xyno.git.enable = true; xyno.git.enable = true;
xyno.borgmatic.enable = true;
home.packages = [ home.packages = [
# work # work
pkgs.jetbrains.rider pkgs.jetbrains.rider
@ -39,11 +40,13 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
aerc aerc
jabref jabref
inputs.iamb.packages.${pkgs.system}.default glib # rider wants gsettings
(pkgs.writeShellScriptBin "sudo" "run0 $@") (pkgs.writeShellScriptBin "sudo" "run0 $@")
]; ];
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";
networking.firewall.allowedTCPPorts = [ 1880 2021 ];
networking.firewall.allowedUDPPorts = [ 1880 2021 ];
services.tailscale.enable = true; services.tailscale.enable = true;
services.tailscale.useRoutingFeatures = "client"; services.tailscale.useRoutingFeatures = "client";

View file

@ -22,6 +22,7 @@ in
# systemd.user.services.foot.wantedBy = lib.mkForce [ cfg.wantedBy ]; # systemd.user.services.foot.wantedBy = lib.mkForce [ cfg.wantedBy ];
# systemd.user.sockets.foot.wantedBy = lib.mkForce [ cfg.wantedBy ]; # systemd.user.sockets.foot.wantedBy = lib.mkForce [ cfg.wantedBy ];
systemd.packages = [ cfg.package ]; systemd.packages = [ cfg.package ];
xyno.desktop.niri.term = lib.mkDefault "footclient";
programs.foot = { programs.foot = {
enable = true; enable = true;
package = cfg.package; package = cfg.package;

View file

@ -0,0 +1,49 @@
{
pkgs,
config,
lib,
...
}:
let
cfg = config.xyno.desktop.fuzzel;
in
{
options.xyno.desktop.fuzzel.enable = lib.mkEnableOption "enable fuzzel launcher";
options.xyno.desktop.fuzzel.wantedBy = lib.mkOption {
type = lib.types.str;
default = "niri.service";
};
options.xyno.desktop.fuzzel.package = lib.mkOption {
type = lib.types.package;
default = pkgs.fuzzel;
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
xyno.desktop.niri.launcher = lib.mkDefault "fuzzel";
environment.etc."xdg/fuzzel/fuzzel.ini".text = ''
font=JetBrains Mono Nerd Font:size=10
dpi-aware=yes
# prompt=>
icon-theme=hicolor
icons-enabled=yes
match-mode=fuzzy
launch-prefix=systemd-run --user --scope
width=80
horizontal-pad=10
vertical-pad=10
inner-pad=10
line-height=18
[colors]
background=000000AA
text=efefefef
match=fabd2fff
selection-match=fabd2fff
selection=666666ff
selection-text=efefefef
border=33eeffee
[border]
width=2
radius=3
'';
};
}

View file

@ -25,6 +25,7 @@ in
default = pkgs.mako; default = pkgs.mako;
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package pkgs.libnotify ];
systemd.user.services.mako = { systemd.user.services.mako = {
unitConfig.PartOf = "graphical-session.target"; unitConfig.PartOf = "graphical-session.target";
unitConfig.After = "graphical-session.target"; unitConfig.After = "graphical-session.target";

View file

@ -24,14 +24,17 @@ let
in in
{ {
options.xyno.desktop.niri.enable = lib.mkEnableOption "enable the niri desktop with xynos config"; options.xyno.desktop.niri.enable = lib.mkEnableOption "enable the niri desktop with xynos config";
options.xyno.desktop.niri.launcher = lib.mkOption { type = lib.types.str; };
options.xyno.desktop.niri.term = lib.mkOption { type = lib.types.str; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
xyno.desktop = { xyno.desktop = {
waybar.enable = lib.mkDefault true; foot.enable = lib.mkDefault true;
fuzzel.enable = lib.mkDefault true;
mako.enable = lib.mkDefault true; mako.enable = lib.mkDefault true;
shikane.enable = lib.mkDefault true; shikane.enable = lib.mkDefault true;
swayidle.enable = lib.mkDefault true; swayidle.enable = lib.mkDefault true;
waybar.enable = lib.mkDefault true;
wpaperd.enable = lib.mkDefault true; wpaperd.enable = lib.mkDefault true;
foot.enable = lib.mkDefault true;
}; };
home-manager.users.${config.xyno.system.user.name} = home-manager.users.${config.xyno.system.user.name} =
lib.mkIf config.xyno.presets.home-manager.enable lib.mkIf config.xyno.presets.home-manager.enable
@ -47,35 +50,6 @@ in
# wlr.enable = true; # wlr.enable = true;
# }; # };
programs.niri.enable = true; programs.niri.enable = true;
environment.systemPackages = with pkgs; [
fuzzel
libnotify
];
environment.etc."xdg/fuzzel/fuzzel.ini".text = ''
font=JetBrains Mono Nerd Font:size=10
dpi-aware=yes
# prompt=>
icon-theme=hicolor
icons-enabled=yes
match-mode=fuzzy
launch-prefix=systemd-run --user --scope
width=80
horizontal-pad=10
vertical-pad=10
inner-pad=10
line-height=18
[colors]
background=000000AA
text=efefefef
match=fabd2fff
selection-match=fabd2fff
selection=666666ff
selection-text=efefefef
border=33eeffee
[border]
width=2
radius=3
'';
environment.etc."niri/config.kdl".mode = "444"; # copy file so niri detects changes environment.etc."niri/config.kdl".mode = "444"; # copy file so niri detects changes
environment.etc."niri/config.kdl".text = '' environment.etc."niri/config.kdl".text = ''
// xwayland // xwayland
@ -85,10 +59,10 @@ in
} }
// keybinds // keybinds
binds { binds {
Mod+D { spawn "fuzzel"; } Mod+D { spawn "${cfg.launcher}"; }
Mod+Alt+L { spawn "lock"; } Mod+Alt+L { spawn "lock"; }
Mod+T { spawn "footclient"; } Mod+T { spawn "${cfg.term}"; }
Mod+Y { spawn "footclient yazi"; } Mod+Y { spawn "${cfg.term} yazi"; }
Mod+P { spawn "keepassxc"; } Mod+P { spawn "keepassxc"; }
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; } XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; } XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
@ -375,7 +349,7 @@ in
// Place steam notifications in the bottom right // Place steam notifications in the bottom right
window-rule { window-rule {
match app-id="steam" title="^notificationtoasts_[\\d]+_desktop$" match app-id="steam" title="^notificationtoasts_[\\d]+_desktop$"
default-floating-position x=o y=o relative-to="bottom-right" default-floating-position x=0 y=0 relative-to="bottom-right"
} }
input { input {

View file

@ -424,7 +424,7 @@ in
}; };
options.xyno.desktop.waybar.package = lib.mkOption { options.xyno.desktop.waybar.package = lib.mkOption {
type = lib.types.package; type = lib.types.package;
default = pkgs.unstable.waybar; default = pkgs.unstable.waybar.override { hyprlandSupport = false; }; # we don't use it and hyprland seems to not build on current master
}; };
options.xyno.desktop.waybar.mode = lib.mkOption { options.xyno.desktop.waybar.mode = lib.mkOption {
type = lib.types.str; type = lib.types.str;

View file

@ -5,6 +5,7 @@
./desktop/common-programs.nix ./desktop/common-programs.nix
./desktop/fcitx5.nix ./desktop/fcitx5.nix
./desktop/foot.nix ./desktop/foot.nix
./desktop/fuzzel.nix
./desktop/mako.nix ./desktop/mako.nix
./desktop/mate-polkit.nix ./desktop/mate-polkit.nix
./desktop/niri.nix ./desktop/niri.nix

View file

@ -16,6 +16,14 @@ in
security.sudo.enable = false; security.sudo.enable = false;
nix.settings = { nix.settings = {
substituters = [
"https://cache.lix.systems"
"https://helix.cachix.org"
];
trusted-public-keys = [
"cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
"helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
];
trusted-users = lib.mkDefault [ trusted-users = lib.mkDefault [
"root" "root"
"@wheel" "@wheel"
@ -62,6 +70,7 @@ in
ripgrep ripgrep
pv pv
yt-dlp yt-dlp
moar
helix helix
lm_sensors lm_sensors
dig dig
@ -70,9 +79,10 @@ in
programs.mosh.enable = true; programs.mosh.enable = true;
environment.variables.EDITOR = "hx"; environment.variables.EDITOR = "hx";
environment.variables.VISUAL = "hx"; environment.variables.VISUAL = "hx";
environment.variables.PAGER= "moar";
environment.shellAliases = { environment.shellAliases = {
l = "ls -al"; l = "ls -alh";
n = "yazi"; n = "yazi";
gc = "git commit -v"; gc = "git commit -v";
gpl = "git pull"; gpl = "git pull";

View file

@ -51,18 +51,22 @@ in
services.gnome.gnome-settings-daemon.enable = true; services.gnome.gnome-settings-daemon.enable = true;
services.gvfs.enable = true; services.gvfs.enable = true;
xdg.terminal-exec = {
enable = true;
settings.default = [ "foot.desktop" ];
};
environment.sessionVariables.GTK_USE_PORTAL = "1";
home-manager.users.${config.xyno.system.user.name} = home-manager.users.${config.xyno.system.user.name} =
{ pkgs, ... }: { pkgs, ... }:
{ {
xdg.desktopEntries.nemo = {
name = "Nemo";
exec = "${pkgs.nemo-with-extensions}/bin/nemo";
};
xdg.mimeApps = { xdg.mimeApps = {
enable = true; enable = true;
defaultApplications = { defaultApplications = {
"inode/directory" = [ "nemo.desktop" ]; "x-scheme-handler/mailto" = [ "aerc.desktop" ];
"application/x-gnome-saved-search" = [ "nemo.desktop" ]; "inode/directory" = [ "org.gnome.Nautilus.desktop" ];
"application/x-gnome-saved-search" = [ "org.gnome.Nautilus.desktop" ];
"x-scheme-handler/http" = "userapp-Zen-D2P132.desktop"; "x-scheme-handler/http" = "userapp-Zen-D2P132.desktop";
"x-scheme-handler/https" = "userapp-Zen-D2P132.desktop"; "x-scheme-handler/https" = "userapp-Zen-D2P132.desktop";
"x-scheme-handler/chrome" = "userapp-Zen-D2P132.desktop"; "x-scheme-handler/chrome" = "userapp-Zen-D2P132.desktop";
@ -80,7 +84,6 @@ in
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nemo-with-extensions
kdePackages.breeze-gtk kdePackages.breeze-gtk
kdePackages.breeze.qt5 kdePackages.breeze.qt5
kdePackages.breeze kdePackages.breeze