Compare commits

...

8 commits

18 changed files with 260 additions and 175 deletions

View file

@ -13,6 +13,7 @@ switch specialisation=DEFAULT_SPECIALISATION:
nh os switch {{ FLAKE_HOME }} {{ if specialisation == DEFAULT_SPECIALISATION { "-S" } else { "-s " + specialisation } }} nh os switch {{ FLAKE_HOME }} {{ if specialisation == DEFAULT_SPECIALISATION { "-S" } else { "-s " + specialisation } }}
update: update:
cd pkgs && nvfetcher
nix flake update --log-format internal-json 2>&1 | nom --json nix flake update --log-format internal-json 2>&1 | nom --json
build specialisation=DEFAULT_SPECIALISATION: build specialisation=DEFAULT_SPECIALISATION:

View file

@ -41,8 +41,8 @@ Hey, you. This is my nixos configurations.
| `overlays.additions` | the ovelrays add packages in `<nixpkgs>` | ./overlays/additions | | `overlays.additions` | the ovelrays add packages in `<nixpkgs>` | ./overlays/additions |
| `nixosModules.default` | nixos modules shared on different nixos machines | ./nixos/modules | | `nixosModules.default` | nixos modules shared on different nixos machines | ./nixos/modules |
| `nixosConfigurations.${machine}` | machine-local nixos config | ./nixos/configurations/${machine} | | `nixosConfigurations.${machine}` | machine-local nixos config | ./nixos/configurations/${machine} |
| `homeManagerModules.default` | home-manager modules shared between different user and machine combinations | ./home/modules | | `homeModules.default` | home-manager modules shared between different user and machine combinations | ./home/modules |
| `homeManagerModules.extra` | home-manager modules only for non-nixos | ./home/extra | | `homeModules.extra` | home-manager modules only for non-nixos | ./home/extra |
| `homeManagerModules.${user}` | home-manager modules shared between different users | ./home/${user}/modules | | `homeModules.${user}` | home-manager modules shared between different users | ./home/${user}/modules |
| `homeConfigurations."${user}@${machine}"` | home-manager config for different user and machine combinations | ./home/${user}/configurations/${machine} | | `homeConfigurations."${user}@${machine}"` | home-manager config for different user and machine combinations | ./home/${user}/configurations/${machine} |
| `deploy.nodes.${machine}.system` | deploy-rs profile for deploying `nixosConfiguration.${machine}` remotely | - | | `deploy.nodes.${machine}.system` | deploy-rs profile for deploying `nixosConfiguration.${machine}` remotely | - |

164
flake.lock generated
View file

