merge conflict

This commit is contained in:
Lilith 2025-03-18 18:18:29 +01:00
commit a32cde45c1
Signed by: lilith
GPG key ID: 8712A0F317C37175
24 changed files with 976 additions and 177 deletions

531
flake.lock generated
View file

@ -3,27 +3,6 @@
"ags": {
"inputs": {
"astal": "astal",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1738087375,
"narHash": "sha256-GLyNtU9A2VN22jNRHZ2OXuFfTJLh8uEVVt+ftsKUX0c=",
"owner": "aylur",
"repo": "ags",
"rev": "a6a7a0adb17740f4c34a59902701870d46fbb6a4",
"type": "github"
},
"original": {
"owner": "aylur",
"repo": "ags",
"type": "github"
}
},
"ags_2": {
"inputs": {
"astal": "astal_2",
"nixpkgs": [
"hyprpanel",
"nixpkgs"
@ -43,28 +22,40 @@
"type": "github"
}
},
"astal": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"ags",
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1737670815,
"narHash": "sha256-ZCxxshGN7XooabArcoGkYSNx5yVunqjKJi2aTv6cznI=",
"owner": "aylur",
"repo": "astal",
"rev": "127e9cdcbf173846a3c40ddc0abfbb038df48042",
"lastModified": 1742213273,
"narHash": "sha256-0l0vDb4anfsBu1rOs94bC73Hub+xEivgBAo6QXl2MmU=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "484b732195cc53f4536ce4bd59a5c6402b1e7ccf",
"type": "github"
},
"original": {
"owner": "aylur",
"repo": "astal",
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"astal_2": {
"astal": {
"inputs": {
"nixpkgs": [
"hyprpanel",
@ -170,6 +161,22 @@
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
@ -246,7 +253,7 @@
"stylix",
"flake-compat"
],
"gitignore": "gitignore",
"gitignore": "gitignore_2",
"nixpkgs": [
"stylix",
"nixpkgs"
@ -267,6 +274,28 @@
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_2": {
"inputs": {
"nixpkgs": [
"stylix",
@ -312,11 +341,11 @@
]
},
"locked": {
"lastModified": 1741955947,
"narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=",
"lastModified": 1742238842,
"narHash": "sha256-Z79yUJi+UGSpRC90NbHyuvBjGLkgEtlZaJ8DtzaGkzE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4",
"rev": "5a6e5a59a4d332edaa7d5d1604eb58ead27af851",
"type": "github"
},
"original": {
@ -325,19 +354,255 @@
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1742215578,
"narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "2fd36421c21aa87e2fe3bee11067540ae612f719",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1739049071,
"narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprgrass": {
"inputs": {
"hyprland": [
"hyprland"
],
"nixpkgs": [
"hyprgrass",
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1742051449,
"narHash": "sha256-is29ny+x0P1rIEiNUNarqzavFdmvLs+rslxihGycklE=",
"owner": "horriblename",
"repo": "hyprgrass",
"rev": "5453be107e8c7b88f6274122d064bf602852745f",
"type": "github"
},
"original": {
"owner": "horriblename",
"repo": "hyprgrass",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-protocols": "hyprland-protocols",
"hyprland-qtutils": "hyprland-qtutils",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_2",
"xdph": "xdph"
},
"locked": {
"lastModified": 1742223160,
"narHash": "sha256-lExsJAtqhTITVBRuRoWklddFekm5CO+nrS2sxG4rsIA=",
"ref": "refs/heads/main",
"rev": "011d7ccb91081ff99f184564ea38d1b9e543a99c",
"revCount": 5899,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
},
"original": {
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1738422629,
"narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprland-qt-support": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprland-qtutils",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"hyprland-qtutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-qtutils",
"systems"
]
},
"locked": {
"lastModified": 1737634706,
"narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=",
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"rev": "8810df502cdee755993cb803eba7b23f189db795",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"type": "github"
}
},
"hyprland-qtutils": {
"inputs": {
"hyprland-qt-support": "hyprland-qt-support",
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-qtutils",
"hyprlang",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1739048983,
"narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1741191527,
"narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "72df3861f1197e41b078faa3e38eedd60e00018d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprpanel": {
"inputs": {
"ags": "ags_2",
"ags": "ags",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1740863579,
"narHash": "sha256-U4amsszfgPUTAa9FrIlYsCCpmAyko22h/nbjhmAZvAs=",
"lastModified": 1742192123,
"narHash": "sha256-ExYS1EqCY7tpUXkvqw+2JGTqDPyowBMaYmS1Yq5yLdw=",
"owner": "jas-singhfsu",
"repo": "hyprpanel",
"rev": "2be9f1ef6c2df2ecf0eebe5a039e8029d8d151cd",
"rev": "14b17c066742565178b4c12076a68bc6a1955f9f",
"type": "github"
},
"original": {
@ -346,6 +611,56 @@
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1741534688,
"narHash": "sha256-EV3945SnjOCuRVbGRghsWx/9D89FyshnSO1Q6/TuQ14=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "dd1f720cbc2dbb3c71167c9598045dd3261d27b3",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1739870480,
"narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"impermanence": {
"locked": {
"lastModified": 1737831083,
@ -363,11 +678,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1741865919,
"narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=",
"lastModified": 1742169275,
"narHash": "sha256-nkH2Edu9rClcsQp2PYBe8E6fp8LDPi2uDBQ6wyMdeXI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a",
"rev": "5d9b5431f967007b3952c057fc92af49a4c5f3b2",
"type": "github"
},
"original": {
@ -416,20 +731,72 @@
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1742058297,
"narHash": "sha256-b4SZc6TkKw8WQQssbN5O2DaCEzmFfvSTPYHlx/SFW9Y=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "59f17850021620cd348ad2e9c0c64f4e6325ce2a",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"ags": "ags",
"flake-utils": "flake-utils",
"home-manager": "home-manager",
"hyprgrass": "hyprgrass",
"hyprland": "hyprland",
"hyprpanel": "hyprpanel",
"impermanence": "impermanence",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable",
"rose-pine-hyprcursor": "rose-pine-hyprcursor",
"sops-nix": "sops-nix",
"stylix": "stylix",
"zen-browser": "zen-browser"
}
},
"rose-pine-hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"nixpkgs"
],
"utils": [
"flake-utils"
]
},
"locked": {
"lastModified": 1740132177,
"narHash": "sha256-gNc20APKMefFdH5RONBuHhOps14aiMdgIT0I6RaSN64=",
"owner": "ndom91",
"repo": "rose-pine-hyprcursor",
"rev": "568067f35a85932192bd43ddf64fc05eff850f9f",
"type": "github"
},
"original": {
"owner": "ndom91",
"repo": "rose-pine-hyprcursor",
"type": "github"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": [
@ -437,11 +804,11 @@
]
},
"locked": {
"lastModified": 1741861888,
"narHash": "sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0=",
"lastModified": 1742239755,
"narHash": "sha256-ptn8dR4Uat3UUadGYNnB7CIH9SQm8mK69D2A/twBUXQ=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "d016ce0365b87d848a57c12ffcfdc71da7a2b55f",
"rev": "787afce414bcce803b605c510b60bf43c11f4b55",
"type": "github"
},
"original": {
@ -457,7 +824,7 @@
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat",
"flake-compat": "flake-compat_2",
"flake-utils": [
"flake-utils"
],
@ -470,7 +837,7 @@
"nixpkgs"
],
"nur": "nur",
"systems": "systems_2",
"systems": "systems_3",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
@ -478,11 +845,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1741951718,
"narHash": "sha256-5MfCjwlU6TXlrr8Nkg1TK+gExVPz8/aU8ofbidK2Nlc=",
"lastModified": 1742234510,
"narHash": "sha256-dQoo4XivjZuJiSi8ePv9CuP0ncE64RLyz2vb46blRx0=",
"owner": "danth",
"repo": "stylix",
"rev": "08e0c91d76e05a61ffe15bcd17ef7fa3160c5bd8",
"rev": "fa288c0dc695b49c9af38614af8da981371fe92a",
"type": "github"
},
"original": {
@ -507,6 +874,21 @@
}
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -625,6 +1007,47 @@
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1741934139,
"narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "150b0b6f52bb422a1b232a53698606fe0320dde0",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"nixpkgs": [
@ -633,11 +1056,11 @@
"zen-browser-flake": "zen-browser-flake"
},
"locked": {
"lastModified": 1741737308,
"narHash": "sha256-nC1xqLjDhFFO/wWxXAjtHYOaURPOgTH98G0NLLgwx4U=",
"lastModified": 1742100367,
"narHash": "sha256-Da9QJCWTtcuTNvkL545wT0Kr+DFI8VmKidxwUemVe0E=",
"owner": "LunaCOLON3",
"repo": "zen-browser-nix",
"rev": "76eef7b7b307e54ba75fb7b7ebb272884c08423a",
"rev": "78174724e79e53f753cb5c7a35eb2535912afabc",
"type": "github"
},
"original": {

115
flake.nix
View file

@ -28,13 +28,14 @@
};
};
ags = {
url = "github:aylur/ags";
hyprland = {
url = "git+https://github.com/hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs";
inputs.astal = {
url = "github:aylur/astal";
inputs.nixpkgs.follows = "nixpkgs";
};
};
hyprgrass = {
url = "github:horriblename/hyprgrass";
inputs.hyprland.follows = "hyprland";
};
hyprpanel = {
@ -42,56 +43,74 @@
inputs.nixpkgs.follows = "nixpkgs";
};
rose-pine-hyprcursor = {
url = "github:ndom91/rose-pine-hyprcursor";
inputs.nixpkgs.follows = "nixpkgs";
inputs.utils.follows = "flake-utils";
inputs.hyprlang.follows = "hyprland/hyprlang";
};
zen-browser = {
url = "github:LunaCOLON3/zen-browser-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
home-manager,
...
} @ inputs: let
inherit (nixpkgs) lib;
outputs =
{
self,
nixpkgs,
home-manager,
...
}@inputs:
let
inherit (nixpkgs) lib;
systemFromHardwareConf =
hostname:
let
hardware = import ./hosts/${hostname}/hardware-configuration.nix;
args = builtins.functionArgs hardware // { lib.mkDefault = lib.id; };
in
(hardware args).nixpkgs.hostPlatform;
systemFromHardwareConf =
hostname:
let
hardware = import ./hosts/${hostname}/hardware-configuration.nix;
args = builtins.functionArgs hardware // {
lib.mkDefault = lib.id;
};
in
(hardware args).nixpkgs.hostPlatform;
importNixpkgs = system: nixpkgs:
let
config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed;
in
import nixpkgs { inherit system config; };
importNixpkgs =
system: nixpkgs:
let
config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed;
in
import nixpkgs { inherit system config; };
makeHost = host: system:
lib.nixosSystem {
system = system;
pkgs = importNixpkgs system nixpkgs;
specialArgs = inputs // {inherit system;};
modules = [
./hosts/${host}/default.nix
./hosts/${host}/hardware-configuration.nix
./system
{networking.hostName = host;}
makeHost =
host: system:
lib.nixosSystem {
system = system;
pkgs = importNixpkgs system nixpkgs;
specialArgs = inputs // {
inherit system;
};
modules = [
./hosts/${host}/default.nix
./hosts/${host}/hardware-configuration.nix
./system
{ networking.hostName = host; }
./home
];
};
in {
nixosConfigurations = lib.pipe ./hosts [
builtins.readDir
(lib.filterAttrs (_: type: type == "directory"))
# (lib.filterAttrs (name: _: builtins.pathExists ./hosts/${name}/default.nix && builtins.pathExists ./hosts/${name}/hardware.nix && builtins.pathExists ./hosts/${name}/config.nix))
(builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name)))
];
};
./home
];
};
in
{
nixosConfigurations = lib.pipe ./hosts [
builtins.readDir
(lib.filterAttrs (_: type: type == "directory"))
(lib.filterAttrs (
name: _:
builtins.pathExists ./hosts/${name}/default.nix
&& builtins.pathExists ./hosts/${name}/hardware-configuration.nix
))
(builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name)))
];
};
}

