Compare commits

...

4 commits

Author SHA1 Message Date
f1216bc9ad Rename packages 2025-07-09 09:32:53 +08:00
13e52cb27e Move hostname config 2025-07-09 09:32:39 +08:00
7c04159aa9 Update flake.lock 2025-07-09 09:32:27 +08:00
ccf29ce98f Reconfigure specialArgs 2025-07-09 09:32:15 +08:00
4 changed files with 55 additions and 17 deletions

38
flake.lock generated
View file

@ -192,6 +192,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": {
"locked": {
"lastModified": 1751741127,
"narHash": "sha256-t75Shs76NgxjZSgvvZZ9qOmz5zuBE8buUaYD28BMTxg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "29e290002bfff26af1db6f64d070698019460302",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks-nix": { "pre-commit-hooks-nix": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [
@ -226,7 +242,8 @@
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"secrets": "secrets", "secrets": "secrets",
"sops-nix": "sops-nix" "sops-nix": "sops-nix",
"webone": "webone"
} }
}, },
"rust-overlay": { "rust-overlay": {
@ -284,6 +301,25 @@
"repo": "sops-nix", "repo": "sops-nix",
"type": "github" "type": "github"
} }
},
"webone": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1752022159,
"narHash": "sha256-WFkQ1WA+BRLuwfmh6uMym3IoUSXOu2sSM5XzalsLeUQ=",
"owner": "firewalkwithm3",
"repo": "webone",
"rev": "256f5e115ceffb71fd2d61e0c7cb9b6b55c7571a",
"type": "github"
},
"original": {
"owner": "firewalkwithm3",
"repo": "webone",
"rev": "256f5e115ceffb71fd2d61e0c7cb9b6b55c7571a",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -12,9 +12,10 @@
flake = false; flake = false;
}; };
# Updated packages. # Packages.
fluffychat2.url = "github:NixOS/nixpkgs?ref=pull/419632/head"; # FluffyChat 2.0.0 fluffychat2.url = "github:NixOS/nixpkgs?ref=pull/419632/head"; # FluffyChat 2.0.0
feishin0_17.url = "github:NixOS/nixpkgs?ref=pull/414929/head"; # Feishin 0.17.0 feishin0_17.url = "github:NixOS/nixpkgs?ref=pull/414929/head"; # Feishin 0.17.0
webone.url = "github:firewalkwithm3/webone?rev=256f5e115ceffb71fd2d61e0c7cb9b6b55c7571a"; # WebOne HTTP proxy.
}; };
outputs = outputs =
@ -34,7 +35,7 @@
{ {
hostname, hostname,
suite, suite,
platform, platform ? "x86_64-linux",
user ? "fern", user ? "fern",
extraModules ? [ ], extraModules ? [ ],
}: }:
@ -42,17 +43,20 @@
system = platform; system = platform;
specialArgs = { specialArgs = {
inherit user; inherit hostname suite platform user; # Inherit variables.
secrets = builtins.toString inputs.secrets; secrets = builtins.toString inputs.secrets; # Secrets directory.
fluffychat2 = import fluffychat2 { inherit system; }; # Packages
feishin0_17 = import feishin0_17 { inherit system; }; userPkgs = {
fluffychat = fluffychat2.legacyPackages.${system}.fluffychat;
feishin = feishin0_17.legacyPackages.${system}.feishin;
webone = webone.packages.${system}.default;
};
}; };
modules = [ modules = [
./suites/common.nix ./suites/common.nix
./suites/${suite}.nix ./suites/${suite}.nix
./hosts/${suite}/${hostname}.nix ./hosts/${suite}/${hostname}.nix
{ networking.hostName = hostname; }
] ++ extraModules; ] ++ extraModules;
}; };
in in
@ -62,7 +66,6 @@
muskduck = mkHost { muskduck = mkHost {
hostname = "muskduck"; hostname = "muskduck";
suite = "laptop"; suite = "laptop";
platform = "x86_64-linux";
extraModules = [ extraModules = [
lanzaboote.nixosModules.lanzaboote lanzaboote.nixosModules.lanzaboote
nixos-hardware.nixosModules.lenovo-thinkpad-t480 nixos-hardware.nixosModules.lenovo-thinkpad-t480
@ -85,27 +88,23 @@
hostname = "docker"; hostname = "docker";
suite = "vm"; suite = "vm";
user = "docker"; user = "docker";
platform = "x86_64-linux";
}; };
vm-minecraft = mkHost { vm-minecraft = mkHost {
hostname = "minecraft"; hostname = "minecraft";
suite = "vm"; suite = "vm";
user = "docker"; user = "docker";
platform = "x86_64-linux";
}; };
# LXC containers. # LXC containers.
lxc-technitium = mkHost { lxc-technitium = mkHost {
hostname = "technitium"; hostname = "technitium";
suite = "lxc"; suite = "lxc";
platform = "x86_64-linux";
}; };
lxc-firefox-syncserver = mkHost { lxc-firefox-syncserver = mkHost {
hostname = "firefox-syncserver"; hostname = "firefox-syncserver";
suite = "lxc"; suite = "lxc";
platform = "x86_64-linux";
extraModules = [ extraModules = [
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
]; ];

View file

@ -1,6 +1,7 @@
{ {
pkgs, pkgs,
lib, lib,
hostname,
user, user,
... ...
}: }:
@ -48,6 +49,9 @@ with lib;
# Enable networking. # Enable networking.
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
# Set hostname
networking.hostName = hostname;
# Define a user account. # Define a user account.
users.users.${user} = { users.users.${user} = {
isNormalUser = true; isNormalUser = true;

View file

@ -1,8 +1,7 @@
{ {
pkgs, pkgs,
userPkgs,
lib, lib,
feishin0_17,
fluffychat2,
... ...
}: }:
with lib; with lib;
@ -110,7 +109,7 @@ with lib;
caligula caligula
celluloid celluloid
discord discord
feishin0_17.feishin userPkgs.feishin
ghostty ghostty
gimp3 gimp3
glabels-qt glabels-qt
@ -138,7 +137,7 @@ with lib;
}) })
# FluffyChat 2.0.0 with fixed desktop item. # FluffyChat 2.0.0 with fixed desktop item.
(fluffychat2.fluffychat.overrideAttrs ( (userPkgs.fluffychat.overrideAttrs (
finalAttrs: previousAttrs: { finalAttrs: previousAttrs: {
desktopItems = [ desktopItems = [
((builtins.elemAt previousAttrs.desktopItems 0).override { startupWMClass = "fluffychat"; }) ((builtins.elemAt previousAttrs.desktopItems 0).override { startupWMClass = "fluffychat"; })