@ -70,11 +70,11 @@
"bt-tracker": { "bt-tracker": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1741680653, "lastModified": 1741997456,
"narHash": "sha256-b5Y241PYSU+H6g1T4gvyT69ELjgCiLIueHIXsmlmDcQ=", "narHash": "sha256-4WhLuADRRr8tRnySlDGMiPKUBwVfxaOUjBkfaE7lbHw=",
"owner": "XIU2", "owner": "XIU2",
"repo": "TrackersListCollection", "repo": "TrackersListCollection",
"rev": "1e195e467d0e5bc12e051d76ed87959a4241fa26", "rev": "22a50f839018b5c5c0b4ef2675ea3ad89f12e44e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -137,11 +137,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741684000, "lastModified": 1741786315,
"narHash": "sha256-NQykaWIrn5zilncefIvW4jPQ76YMXVK/dMTzkSVDmdk=", "narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "2db1d64fc084b1d15e3871dffc02c62a94ed6ed7", "rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -332,11 +332,11 @@
"zig2nix": "zig2nix" "zig2nix": "zig2nix"
}, },
"locked": { "locked": {
"lastModified": 1741594465, "lastModified": 1742002412,
"narHash": "sha256-8a/QIgNwV8VGn8JIiACmVVEdue+U3juiMSAO1DEUTC4=", "narHash": "sha256-dw7CLa5+tZmfNCPjH2vSAk7SBfsB2Zp7uOcZ1XAADjE=",
"owner": "ghostty-org", "owner": "ghostty-org",
"repo": "ghostty", "repo": "ghostty",
"rev": "95daca616db5c24d7bb37fd5a3ac2f8762bb4ead", "rev": "550edd426257fa1976a5f1b8b9539543578f5a35",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -421,11 +421,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1741703648, "lastModified": 1741962962,
"narHash": "sha256-JR0uyqJPJEbXLSPhlQJZvia3f6Ir7E9kXxXb/N4I45w=", "narHash": "sha256-68SVpGxlAFWGmolts5yhWw2v9bx+jmA/0rX3wxIRZkU=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "f9360fb27e60b21cfd824c4a68d2b5df4edb745b", "rev": "9574e551cf8ea4d868a8c102647fcfe0d41496df",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -442,11 +442,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741701235, "lastModified": 1741955947,
"narHash": "sha256-gBlb8R9gnjUAT5XabJeel3C2iEUiBHx3+91651y3Sqo=", "narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c630dfa8abcc65984cc1e47fb25d4552c81dd37e", "rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -466,11 +466,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1741682127, "lastModified": 1742003507,
"narHash": "sha256-KnEVVbmIURr3FFFZm2fAUX8qe4BC67LnIDTpHwyb4YU=", "narHash": "sha256-YqOuNSRC0oduAOWh/EqEaTVHawUyXmNHntqmOVDFaLc=",
"owner": "jj-vcs", "owner": "jj-vcs",
"repo": "jj", "repo": "jj",
"rev": "d37a5b1b74db3641da755dc8d5be4e95fa461bdb", "rev": "f8082a052d05fe4424e59bbdf7885452726400f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -482,11 +482,11 @@
"lix": { "lix": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1738174211, "lastModified": 1741888409,
"narHash": "sha256-eYmp1mKM4kULV1W+EBtCPk6LmKWl2REivaYfGRl+AWo=", "narHash": "sha256-gJ7QmlwsJ/QdwUjwTjifNo3v7OBQm2N6xa19l3mMWM4=",
"rev": "64e33a7e09a0d1faacf2fd3f6ebd647fe4d8346a", "rev": "20edd45ae816c73504ddfb9c678756e003ceeafd",
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/64e33a7e09a0d1faacf2fd3f6ebd647fe4d8346a.tar.gz?rev=64e33a7e09a0d1faacf2fd3f6ebd647fe4d8346a" "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/20edd45ae816c73504ddfb9c678756e003ceeafd.tar.gz?rev=20edd45ae816c73504ddfb9c678756e003ceeafd"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -505,11 +505,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1738176840, "lastModified": 1741894565,
"narHash": "sha256-NG3IRvRs3u3btVCN861FqHvgOwqcNT/Oy6PBG86F5/E=", "narHash": "sha256-2FD0NDJbEjUHloVrtEIms5miJsj1tvQCc/0YK5ambyc=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "621aae0f3cceaffa6d73a4fb0f89c08d338d729e", "rev": "a6da43f8193d9e329bba1795c42590c27966082e",
"revCount": 133, "revCount": 136,
"type": "git", "type": "git",
"url": "https://git.lix.systems/lix-project/nixos-module" "url": "https://git.lix.systems/lix-project/nixos-module"
}, },
@ -530,11 +530,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1741686876, "lastModified": 1741985426,
"narHash": "sha256-Kt37Zm9YcQoe/aRVbPFydZcfwIrEAg/U+iz3FcxsOZs=", "narHash": "sha256-qtvcOFwWVQqKyjtVYXpC8Mp/cP/xc/Na6L4UXyHyJHA=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "fa230971ab63885ba5666588a7b78f75f73d5a85", "rev": "93a1359e5625bb7724298e92c4cddf0e8022dc00",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -563,11 +563,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1741684091, "lastModified": 1741982253,
"narHash": "sha256-0tcSDfsGZy01XacnJOsUGZ6X36KYART0xT1u7nbWyso=", "narHash": "sha256-pQYos0sgmAlf7VFZHB4FZMu0CACTLLARS++H64NRB1I=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "b220cdbe7e29d47590147b65a1bfe50f3abeff84", "rev": "f6aa8c17937fadd1da3c8f2f080ea402ae17da87",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -583,11 +583,11 @@
"nixpkgs-stable": "nixpkgs-stable_3" "nixpkgs-stable": "nixpkgs-stable_3"
}, },
"locked": { "locked": {
"lastModified": 1741691385, "lastModified": 1742006448,
"narHash": "sha256-Zjs3cBTVm4GLjjLgdi9XS/7nEdjjciKPj2EFOLOrNcE=", "narHash": "sha256-8OmMOm7MeuhBYYIu9an/OaeH9+mJLXKVj2g/TY8qAg0=",
"owner": "lilyinstarlight", "owner": "lilyinstarlight",
"repo": "nixos-cosmic", "repo": "nixos-cosmic",
"rev": "5af413f4e97073783ed2dc11fd134ffc7771414d", "rev": "d63e6b46e0d080fa7cab2cb3ee37b46873615fa3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -598,11 +598,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1741325094, "lastModified": 1741792691,
"narHash": "sha256-RUAdT8dZ6k/486vnu3tiNRrNW6+Q8uSD2Mq7gTX4jlo=", "narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "b48cc4dab0f9711af296fc367b6108cf7b8ccb16", "rev": "e1f12151258b12c567f456d8248e4694e9390613",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -613,6 +613,38 @@
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": {
"lastModified": 1741851582,
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-845dc1e9cbc2e48640b8968af58b4a19db67aa8f": {
"locked": {
"lastModified": 1741960758,
"narHash": "sha256-pSGMbfkxF7TSeco54W+B1q+g22YCVp1qXHgtrdgtyR4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "845dc1e9cbc2e48640b8968af58b4a19db67aa8f",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "845dc1e9cbc2e48640b8968af58b4a19db67aa8f",
"type": "github"
}
},
"nixpkgs-e3e32b642a31e6714ec1b712de8c91a3352ce7e1": {
"locked": { "locked": {
"lastModified": 1741513245, "lastModified": 1741513245,
"narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=",
@ -623,8 +655,8 @@
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1",
"type": "github" "type": "github"
} }
}, },
@ -661,11 +693,11 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1741600792, "lastModified": 1741862977,
"narHash": "sha256-yfDy6chHcM7pXpMF4wycuuV+ILSTG486Z/vLx/Bdi6Y=", "narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ebe2788eafd539477f83775ef93c3c7e244421d3", "rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -677,11 +709,11 @@
}, },
"nixpkgs-stable_3": { "nixpkgs-stable_3": {
"locked": { "locked": {
"lastModified": 1741600792, "lastModified": 1741862977,
"narHash": "sha256-yfDy6chHcM7pXpMF4wycuuV+ILSTG486Z/vLx/Bdi6Y=", "narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ebe2788eafd539477f83775ef93c3c7e244421d3", "rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -717,11 +749,11 @@
"nur-rycee": { "nur-rycee": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1741703094, "lastModified": 1741957870,
"narHash": "sha256-rM6zVLFGv2BqPPATh2zyDZaBlzbwe5l0RVw04qL8rtQ=", "narHash": "sha256-5ahYCLPnBcZX7vlmXzn+m0LDRgYiMDglU6UnH/HngPo=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "f086e15336227c65af733b221159739c04132a8a", "rev": "4021f5dad2a46ff78c1bf82ee45c1656e12164f2",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -785,6 +817,8 @@
"nixos-cosmic", "nixos-cosmic",
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-845dc1e9cbc2e48640b8968af58b4a19db67aa8f": "nixpkgs-845dc1e9cbc2e48640b8968af58b4a19db67aa8f",
"nixpkgs-e3e32b642a31e6714ec1b712de8c91a3352ce7e1": "nixpkgs-e3e32b642a31e6714ec1b712de8c91a3352ce7e1",
"nur-rycee": "nur-rycee", "nur-rycee": "nur-rycee",
"nur-xddxdd": "nur-xddxdd", "nur-xddxdd": "nur-xddxdd",
"oskars-dotfiles": "oskars-dotfiles", "oskars-dotfiles": "oskars-dotfiles",
@ -841,11 +875,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741644481, "lastModified": 1741861888,
"narHash": "sha256-E0RrMykMtEv15V3QhpsFutgoSKhL1JBhidn+iZajOyg=", "narHash": "sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "e653d71e82575a43fe9d228def8eddb73887b866", "rev": "d016ce0365b87d848a57c12ffcfdc71da7a2b55f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -882,11 +916,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1741703342, "lastModified": 1741976991,
"narHash": "sha256-eU5RTDACahqJSLrR79FdS+dImmrK3YpFByjRWmmqeaU=", "narHash": "sha256-74Q3Kpzde+S3pWaZihNFMjCn8lo4wmDVmg+Uvw8YLLQ=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "9dc48274889d1f5349b8ebc7c83f0907f3c86588", "rev": "e43eb4e2a7dfbd96454df2b1c9418299b4373773",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1049,11 +1083,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1741140299, "lastModified": 1741910413,
"narHash": "sha256-Y2bPO92Yg5HcH5ORvrVOQb4wRGEapGEteHXGtNvboxk=", "narHash": "sha256-z9bvteu0rf+xmUDj4VifN06XAFJZQGRSOvdN7rn/oDs=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "10cb041a80bb815cc1789cfa305923f1f9e3713d", "rev": "0325cb1f48a292d873a6844772cca00251cbf945",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1077,11 +1111,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1738239110, "lastModified": 1741702955,
"narHash": "sha256-Y5i9mQ++dyIQr+zEPNy+KIbc5wjPmfllBrag3cHZgcE=", "narHash": "sha256-Emk3VnNByigCBlBN34IH2cMrsUqIhdex02uw9TSDsN0=",
"owner": "mitchellh", "owner": "mitchellh",
"repo": "zig-overlay", "repo": "zig-overlay",
"rev": "1a8fb6f3a04724519436355564b95fce5e272504", "rev": "1152ce759114a94134081270affd970ae1b957ed",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1098,21 +1132,21 @@
], ],
"nixpkgs": [ "nixpkgs": [
"ghostty", "ghostty",
"nixpkgs-stable" "nixpkgs-unstable"
] ]
}, },
"locked": { "locked": {
"lastModified": 1741368279, "lastModified": 1741816255,
"narHash": "sha256-WTaC8HmnIq6O71iK0g9as404BbmS+YyEP5qS85m2JBY=", "narHash": "sha256-SJQMnm1vwXy8Td2qp/omjybn+4xZ/MDdZHeK6aa2nb0=",
"owner": "jcollie", "owner": "jcollie",
"repo": "zig2nix", "repo": "zig2nix",
"rev": "672971b5b6911de21446ad4fc76dee677922eda0", "rev": "c2a24405298373123e12ca81805e436da648aaf5",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "jcollie", "owner": "jcollie",
"repo": "zig2nix", "repo": "zig2nix",
"rev": "672971b5b6911de21446ad4fc76dee677922eda0", "rev": "c2a24405298373123e12ca81805e436da648aaf5",
"type": "github" "type": "github"
} }
} }