View file

@ -1,4 +1,5 @@
{ sops-nix, stylix, ...}: {
{ sops-nix, ... }:
{
imports = [
sops-nix.homeManagerModules.sops
@ -9,13 +10,14 @@
./env.nix
./firefox
#zen-browser (WIP)
# ./firefox
./alacritty.nix
./clipman.nix
./common.nix
./direnv.nix
# ./firefox.nix
./firefox.nix
./fzf.nix
./git.nix
./gpg.nix

View file

@ -1,5 +1,6 @@
{
pkgs,
lib,
...
}: {
programs.helix = {
@ -31,6 +32,10 @@
];
separator = "|";
};
inline-diagnostics = {
cursor-line = "hint";
other-lines = "warning";
};
lsp = {
display-messages = true;
display-inlay-hints = true;
@ -48,5 +53,51 @@
};
};
};
languages = {
language-server = {
rust-analyzer = {
config = {
checkOnSave.command = "clippy";
cargo.features = "all";
cargo.unsetTest = [];
};
};
pyright = {
command = "${pkgs.pyright}/bin/pyright-langserver";
args = ["--stdio"];
config = {};
};
nil.command = "${pkgs.nil}/bin/nil";
bash-language-server = {
command = "${pkgs.bash-language-server}/bin/bash-language-server";
args = ["start"];
};
};
language = [
{
name = "python";
auto-format = true;
language-servers = [{name = "pyright";}];
formatter = {
command = "/bin/sh";
args = [
"-c"
"${pkgs.isort}/bin/isort - | ${pkgs.black}/bin/black -q -l 120 -C -"
];
};
}
{
name = "nix";
auto-format = true;
language-servers = [{name = "nil";}];
formatter = {
command = lib.getExe pkgs.nixfmt-rfc-style;
args = ["-s"];
};
}
];
};
};
}

