use colmena

This commit is contained in:
Daniel Bulant 2025-08-24 21:23:53 +02:00
parent 10eeb789e6
commit 30fc8a8d17
No known key found for this signature in database
9 changed files with 185 additions and 5847 deletions

View file

@ -2,7 +2,7 @@
My dotfiles and nix setup incl. scripts for hyprland and some other goodies.
Please do edit configuration of at least hyprland - default configuration is very specific to my setup (involves monitor scaling)
Please do edit configuration of at least hyprland and file systems - default configuration is very specific to my setup (involves monitor scaling).
Quickshell config based on (end-4's config)[https://github.com/end-4/dots-hyprland], you'll have a better time configuring them (gui settings for non-nix users).
@ -10,6 +10,10 @@ Quickshell config based on (end-4's config)[https://github.com/end-4/dots-hyprla
![](./screenshots/kitty.png)
## Servers
This also includes configuration for some of my (home) servers. Those are managed by colmena, but can also be instantiated locally using flakes.
## Used software
I'm using NixOS. A lot of packages are missing, for the full list see [`home.nix`](./home.nix).

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 205 KiB

View file

@ -154,6 +154,7 @@ in
"https://nix-community.cachix.org"
"https://hyprland.cachix.org"
"https://nix-gaming.cachix.org"
"https://colmena.cachix.org"
];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="

View file

@ -37,6 +37,28 @@
"type": "github"
}
},
"colmena": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"nix-github-actions": "nix-github-actions",
"nixpkgs": "nixpkgs",
"stable": "stable"
},
"locked": {
"lastModified": 1755272288,
"narHash": "sha256-ypTPb2eKcOBbOoyvPV0j4ZOXs4kayo73/2KI456QnE0=",
"owner": "zhaofengli",
"repo": "colmena",
"rev": "5bf4ce6a24adba74a5184f4a9bef01d545a09473",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"repo": "colmena",
"type": "github"
}
},
"dolphin-overlay": {
"inputs": {
"nixpkgs": [
@ -58,6 +80,22 @@
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1650374568,
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
@ -91,6 +129,21 @@
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
@ -230,7 +283,7 @@
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
@ -466,14 +519,14 @@
"nix-gaming": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1755913811,
"narHash": "sha256-FhpVdDLW2uNXloJni6DkXMKATMxvAQ2HfbOu23QwLOE=",
"lastModified": 1756001208,
"narHash": "sha256-IXBb1RNIy4gNlDyeC5oaXXZwS8x9UYtFCA9Rr0/JPs8=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "b44f0ddc0912702662ae36ab265633d6cef3ea26",
"rev": "8f7fa30bd3f36f411133152f5980bafff5d8426e",
"type": "github"
},
"original": {
@ -482,6 +535,27 @@
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"colmena",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729742964,
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nix-index-database": {
"inputs": {
"nixpkgs": [
@ -489,11 +563,11 @@
]
},
"locked": {
"lastModified": 1755404379,
"narHash": "sha256-Q6ZxZDBmD/B988Jjbx7/NchxOKIpOKBBrx9Yb0zMzpQ=",
"lastModified": 1756008611,
"narHash": "sha256-rfTBWuTXi9/X7GhtF562FKNXKh2kvKb6dwI5lV1SjPE=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "ebbc1c05f786ae39bb5e04e57bf2c10c44a649e3",
"rev": "52dec1cb33a614accb9e01307e17816be974d24d",
"type": "github"
},
"original": {
@ -519,11 +593,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1751792365,
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
"lastModified": 1750134718,
"narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
"rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c",
"type": "github"
},
"original": {
@ -566,11 +640,27 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1755268003,
"narHash": "sha256-nNaeJjo861wFR0tjHDyCnHs1rbRtrMgxAKMoig9Sj/w=",
"lastModified": 1751792365,
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "32f313e49e42f715491e1ea7b306a87c16fe0388",
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1755829505,
"narHash": "sha256-4/Jd+LkQ2ssw8luQVkqVs9spDBVE6h/u/hC/tzngsPo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f937f8ecd1c70efd7e9f90ba13dfb400cf559de4",
"type": "github"
},
"original": {
@ -580,13 +670,13 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_4": {
"locked": {
"lastModified": 1755704039,
"narHash": "sha256-gKlP0LbyJ3qX0KObfIWcp5nbuHSb5EHwIvU6UcNBg2A=",
"lastModified": 1755922037,
"narHash": "sha256-wY1+2JPH0ZZC4BQefoZw/k+3+DowFyfOxv17CN/idKs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9cb344e96d5b6918e94e1bca2d9f3ea1e9615545",
"rev": "b1b3291469652d5a2edb0becc4ef0246fff97a7c",
"type": "github"
},
"original": {
@ -596,7 +686,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1755615617,
"narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=",
@ -614,7 +704,7 @@
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland-plugins",
@ -638,17 +728,34 @@
},
"root": {
"inputs": {
"colmena": "colmena",
"dolphin-overlay": "dolphin-overlay",
"home-manager": "home-manager",
"hyprland-plugins": "hyprland-plugins",
"nix-gaming": "nix-gaming",
"nix-index-database": "nix-index-database",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_4",
"nixpkgs-unstable": "nixpkgs-unstable",
"zen-browser": "zen-browser"
}
},
"stable": {
"locked": {
"lastModified": 1750133334,
"narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "36ab78dab7da2e4e27911007033713bab534187b",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
@ -714,14 +821,14 @@
"zen-browser": {
"inputs": {
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_4"
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1755922982,
"narHash": "sha256-YMchUKtaIhICzwwiAP/j6G+KaqRA8xSnGV2dfdVXoHw=",
"lastModified": 1756009581,
"narHash": "sha256-2I/NyYJm6Zq6fJ1YQWSY1S77LjXw+woFYUYEwU91uCc=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "25f56c0f5b813312f38078418b2229ada41c4bcc",
"rev": "0f80eb175059149c59edde75202721cab3384464",
"type": "github"
},
"original": {

View file

@ -23,9 +23,11 @@
nix-index-database.url = "github:nix-community/nix-index-database";
nix-index-database.inputs.nixpkgs.follows = "nixpkgs";
colmena.url = "github:zhaofengli/colmena";
};
outputs = { zen-browser, nixpkgs, dolphin-overlay, hyprland-plugins, /*hyprland,*/ home-manager, nixpkgs-unstable, nix-gaming,nix-index-database, ... }@attrs: {
outputs = { nixpkgs, colmena, zen-browser, dolphin-overlay, hyprland-plugins, home-manager, nixpkgs-unstable, nix-gaming, nix-index-database, ... }@attrs: {
nixosConfigurations.lenovo-nix = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = attrs;
@ -36,7 +38,7 @@
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.dan = (import ./home.nix) { inherit zen-browser nixpkgs-unstable nix-gaming /*suyu hyprland*/ hyprland-plugins; };
home-manager.users.dan = (import ./home.nix) { inherit colmena zen-browser nixpkgs-unstable nix-gaming hyprland-plugins; };
home-manager.backupFileExtension = "backup";
}
./configuration.nix
@ -52,5 +54,16 @@
./servers/eisen/configuration.nix
];
};
colmenaHive = colmena.lib.makeHive {
meta = {
nixpkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [];
};
};
eisen = import ./servers/eisen/configuration.nix;
};
};
}

View file

@ -1,4 +1,4 @@
{ zen-browser, nix-gaming, nixpkgs-unstable,/* suyu, */hyprland-plugins/*, hyprland*/, ... }:
{ colmena, zen-browser, nix-gaming, nixpkgs-unstable,/* suyu, */hyprland-plugins/*, hyprland*/, ... }:
{ pkgs, inputs, ...}:
let
@ -18,6 +18,7 @@ in
stateVersion = "24.05";
packages = with pkgs; [
colmena.defaultPackage.${system}
usbimager
bitwarden-desktop
metasploit

View file

@ -1,10 +1,10 @@
{ config, pkgs,nixpkgs-unstable, lib, nixos-hardware, ... }:
let
unstable-pkgs = nixpkgs-unstable.legacyPackages.x86_64-linux; #import nixpkgs-unstable.nixosModules.readOnlyPkgs {};
# unstable-pkgs = hyprland.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in
{ config, pkgs, lib, name ? "eisen", ... }:
{
deployment = {
buildOnTarget = true;
};
imports = [
./hardware-configuration.nix
];
@ -15,7 +15,7 @@ in
};
networking = {
hostName = "eisen";
hostName = name;
nameservers = ["1.1.1.1"];
networkmanager.enable = true;
};
@ -31,6 +31,8 @@ in
};
services = {
logind.lidSwitchExternalPower = "ignore";
localtimed.enable = true;
openssh.enable = true;
tailscale = {
@ -45,6 +47,8 @@ in
enable = true;
openDefaultPorts = true;
};
};
systemd.services.syncthing.environment.STNODEFAULTFOLDER = "true";
@ -96,6 +100,20 @@ in
nvtopPackages.full
btop
lshw
bat
lsd
fastfetch
fish
nix-output-monitor
nh
duf
dust
cachix
qemu
ffmpeg
httpie
socat
websocat
];
nixpkgs.config.allowUnfree = true;

View file

@ -24,6 +24,12 @@
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/media/large" = {
device = "/dev/disk/by-label/large";
fsType = "btrfs";
options = [ "subvol=@" "nofail" "exec" "users" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/f26a39ff-50dc-46f7-a0e2-1b7b67525c04"; }
];

View file

@ -1,11 +0,0 @@
sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz home-manager
sudo nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware
sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
sudo nix-channel --add https://nixos.org/channels/nixos-24.11 nixos
sudo nix-channel --update
nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz home-manager
nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware
nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
nix-channel --add https://nixos.org/channels/nixos-24.11 nixos
nix-channel --update