118
flake.nix
View file

@ -3,8 +3,26 @@
inputs = { inputs = {
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
# nixpkgs.url = "github:NixOS/nixpkgs/master";
nixpkgs.follows = "nixos-cosmic/nixpkgs"; nixpkgs.follows = "nixos-cosmic/nixpkgs";
# pr: https://github.com/NixOS/nixpkgs/pull/389740
nixpkgs-845dc1e9cbc2e48640b8968af58b4a19db67aa8f = {
type = "github";
owner = "NixOS";
repo = "nixpkgs";
rev = "845dc1e9cbc2e48640b8968af58b4a19db67aa8f";
};
# issue: https://github.com/NixOS/nixpkgs/issues/389977
nixpkgs-e3e32b642a31e6714ec1b712de8c91a3352ce7e1 = {
type = "github";
owner = "NixOS";
repo = "nixpkgs";
rev = "e3e32b642a31e6714ec1b712de8c91a3352ce7e1";
};
lix-module = { lix-module = {
url = "git+https://git.lix.systems/lix-project/nixos-module"; url = "git+https://git.lix.systems/lix-project/nixos-module";
inputs = { inputs = {
@ -181,7 +199,10 @@
in in
flake-parts.lib.mkFlake { inherit inputs; } { flake-parts.lib.mkFlake { inherit inputs; } {
systems = flake-utils.lib.defaultSystems; systems = flake-utils.lib.defaultSystems;
perSystem = ( imports = [
inputs.home-manager.flakeModules.home-manager
];
perSystem =
{ pkgs, system, ... }@args: { pkgs, system, ... }@args:
{ {
_module.args.pkgs = import inputs.nixpkgs { _module.args.pkgs = import inputs.nixpkgs {
@ -196,8 +217,7 @@
inherit inputs; inherit inputs;
} }
); );
} };
);
flake = flake =
{ {
nix.settings = { nix.settings = {
@ -213,7 +233,7 @@
cachix = x: "https://${x}.cachix.org"; cachix = x: "https://${x}.cachix.org";
in in
nixpkgs.lib.flatten [ nixpkgs.lib.flatten [
mirrors # mirrors
(cachix "nix-community") (cachix "nix-community")
"https://cache.nixos.org" "https://cache.nixos.org"
(cachix "cosmic") (cachix "cosmic")
@ -230,16 +250,11 @@
nixosConfigurations = nixosConfigurations =
let let
nixosConfigDir = ./nixos/configurations; nixosConfigDir = ./nixos/configurations;
in makeNixConfiguration =
nixpkgs.lib.genAttrs
(map (f: nixpkgs.lib.removeSuffix ".nix" f) (builtins.attrNames (builtins.readDir nixosConfigDir)))
(
hostName: hostName:
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
modules = modules =
[ [ outputs.nixosModules.default ]
outputs.nixosModules.default
]
++ [ ++ [
( (
let let
@ -249,11 +264,18 @@
if builtins.pathExists dirPath then dirPath else filePath if builtins.pathExists dirPath then dirPath else filePath
) )
]; ];
specialArgs = { specialArgs = { inherit inputs outputs rootPath; };
inherit inputs outputs rootPath; };
}; in
} nixosConfigDir
); |> builtins.readDir
|> builtins.attrNames
|> map (f: nixpkgs.lib.removeSuffix ".nix" f)
|> map (name: {
inherit name;
value = makeNixConfiguration name;
})
|> builtins.listToAttrs;
} }
// ( // (
let let
@ -272,12 +294,12 @@
[ [
"${toString ./home}/${unixName}/configurations/${hostName}" "${toString ./home}/${unixName}/configurations/${hostName}"
] ]
++ (with outputs.homeManagerModules; [ ++ (with outputs.homeModules; [
default default
extra extra
]) ])
++ [ ++ [
outputs.homeManagerModules."${unixName}" outputs.homeModules."${unixName}"
]; ];
extraSpecialArgs = { extraSpecialArgs = {
inherit inherit
@ -304,31 +326,28 @@
hostName = "Cape"; hostName = "Cape";
unixName = "alice"; unixName = "alice";
}; };
homeManagerModules = homeModules =
{ {
default = import ./home/modules; default = import ./home/modules;
extra = import ./home/extra; extra = import ./home/extra;
} }
// ( // (
let ./home
allEntries = builtins.readDir ./home; |> builtins.readDir
allUsers = nixpkgs.lib.filterAttrs ( |> nixpkgs.lib.filterAttrs (key: value: value == "directory")
key: value: |> nixpkgs.lib.filterAttrs (
value == "directory" key: value:
&& ( !builtins.elem key [
!builtins.elem key [ "modules"
"modules" "extra"
"extra" ]
]
)
) allEntries;
in
builtins.listToAttrs (
map (name: {
name = name;
value = import "${toString ./home}/${name}/modules";
}) (builtins.attrNames allUsers)
) )
|> builtins.attrNames
|> map (name: {
name = name;
value = import "${toString ./home}/${name}/modules";
})
|> builtins.listToAttrs
); );
} }
) )
@ -358,19 +377,18 @@
}; };
in in
{ {
deploy.nodes = nixpkgs.lib.foldr (a: b: a // b) { } ( deploy.nodes =
map [
( "Cape"
hostName: "Akun"
mkDeployNode { ]
inherit hostName; |> map (
} hostName:
) mkDeployNode {
[ inherit hostName;
"Cape" }
"Akun" )
] |> nixpkgs.lib.foldr (a: b: a // b) { };
);
} }
); );
}; };