View file

@ -1,13 +1,16 @@
{ lib, ...}: {
{ hyprland, ... }:
{
imports = [
hyprland.homeManagerModules.default
./hyprpaper.nix
./hyprlock.nix
# ./hyprgrass.nix
# ./utils.nix
./hyprgrass.nix
# ./utils.nix
];
wayland.windowManager.hyprland = {
enable = true;
# package = hyprland.packages.${pkgs.system}.hyprland;
xwayland.enable = true;
@ -16,15 +19,11 @@
settings = {
"$terminal" = "alacritty";
env = [
"HYPRCURSOR_THEME,rose-pine-hyprcursor"
];
env = [ "HYPRCURSOR_THEME,rose-pine-hyprcursor" ];
xwayland.force_zero_scaling = true;
monitor = [
",preferred,1"
];
monitor = [ ",preferred,1" ];
exec-once = [
"hyprlock"

View file

@ -0,0 +1,23 @@
{
config,
lib,
pkgs,
hyprgrass,
...
}:
{
options.desktop.touchSupport = lib.mkEnableOption "Enables touch-related features";
config.wayland.windowManager.hyprland = lib.mkIf config.desktop.touchSupport {
plugins = [ hyprgrass.packages.${pkgs.system}.default ];
settings.plugin.touch_gestures = {
sensitivity = 2.0;
workspace_swipe_fingers = 3;
workspace_swipe_edge = "d";
long_press_delay = 500;
resize_on_border_long_press = true;
edge_margin = 20;
};
};
}

View file

@ -1,4 +1,5 @@
{ config, lib, ...}:{
{ lib, ... }:
{
programs.hyprlock = {
enable = true;
@ -26,7 +27,7 @@
input-field = [
{
size = "800, 80";
size = "30%, 5%";
position = "0, 0";
monitor = "";
dots_center = true;
@ -39,6 +40,25 @@
shadow_passes = 2;
}
];
label = [
{
text = "Welcome!";
position = "0, 20%";
font_size = 40;
font_family = "JetBrains Mono";
halign = "center";
valign = "center";
}
{
text = "$TIME";
position = "0, 15%";
font_size = 25;
font_family = "JetBrains Mono";
halign = "center";
valign = "center";
}
];
};
};
}

View file

@ -1,4 +1,5 @@
{hyprpanel, ...}: {
{ hyprpanel, ... }:
{
imports = [ hyprpanel.homeManagerModules.hyprpanel ];
programs.hyprpanel = {

View file

@ -1,20 +1,23 @@
{lib, config, ... }: {
{
lib,
config,
...
}: {
data = {
directories = [
".config/syncthing"
".config/sops"
".config/keepassxc"
".config/obsidian"
".config/vesktop"
".gnupg"
".ssh"
".thunderbird"
".mozilla"
".zen"
"nixos"
"sync"
"obsidian"
"code"
".keepass"
".local/share/PrismLauncher"
@ -28,11 +31,9 @@
cache = {
directories = [
".cache/nix"
".cache/spotify"
".cache/keepassxc"
".cargo"
".local/state/wireplumber"
"tmp"
];
files = [];
};

View file

@ -1,4 +1,5 @@
{...}: {
{ ... }:
{
stylix.targets = {
firefox.enable = true;
};

View file

@ -0,0 +1,21 @@
{ lib, ... }:
let
mkHostOverride = lib.mkOverride 75;
in
{
system.stateVersion = "24.11";
desktop.enable = true;
home-manager.users."lilith".desktop.touchSupport = true;
gaming.enable = false;
nfs.client.enable = true;
auto_styling.enable = true;
home-manager.users."lilith".wayland.windowManager.hyprland.settings = {
monitor = mkHostOverride [
"eDP-1, 1920x1080, 0x0, 1"
", preferred, auto, 1"
];
};
}

View file

@ -0,0 +1,75 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "tmpfs";
fsType = "tmpfs";
options = [
"defaults"
"size=100%"
"mode=755"
];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/3DFB-F4BF";
fsType = "vfat";
options = [ "umask=0077" ];
};
fileSystems."/persist/data" =
{ device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13";
fsType = "btrfs";
neededForBoot = true;
options = [ "subvol=@data" "noatime" "compress=zstd" ];
};
fileSystems."/persist/cache" =
{ device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13";
fsType = "btrfs";
neededForBoot = true;
options = [ "subvol=@cache" "noatime" "compress=zstd" ];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13";
fsType = "btrfs";
neededForBoot = true;
options = [ "subvol=@nix" "noatime" "compress=zstd" ];
};
fileSystems."/swap" =
{ device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13";
fsType = "btrfs";
options = [ "subvol=@swap" "noatime" ];
};
swapDevices = [
{
device = "/swap/swapfile";
priority = 0;
}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,40 @@
user:
password: ENC[AES256_GCM,data:k4BAMMKgSsNAnCy5RJfhQPJG4P49hHTFVJDvc8ArqY3VeEH60XPK+m+b8vAHc4nUCt7dNRxuMG365/9jJhZI+DiX6614fe+Iug==,iv:PmNOUnu2eBhdtWB4Gkpj4RbHwV5Ac/UPJSF0XifWSzE=,tag:MeoLAKHM0hiylaFBOqpNPw==,type:str]
ssh:
public: ENC[AES256_GCM,data:4bA7PVMd8UY1D93A85S6yPIIbAt4FfbQN72lOZ3Pf+su4MGQvz9UcN6a+b+p/Qo8us4sjXutfdPiv5qDEnsDvc0uuS9R8avSw/vqzfF4rQ7NAn59/fjAJwcaPwwTqsTiBXFhcOs=,iv:qZKApe16ElXdw8MOePyvo1wqpXnTD651w0122omu+ik=,tag:P9fxALfO74yK8aSazgX68g==,type:str]
private: ENC[AES256_GCM,data:INtOHRiH+lTGH6zTtjzO/VoYsNRVFBDaWpTjAnHEv+YgXAslHTF7AvFoM9XKvjLCe3x3celD8r4yd//vof6WRuGpr4foIN09CXS0VO0fEkcNo224ajNc+FGEUNzeWjCqDW8Jvlyq7tEE+ywjVM4MF/IeyHM3Oh93gTprq+ZjzXYfXuqElVzlcLJaOGIAXmqWqUtzmGh7xx2TXfapkCi8oHm3cx7/A8FG7kBxyCcJ/3aIzrWZo5zHdts8l+qB5hc86vwHVZ3WVBfuXKpTaXCzQHRRaw7vaIP5O2V8bpU8p56TxYDl9N8GrbF5S38AxwtW+FHZKLXD33I3uQk4qztpvT8AvStnMM4x2D8JIhWN7LYmbMFuJng5UfzwLveIVPl5MIHAtVvk2W/QTw/5+kbqHIud3UWv5o/vbnm8l88q5WlO0U9CgRmV0FPTK/hdEj+tEUR6AzFi/Ea6Qiv0BGVGLOHWYszfXzKA1mss+MteR9k+PQqx4wsQM9nWnMOTQGf99RMyeHG1u68gsKy55dvEMXx0lo2iUcdBttVHZaUP5baiOhr6VS74rBxpeLBN03Vzj6A6fG1b2u6V5vSZ6sC1MFlgL1gjwLzGlqi3thVAV9g=,iv:CHie+Sns7HefRwBqdo2Gw1UexHS+W1y6t4etbHA//5Y=,tag:X3U1+wHVzRBUOl8sNo8jtg==,type:str]
syncthing:
cert.pem: ENC[AES256_GCM,data:zVGfurUvMA28jtWqBBHmlz+ujHGd9/ogZYLL1AMb8njzi5BJZHW0+QaHhLqjw7BKNs9CDmpIhIytvkY9WFoQ6zJe477ndXr7lPDdpoLkEDCZKXypVjAOuqHXTXJ44RI6hU87347bq2BP1Ph9847hryA4iWicdhYLj0SrFcQVu2MnGWJZ75k1eUqELjgT6rqmR7jzRs0Z4mGaGRwrG1Bi76mkfrOe0SVV6iE8Kk3U3iYDcqraWbS3Y3Fdr+UgPuK7uJ5RO5MFMjS1CHmUvo+K/tgcH74r2NS7FQBHnG5Ec0MMW1r08W5odd93oAJUC/PWYUW4giSahp1G+GyGMO3NSmTMW5PJ524I8izRRVg2jO9usv6ukxC9oUV4DIz9kpj9yVnHA7MJCw6yJTveLQMumYxKyorQUxkPDAyYty56D56mOnaxgRT7GsDkuj6VJ5aujqvzUq1f7bwxe43g75IY5BQpzWOufsCvnGt76dmZw3+gdsw4noQEv+Hm3FOvLnBA8H0hzDAtIs0Yy4GdviZj0687ZqAdM8y6+hOvC6UxSm5OkplCAi2E5yte5OS6csvMWR2atT6D13jZFU3PL7aIw0Z8y2Gx/jVlr68UHOn6jvonQzc2+fZmcQJL8aHW6jsDroIYHbl98OAFg+WE/Yp/lV3ffczhfzoH25qL8AHiHXwsBPOVkkpFSBxrNO2XFeDIEkl73amjCvkM1X3AxHBTgCgK2Y2kkvpwOiwUQdt5/YcLGgIWkpHpPDfGiqOkkMsWZbGcGPQtkUnhu16ul4+NUFDwiE2CYaw5+cPpdLq8DWv//V0iKcHP4jinYM+ZaUIh1loupdinhGKIeX+xNFcf9kB6dcdjR7TliN7gb5ekynSxjHM3i3EFp47bhkMbQpLVzOKZ8vgeb/eVU+t97lPNxhioHAeRPwIoxq8lnLHhY7p7AN0gzsfOeDKz2BuxaaFI0DCg63aJC2nHpvy+5lWtWYto6rUB2q4JTA9oKm6RLDcDaYTLfpQtM9sdH9N5TDsCukPVm+e6gr9AbjG8IFt9QUGb0UxzkqY20bI=,iv:XIhlEi02Il+RdKPjqRIPCg1ooij8ipTbbUZlupijTVg=,tag:7mU3OWolhHxtsN6rHs8vIQ==,type:str]
key.pem: ENC[AES256_GCM,data:fo8ejY1p+oBwy4L5WiecLQLkwKVdVEi7fzKb8/ACD+7qKXMk+MChW1MeUrFjWCHtHIdw3Ld7SrCmEC/3cqL87aFiZFBOv/cV4Jkvy1kEmZLuKo8wM5Vn+7Ec4WVDAbqhiT5MEgaWHdSgmv2kvkeUnH4LJSx9uohRTgKlO0eIqY9aXO5PqZEPLuHvvTrUi1OCvadaAsKHx3yqTm2tuqK7mPzOL2A4WLQRMKSlQIbzgTz2CShql8D6/crzIAoQVnXf+/KbqzRw3NKtIzQA0aSx1tA4DjPSugWkx+sqjUShYOfZ8Rnbto5/Nbmk4QTaCkvsOli4lazGAKmPtMVBXfbFvZUXiZ/QoawVmsw1MMCCtaRpV7cEAKHJCZ+lRA4CUoJm,iv:JQHPAdW1gJxpZaBcY/BdRBweEYAAj0ZWwAeHFR4J5zo=,tag:i5VWdxTu+Wez3poflwGiog==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1mqw75xvd2gnhx2wsmkr8yctegjfym6xkypwjh82s3yws2glk4vms3cxqaz
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKRWRJOWZQY1ZpWGQ4ZXND
RC83eEZGZkVjelkxZDNkdlMvODN6a0dnWFRRCmxGT0U1dWJ1bWJDQVRHYmlQMHZQ
Z0Rza3dYNi9iTFZLSUVuL0UwUzVZNk0KLS0tIDd2eDNWYjd5MC9mcTd3clFBdmpY
OW5yTndZYU16NTYrdDZRUjZJS25VbEUKmD4HAa0e2p8SRw5mlzgh+ByFqCDhj8wv
QumEed0Hb9jve8aO8K9MEayxi5jIULFYuYWD8D1RF/74UGrgBTAykA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-03-15T23:51:41Z"
mac: ENC[AES256_GCM,data:ey5F1mZf8Ndm+9hJo38X6dhD6cVZ1T+YjtHSQsCjzpT9va8/zmsic5VMS5rlxCsR7TtiJG+sN6xQ9rsvQjE/mCSb8raQTCRa0XufpO7Yqekwyi8fOWdVf6tBIbdSOkJDARD4AVmmGRZWpTHAX2oMnH/rYT0+MOZQ6Q6LQ7lumq8=,iv:6hntrUy0jlkdp5MIV6GNvGbNYFrcOgKoWaIU/vORg88=,tag:7rcHIuubqZk1RlppgXYiZQ==,type:str]
pgp:
- created_at: "2025-03-15T23:51:35Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4DCgMW7d7co2gSAQdAbaGKvZ8a7yxQcjrCPON8SFJC1rlZDdKZfZ9LXQubbkMw
e94lKw5Tq2cn5iwGgRvYG6CmxLXmX6rk9ylVyKPWzHPjiA3Pk1eiTZ6neStFoKWG
1GgBCQIQjsaVzLGjQWWxc87gRkwpTHTS2GCSnUz06E4gD42JuUKO5Au/IHWwLmua
HDrwSNqAlns1mALRm7Nb0R68EFouc532WQdpUK1F8T0454wHyOnMvE1fzBkiGSrq
9g50Dinv/s3ALQ==
=Sk/E
-----END PGP MESSAGE-----
fp: 3586D8D6689B9C9ECD598C588712A0F317C37175
unencrypted_suffix: _unencrypted
version: 3.9.2

View file

@ -1,3 +0,0 @@
{
system = "x86_64-linux";
}

View file

@ -1,22 +1,20 @@
{ config, lib, ...}: {
{lib, ...}: let
mkHostOverride = lib.mkOverride 75;
in {
system.stateVersion = "24.11";
desktop.enable = true;
gaming.enable = true;
nfs.client.enable = true;
auto_styling.enable = true;
home-manager.users."lilith".wayland.windowManager.hyprland.settings = {
input.kb_layout = lib.mkForce "us";
input.kb_layout = mkHostOverride "us";
monitor = lib.mkForce [
monitor = mkHostOverride [
"DP-3, 3840x2160, 0x0, 1.5"
"DP-4, 2560x1440, 2560x0, 1"
",preferred,auto,1"
];
};
}

44
secrets/default.yaml Normal file
View file

@ -0,0 +1,44 @@
ssh:
nixremote:
public: ENC[AES256_GCM,data:cpgaIleEj+S0AdPnZQ0HeOS44SZNRljSCzi2uzMfA/vb4rmXWPqE+Yh0yG+UD0UThEYmVkZnvK5JNps2lTvp3Dqo92rYLQrn14vFP8yCQMU=,iv:9R5n3yE5yx0JLESRqax2ZWuYFR2XT1Xd882BU/SnAdQ=,tag:IIykViHleEO2lgu1Tjz5pw==,type:str]
private: ENC[AES256_GCM,data:7nT/pKf9rfUDQrRgXH/trJ7jv7C+1L71ZiAWK8uKbfYyonHzq3EJZ5hjSiP+9NFa1qoisL3JH/cv5kuDR8FZFLVTv0+oLW55YPD7SOAzVAeL45cnHzgaVvz7CCikve3ZtGHKurqyUcN7MXKDOqwnuQ1tcvzhAmfDBWwbnheUylmokBq20+eivjQ7AGt1lc0e0J2tpEZDdlUOrVFQd0QdoGBGOnadh/yA6fARfZb9oOYryooV1cGhlzoJNQ9/jXEasIDN+GDaNRpvXK5bvWKBNVmNF4QLnt9wJjIVfnpG6IrJJ2yduecgwAFnKj5Gn7NAkJ9RJzE0ysHLWYnIZWm8TGaBaphQLsmd6VJ/47nAiwfAGVoaCWI45lAFwEu9eEdbZn9joQvBFGsE6TEBbjb/JDWSzHFFwFDHNsApIs0w1FN6qEea2BoI6VINgwgzzcyV7XJNPqHd9KFQSSe7eqKAl6OiCGRxrF2pLzTohX/NCDkorkfdDLJ/DlEe+8B+Qe+IGDNtnbzLGDftI+GWYsSyjrUwGXcTSq1meIBB,iv:UBQb9m85xeYioV7VDi5tr7T75MTG9yddBMXASRwvq3A=,tag:1fkwUF1ZuvxNU6ntoXGk0w==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1mqw75xvd2gnhx2wsmkr8yctegjfym6xkypwjh82s3yws2glk4vms3cxqaz
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3U1h5dy8xRkc5YUY2Si91
dU81eEtjTzVDa2N2My9ycmp1aFRweHcwcTJjClJhY1laNmp5ZG9VN1UwTGdGMVZo
N1luQldHNzBYb2dpRGQrbkFwc1V4YUEKLS0tIGxzQU9QUHVzWWt5UnNLT0lYMnpJ
TnFFQXNEUDZTdVlOVkV2RVQyaWRRcEUKb/3gZ4lIfWeb6fXcUgdizdG158tpv0hm
objc1wG5HjIGiIZoJSvGmI5PnZzmKf8LFjMMfUP2m2JUVpOFKL2baQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age1pyav93usza3s363g56687yxh9jmp364w32gs77le7t0cgg7jveyq4zcl6v
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2S0pYL1kwZ2M4VkZWQ3Bl
WHdUUDJjOVQ3TkZWRDVGMkJoTnJPWkRWQlM0Cks1SVAwV0M3K3dHRkNHd3JvSEFF
QzNCa0ZFWWRLdkhOY0UrZHJNTVFrZEkKLS0tIGtaM2QwK1V3TUxlYkRyWTM3THls
endmMkVMRjgvb05ycS9SamFOUk54QVUKB7eaUO/4Ttxjtt3/ZoryQiHeodnTcqHy
7Z4xQ21bWqDK3Bw/IaYsMEu1GJ5ZR7KcNENnuoU8wza3ymLv60Xzgw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-03-17T17:44:37Z"
mac: ENC[AES256_GCM,data:ws3pqokNCWVxXgXOFI8mDZQ9XTY1G8WZEEVzk3mD/+ERynLoD4xcPHL5tu3EisPBNIe90olnQy7/FwN8ZOkUl7UWjTPfCOPBqpY8P253YHz5mSdBp3U+9x16nbQHXH2InTzQQwbj7Z2Uz6kzz7Tk8tg8x+zli8lqWwFdpqv7p2k=,iv:Eqw4Q4Yy8/Yq8avXJ3na3lnu275YLvnacjluB++ta54=,tag:FcJDDJtPLm4pCG7ZKWCK0Q==,type:str]
pgp:
- created_at: "2025-03-17T17:42:02Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4DCgMW7d7co2gSAQdA6aDjYqTJFftxYboMahLPLvKcqzy++N+t6iKVR0J0k2sw
HroxiisYugH8mXue6VkCprlXiNt0M61gDLK1EeiUpN3FqqTxkKiKzF/kQRTrHJGU
0l4BwaRyJyL+2Of0SwmB8rKfeVqSGW/PExZnrRrTRYxqxxaZwqNHqFxlQBC+COBg
u/h2KP2NCz5O5Pt1rjPWxlLcz0TsxPH8a4HiBQfmiwM91dowvq+6mWVcwW5NAmf5
=EnO5
-----END PGP MESSAGE-----
fp: 3586D8D6689B9C9ECD598C588712A0F317C37175
unencrypted_suffix: _unencrypted
version: 3.9.4

View file

@ -1,4 +1,4 @@
{ zen-browser, ...}: {
{...}: {
imports = [
./audio.nix
./bluetooth.nix
@ -15,6 +15,5 @@
./syncthing.nix
./users.nix
./zsh.nix
# zen-browser.nixosModules.zen-browser
];
}

View file

@ -1,4 +1,5 @@
{ lib, ...}: {
{ ... }:
{
nix = {
gc = {
automatic = true;
@ -8,12 +9,25 @@
settings = {
keep-outputs = true;
auto-optimise-store = true;
experimental-features = ["nix-command" "flakes"];
trusted-users = ["root" "@wheel"];
};
};
experimental-features = [
"nix-command"
"flakes"
];
trusted-users = [
"root"
"@wheel"
];
# nixpkgs.config.allowUnfreePredicate = (pkg: builtins.elem (lib.getName pkg) [
# "steam"
# ]);
builders-use-substitutes = true;
};
distributedBuilds = true;
buildMachines = [
{
hostName = "lilith-server-builder";
system = "x86_64-linux";
protocol = "ssh-ng";
}
];
};
}

View file

@ -1,5 +1,12 @@
{impermanence, conf, lib, config, ...}: {
imports = [impermanence.nixosModule];
{
impermanence,
conf,
lib,
config,
...
}:
{
imports = [ impermanence.nixosModule ];
environment.persistence."/persist/data" = {
hideMounts = true;
@ -7,20 +14,20 @@
"/etc/NetworkManager/system-connections"
"/var/lib/bluetooth"
];
files = [];
files = [ ];
users.lilith = {
directories = [
".config/syncthing"
".config/sops"
".config/keepassxc"
".config/obsidian"
".config/vesktop"
".gnupg"
".ssh"
".thunderbird"
".mozilla"
".zen"
"nixos"
"sync"
@ -31,7 +38,7 @@
".local/share/lutris"
".local/share/games"
];
files = [];
files = [ ];
};
};
@ -45,9 +52,7 @@
"/var/lib/systemd/timers"
"/var/log"
];
files = [
"/etc/machine-id"
];
files = [ "/etc/machine-id" ];
users.lilith = {
directories = [
@ -55,9 +60,8 @@
".cache/keepassxc"
".cargo"
".local/state/wireplumber"
"tmp"
];
files = [];
files = [ ];
};
};
}

View file

@ -1,11 +1,27 @@
{...}: {
networking.firewall.allowedTCPPorts = [22];
{ ... }:
{
networking.firewall.allowedTCPPorts = [ 22 ];
sops.secrets."ssh/nixremote/private" = {
sopsFile = ../../secrets/default.yaml;
path = "/root/.ssh/nixremote";
};
services.openssh = {
enable = true;
ports = [22];
ports = [ 22 ];
settings = {
PermitRootLogin = "no";
PasswordAuthentication = false;
};
};
programs.ssh = {
extraConfig = ''
Host lilith-server-builder
HostName 2a01:4f9:4a:1ecb::2
User nixremote
IdentityFile /root/.ssh/nixremote
'';
};
}

View file

@ -1,6 +1,8 @@
{ config, sops, ...}: let
host = config.networking.hostName;
in {
{ config, ... }:
let
host = config.networking.hostName;
in
{
sops.secrets."syncthing/key.pem" = {
sopsFile = ../../hosts/${host}/secrets/default.yaml;
@ -19,25 +21,44 @@
overrideDevices = true;
overrideFolders = true;
settings = {
key = config.sops.secrets."syncthing/key.pem".path;
cert = config.sops.secrets."syncthing/cert.pem".path;
key = config.sops.secrets."syncthing/key.pem".path;
cert = config.sops.secrets."syncthing/cert.pem".path;
settings = {
devices = {
"phone" = {id = "C2CKYRP-72UNJRX-MUPZIUY-CCHQYGF-6T4NA6B-MO7AEZB-RSN5EAG-CN2JCAF";};
"nixserver" = {id = "DW6GTZ3-3JPAHLO-UEB3LBL-AWOX3BT-QPI7ODT-OZ6Q4YR-K3KK22C-5RY3XQZ";};
"lilith-pc" = {id = "37HHP4Q-NNQRQPQ-MVSIHAX-BK2A3GL-O6K4WXA-Y7ZQ5GZ-BY4UTFH-LG4HYAY";};
"lilith-pad" = {id = "GQJA6WA-G5YZZSN-4OOQMVE-JPIR22N-VFHPY4O-XMRG37D-DALH4R2-7DCTMQK";};
"lilith-old" = {id = "MSUZJ6K-4CIFE5D-ILO6FE4-SPRPTZI-VEWZQ7F-ECARCCF-2VLVMDQ-2HQUAAS";};
"lilith-phone" = {
id = "N3VHPZJ-DARZYPM-TIBLRAZ-KN6QWYJ-VU6FP2N-INYVJZ3-ZSUD63P-NSXLIQ6";
};
"lilith-lab" = {
id = "DW6GTZ3-3JPAHLO-UEB3LBL-AWOX3BT-QPI7ODT-OZ6Q4YR-K3KK22C-5RY3XQZ";
};
"lilith-pc" = {
id = "37HHP4Q-NNQRQPQ-MVSIHAX-BK2A3GL-O6K4WXA-Y7ZQ5GZ-BY4UTFH-LG4HYAY";
};
"lilith-pad" = {
id = "GQJA6WA-G5YZZSN-4OOQMVE-JPIR22N-VFHPY4O-XMRG37D-DALH4R2-7DCTMQK";
};
};
folders = {
"rdcj2-mfyb4" = {
"sync" = {
id = "rdcj2-mfyb4";
path = "/home/lilith/sync";
devices = ["phone" "nixserver" "lilith-pad" "lilith-pc" "lilith-old"];
devices = [
"lilith-phone"
"lilith-lab"
"lilith-pad"
"lilith-pc"
];
};
"sdpfs-2beqd" = {
"keepass" = {
id = "sdpfs-2beqd";
path = "/home/lilith/.keepass";
devices = ["phone" "nixserver" "lilith-pad" "lilith-pc" "lilith-old"];
devices = [
"lilith-phone"
"lilith-lab"
"lilith-pad"
"lilith-pc"
];
};
};
};

View file

@ -3,5 +3,4 @@
./core
./optional
];
# system.stateVersion = "24.11";
}

View file

@ -1,15 +1,23 @@
{ config, lib, ...}: {
{
config,
lib,
pkgs,
hyprland,
...
}:
{
options.desktop.enable = lib.mkEnableOption "Enable Wayland compositor with hyprland login";
config = lib.mkIf config.desktop.enable {
hardware.graphics.enable = true;
security.polkit.enable = true;
security.pam.services.hyprlock = {};
security.pam.services.hyprlock = { };
services.dbus.enable = true;
programs.hyprland.enable = true;
programs.hyprland.package = hyprland.packages.${pkgs.system}.hyprland;
services.greetd = {
enable = true;

View file

@ -1,4 +1,11 @@
{pkgs, stylix, config, lib, ...}: {
{
pkgs,
stylix,
config,
lib,
...
}:
{
imports = [ stylix.nixosModules.stylix ];
options.auto_styling.enable = lib.mkEnableOption "Enable Stylix";
@ -16,6 +23,16 @@
};
fonts = {
serif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Serif";
};
sansSerif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Sans";
};
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMono Nerd Font";
@ -26,12 +43,18 @@
name = "Twemoji";
};
sizes = { applications = 14; desktop = 12; popups = 12; terminal = 14; };
sizes = {
applications = 14;
desktop = 12;
popups = 12;
terminal = 14;
};
};
cursor = {
package = pkgs.rose-pine-cursor;
name = "Rosé Pine";
size = 10;
};
};
};