View file

@ -42,7 +42,6 @@
helix helix
element-desktop element-desktop
discord-ptb
vlc vlc
btop btop
spotify spotify

View file

@ -5,6 +5,11 @@
image = rootPath + "/assets/wallpaper/01.png"; image = rootPath + "/assets/wallpaper/01.png";
polarity = "dark"; polarity = "dark";
base16Scheme = "${pkgs.base16-schemes}/share/themes/ayu-dark.yaml"; base16Scheme = "${pkgs.base16-schemes}/share/themes/ayu-dark.yaml";
cursor = {
package = pkgs.rose-pine-cursor;
name = "BreezeX-RosePineDawn-Linux";
size = 24;
};
fonts = { fonts = {
serif = { serif = {
package = pkgs.lxgw-wenkai; package = pkgs.lxgw-wenkai;

View file

@ -1,27 +1,6 @@
{ pkgs, rootPath, ... }: { ... }:
{ {
stylix = { stylix = {
enable = true; enable = false;
image = rootPath + "/assets/wallpaper/01.png";
polarity = "dark";
base16Scheme = "${pkgs.base16-schemes}/share/themes/ayu-dark.yaml";
fonts = {
serif = {
package = pkgs.lxgw-wenkai;
name = "LXGW WenKai";
};
sansSerif = {
package = pkgs.noto-fonts-cjk-serif;
name = "Noto Serif CJK SC";
};
monospace = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Font";
};
emoji = {
package = pkgs.noto-fonts-emoji;
name = "Noto Color Emoji";
};
};
}; };
} }

View file

@ -36,7 +36,6 @@
enable = true; enable = true;
unixName = "david"; unixName = "david";
}; };
open-webui.enable = true;
transmission.enable = true; transmission.enable = true;
nix-ld.enable = true; nix-ld.enable = true;
juicity.client.enable = true; juicity.client.enable = true;
@ -77,7 +76,6 @@
helix helix
element-desktop element-desktop
discord-ptb
vlc vlc
btop btop
handbrake handbrake
@ -93,6 +91,10 @@
fractal fractal
juicity juicity
waypipe
wineWow64Packages.waylandFull
iperf3
nvfetcher
]; ];
environment.variables.EDITOR = "hx"; environment.variables.EDITOR = "hx";

View file

@ -20,10 +20,10 @@
} }
]; ];
matchConfig.Name = "eno2"; matchConfig.Name = "eno2";
# networkConfig = { networkConfig = {
# DHCP = "yes"; DHCP = "yes";
# IPv6AcceptRA = true; IPv6AcceptRA = true;
# }; };
}; };
}; };
}; };

View file

@ -5,6 +5,11 @@
image = rootPath + "/assets/wallpaper/01.png"; image = rootPath + "/assets/wallpaper/01.png";
polarity = "dark"; polarity = "dark";
base16Scheme = "${pkgs.base16-schemes}/share/themes/ayu-dark.yaml"; base16Scheme = "${pkgs.base16-schemes}/share/themes/ayu-dark.yaml";
cursor = {
package = pkgs.rose-pine-cursor;
name = "BreezeX-RosePineDawn-Linux";
size = 32;
};
fonts = { fonts = {
serif = { serif = {
package = pkgs.lxgw-wenkai; package = pkgs.lxgw-wenkai;

View file

@ -1,4 +1,9 @@
{ config, lib, ... }: {
pkgs,
config,
lib,
...
}:
let let
cfg = config.youthlic.containers.forgejo; cfg = config.youthlic.containers.forgejo;
in in
@ -59,6 +64,8 @@ in
./../programs/postgresql.nix ./../programs/postgresql.nix
]; ];
nixpkgs.pkgs = pkgs;
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d /var/lib/forgejo 770 forgejo forgejo -" "d /var/lib/forgejo 770 forgejo forgejo -"
"d /var/lib/postgresql 770 postgres postgres -" "d /var/lib/postgresql 770 postgres postgres -"

View file

@ -1,4 +1,9 @@
{ config, lib, ... }: {
pkgs,
config,
lib,
...
}:
let let
cfg = config.youthlic.containers.miniflux; cfg = config.youthlic.containers.miniflux;
in in
@ -41,6 +46,8 @@ in
./../programs/postgresql.nix ./../programs/postgresql.nix
]; ];
nixpkgs.pkgs = pkgs;
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d /var/lib/miniflux 770 miniflux miniflux -" "d /var/lib/miniflux 770 miniflux miniflux -"
"d /var/lib/postgresql 770 postgres postgres -" "d /var/lib/postgresql 770 postgres postgres -"

View file

@ -47,7 +47,7 @@
{ ... }: { ... }:
{ {
imports = [ imports = [
outputs.homeManagerModules."${unixName}" outputs.homeModules."${unixName}"
(rootPath + "/home/${unixName}/configurations/${hostName}") (rootPath + "/home/${unixName}/configurations/${hostName}")
]; ];
} }
@ -58,7 +58,7 @@
inherit (pkgs) system; inherit (pkgs) system;
}; };
backupFileExtension = "backup"; backupFileExtension = "backup";
sharedModules = [ outputs.homeManagerModules.default ]; sharedModules = [ outputs.homeModules.default ];
}; };
}; };
} }

View file

@ -2,14 +2,16 @@
final: prev: final: prev:
let let
inherit (prev) lib; inherit (prev) lib;
overlay-files = [
./spotify.nix
./niri.nix
./ghostty.nix
./juicity.nix
./dae.nix
./jujutsu.nix
];
overlay-list = map (file: import file args) overlay-files;
in in
(lib.composeManyExtensions overlay-list) final prev [
./spotify.nix
./niri.nix
./ghostty.nix
./juicity.nix
./dae.nix
./jujutsu.nix
./fix-pwvucontrol.nix
./fix-forgejo-lts.nix
]
|> map (file: import file args)
|> (overlays: (lib.composeManyExtensions overlays) final prev)

View file

@ -0,0 +1,10 @@
{ inputs, ... }:
final: prev:
let
inherit (final) stdenv;
inherit (stdenv.hostPlatform) system;
in
{
forgejo-lts =
inputs.nixpkgs-e3e32b642a31e6714ec1b712de8c91a3352ce7e1.legacyPackages."${system}".forgejo-lts;
}

View file

@ -0,0 +1,10 @@
{ inputs, ... }:
final: prev:
let
inherit (final) stdenv;
inherit (stdenv.hostPlatform) system;
in
{
pwvucontrol =
inputs.nixpkgs-845dc1e9cbc2e48640b8968af58b4a19db67aa8f.legacyPackages."${system}".pwvucontrol;
}

View file

@ -38,7 +38,7 @@ let
delve delve
lldb lldb
rust-analyzer rust-analyzer
nil # nil
haskell-language-server haskell-language-server
neocmakelsp neocmakelsp
] ]

View file

@ -61,20 +61,26 @@ let
runHook postFixup runHook postFixup
''; '';
}; };
grammars = lib.filterAttrs (key: _: lib.hasPrefix "tree-sitter-" key) srcs; grammars = srcs |> lib.filterAttrs (key: _: lib.hasPrefix "tree-sitter-" key);
queries = lib.mapAttrsToList (_: value: '' queries =
mkdir -p $out/${value.name} grammars
|> lib.mapAttrsToList (
_: value: ''
mkdir -p $out/${value.name}
ln -s ${value.src}/queries/* $out/${value.name}/ ln -s ${value.src}/queries/* $out/${value.name}/
'') grammars; ''
builtGrammars = builtins.mapAttrs (_: v: { );
inherit (v) name; grammarLinks =
value = buildGrammar v; grammars
}) grammars; |> builtins.mapAttrs (
grammarLinks = lib.mapAttrsToList ( _: v: {
_: value: "ln -s ${value.value}/${value.name}.so $out/${value.name}.so" inherit (v) name;
) builtGrammars; value = buildGrammar v;
}
)
|> lib.mapAttrsToList (_: value: "ln -s ${value.value}/${value.name}.so $out/${value.name}.so");
grammarDir = runCommandNoCCLocal "helix-grammars" { } '' grammarDir = runCommandNoCCLocal "helix-grammars" { } ''
mkdir -p $out mkdir -p $out