14 Commits

21 changed files with 182 additions and 275 deletions

156
flake.lock generated
View File

@@ -8,11 +8,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1760836749,
"narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=",
"lastModified": 1761656077,
"narHash": "sha256-lsNWuj4Z+pE7s0bd2OKicOFq9bK86JE0ZGeKJbNqb94=",
"owner": "ryantm",
"repo": "agenix",
"rev": "2f0f812f69f3eb4140157fe15e12739adf82e32a",
"rev": "9ba0d85de3eaa7afeab493fed622008b6e4924f5",
"type": "github"
},
"original": {
@@ -29,11 +29,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1761238850,
"narHash": "sha256-WGoqR+ULsh1w7yDNAtJiE27HX6zSlGPR4I2pgjAU/SA=",
"lastModified": 1761806975,
"narHash": "sha256-GLGdVJSPH0LnsO64Biw0WFJaj1PlltYxgH13f+FGWgQ=",
"owner": "anyrun-org",
"repo": "anyrun",
"rev": "ae3c499316e9aa568acb3832566a1978ca665748",
"rev": "329d31af9ba038ef65db9914eb94de695c738377",
"type": "github"
},
"original": {
@@ -110,16 +110,16 @@
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1758177015,
"narHash": "sha256-PCUWdbaxayY3YfSjVlyddBMYoGvSaRysd5AmZ8gqSFs=",
"lastModified": 1759322529,
"narHash": "sha256-yiv/g/tiJI3PI95F7vhTnaf1TDsIkFLrmmFTjWfb6pQ=",
"owner": "nix-community",
"repo": "authentik-nix",
"rev": "4c626ed84cc0f1278bfba0f534efd6cba2788d75",
"rev": "69fac057b2e553ee17c9a09b822d735823d65a6c",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "version/2025.8.3",
"ref": "version/2025.8.4",
"repo": "authentik-nix",
"type": "github"
}
@@ -127,16 +127,16 @@
"authentik-src": {
"flake": false,
"locked": {
"lastModified": 1758035356,
"narHash": "sha256-DkvxDwHCfSqEpZ9rRXNR8MP0Mz/y1kHAr38exrHQ39c=",
"lastModified": 1759190535,
"narHash": "sha256-pIzDaoDWc58cY/XhsyweCwc4dfRvkaT/zqsV1gDSnCI=",
"owner": "goauthentik",
"repo": "authentik",
"rev": "680feaefa17934471a6b33ebc35caf5b64120404",
"rev": "8d3a289d12c7de2f244c76493af7880f70d08af2",
"type": "github"
},
"original": {
"owner": "goauthentik",
"ref": "version/2025.8.3",
"ref": "version/2025.8.4",
"repo": "authentik",
"type": "github"
}
@@ -150,11 +150,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1761326352,
"narHash": "sha256-DoR4mHaStX6Dg2Gilc2Dqr/XaxXmQTOQS5cZ5xKPQJY=",
"lastModified": 1762036128,
"narHash": "sha256-0VgVPYq5upSXc+LSn3ubxJhH+DLdakYW4QXeabo0Ivg=",
"owner": "chaotic-cx",
"repo": "nyx",
"rev": "6492dc810f2f250ef95096910a44f03eea6a594f",
"rev": "499783c86e6e9436534d1a23b35da98c7f6af3f4",
"type": "github"
},
"original": {
@@ -209,11 +209,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1761374215,
"narHash": "sha256-YmnUYXjacFHa8fWCo8gBAHpqlcG8+P5+5YYFhy6hOkg=",
"lastModified": 1762065744,
"narHash": "sha256-c04mxJoCb8f6BBrdaREWmdQq+pfp395olXhC+B0G7DI=",
"owner": "nix-community",
"repo": "fenix",
"rev": "b0fa429fc946e6e716dff3bfb97ce6383eae9359",
"rev": "e0f24085a4a0da1c32adc308ec4c518ae886ff35",
"type": "github"
},
"original": {
@@ -240,11 +240,11 @@
},
"flake-compat_2": {
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"lastModified": 1761588595,
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"type": "github"
},
"original": {
@@ -347,11 +347,11 @@
]
},
"locked": {
"lastModified": 1760948891,
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
"lastModified": 1762040540,
"narHash": "sha256-z5PlZ47j50VNF3R+IMS9LmzI5fYRGY/Z5O5tol1c9I4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
"rev": "0010412d62a25d959151790968765a70c436598b",
"type": "github"
},
"original": {
@@ -407,11 +407,11 @@
]
},
"locked": {
"lastModified": 1759362264,
"narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=",
"lastModified": 1760948891,
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "758cf7296bee11f1706a574c77d072b8a7baa881",
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
"type": "github"
},
"original": {
@@ -586,11 +586,11 @@
},
"hardware": {
"locked": {
"lastModified": 1760958188,
"narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=",
"lastModified": 1761933221,
"narHash": "sha256-rNHeoG3ZrA94jczyLSjxCtu67YYPYIlXXr0uhG3wNxM=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc",
"rev": "7467f155fcba189eb088a7601f44fbef7688669b",
"type": "github"
},
"original": {
@@ -605,11 +605,11 @@
"rust-overlay": "rust-overlay_2"
},
"locked": {
"lastModified": 1761141169,
"narHash": "sha256-5IZjbTvP5dNTD8CbEYlNbicdGcbCN9SC9ksMm2ZEXH0=",
"lastModified": 1762054696,
"narHash": "sha256-4wyNPyycaPDS13OC+YPkQOrrf3ZCS/ipAh9lfo121Nw=",
"owner": "helix-editor",
"repo": "helix",
"rev": "d79cce4e4bfc24dd204f1b294c899ed73f7e9453",
"rev": "0b61e721aaae794c950c72f765388dcc5f9f32fa",
"type": "github"
},
"original": {
@@ -625,11 +625,11 @@
]
},
"locked": {
"lastModified": 1761344779,
"narHash": "sha256-6LNSptFYhiAd0M/maJoixJw7V0Kp5BSoMRtIahcfu3M=",
"lastModified": 1762087455,
"narHash": "sha256-hpbPma1eUKwLAmiVRoMgIHbHiIKFkcACobJLbDt6ABw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c644cb018f9fdec55f5ac2afb4713a8c7beb757c",
"rev": "43e205606aeb253bfcee15fd8a4a01d8ce8384ca",
"type": "github"
},
"original": {
@@ -667,11 +667,11 @@
]
},
"locked": {
"lastModified": 1761266473,
"narHash": "sha256-QxCyKWBmuzI+eMhYV1JmbZsiUnBNATRP1EW34OBt5Vg=",
"lastModified": 1761878381,
"narHash": "sha256-lCRaipHgszaFZ1Cs8fdGJguVycCisBAf2HEFgip5+xU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5c71d4a730bd3c972befff343bb074421e345937",
"rev": "4ac96eb21c101a3e5b77ba105febc5641a8959aa",
"type": "github"
},
"original": {
@@ -789,11 +789,11 @@
]
},
"locked": {
"lastModified": 1757420192,
"narHash": "sha256-jVkY2ax7e+V+M4RwLZTJnOVTdjR5Bj10VstJuK60tl4=",
"lastModified": 1762027241,
"narHash": "sha256-w0NhWx95Xao6Dh3G1p7G1cHwGBknwPVPG5VRghk3LSg=",
"owner": "hyprwm",
"repo": "hypridle",
"rev": "f158b2fe9293f9b25f681b8e46d84674e7bc7f01",
"rev": "f3d1f3b232a5e3267008568196397b03fab244d2",
"type": "github"
},
"original": {
@@ -818,11 +818,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1761389866,
"narHash": "sha256-RupwqaJ3JF5dF9iuJX+y0EZslmIuRs7+n+wnngtBqak=",
"lastModified": 1761869718,
"narHash": "sha256-jLfwwlPGpnGRAtVDyoGj9FgH2D9hWwyEu0yHkflG2EI=",
"owner": "hyprwm",
"repo": "hyprland",
"rev": "b10b9660004b3dfaf9e11a305d78f24955b089a4",
"rev": "8e9add2afda58d233a75e4c5ce8503b24fa59ceb",
"type": "github"
},
"original": {
@@ -1021,11 +1021,11 @@
]
},
"locked": {
"lastModified": 1760023949,
"narHash": "sha256-fu0B4duamVdbkPio/czu1XhsPLRXUJpZLDrSk3nih4U=",
"lastModified": 1761675634,
"narHash": "sha256-Et1jNDB2d3e0b4okIKuyAMktECS+5hk+vMAA7X598ao=",
"owner": "hyprwm",
"repo": "hyprlock",
"rev": "36ec73f166d9434a3f27c96c575198906f77644a",
"rev": "98b86752fe4867bd14ef96a92ea788229af93130",
"type": "github"
},
"original": {
@@ -1206,11 +1206,11 @@
]
},
"locked": {
"lastModified": 1761202163,
"narHash": "sha256-6RySf5VQElrm7RYGWxlIkNttemDp4FF0aH+LX435G2Y=",
"lastModified": 1761748321,
"narHash": "sha256-hD5mVzmUeyVppjArdy2uVdQe/CQUR9i3WgZB05onE7A=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "47976126007d9658ca4ac4dd933bea8846170fd9",
"rev": "533db5857c9e00ca352558a928417116ee08a824",
"type": "github"
},
"original": {
@@ -1293,11 +1293,11 @@
]
},
"locked": {
"lastModified": 1761356901,
"narHash": "sha256-YDySchURSJrS1P8zuzmFqypUS7shY6//0e0JiMZeLSI=",
"lastModified": 1762088055,
"narHash": "sha256-zh7fDPmhmoXVTtODiDhOLlutwNLJmwOlLphVKuCCiZA=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "a8635e459ff96acbd156a8de613b99d9d6b3676a",
"rev": "d74c3702fdc737276baccab80c2053e8cde5dba5",
"type": "github"
},
"original": {
@@ -1377,11 +1377,11 @@
},
"nixpkgs_10": {
"locked": {
"lastModified": 1759386674,
"narHash": "sha256-wg1Lz/1FC5Q13R+mM5a2oTV9TA9L/CHHTm3/PiLayfA=",
"lastModified": 1761880412,
"narHash": "sha256-QoJjGd4NstnyOG4mm4KXF+weBzA2AH/7gn1Pmpfcb0A=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "625ad6366178f03acd79f9e3822606dd7985b657",
"rev": "a7fc11be66bdfb5cdde611ee5ce381c183da8386",
"type": "github"
},
"original": {
@@ -1425,11 +1425,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1761114652,
"narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=",
"lastModified": 1761907660,
"narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c",
"rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15",
"type": "github"
},
"original": {
@@ -1505,11 +1505,11 @@
},
"nixpkgs_9": {
"locked": {
"lastModified": 1761114652,
"narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=",
"lastModified": 1761907660,
"narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c",
"rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15",
"type": "github"
},
"original": {
@@ -1528,11 +1528,11 @@
"systems": "systems_5"
},
"locked": {
"lastModified": 1761112426,
"narHash": "sha256-fa3fIyXP3xQhsPaZX4WsFwPM9g64EMOucfDEC4o8Nwc=",
"lastModified": 1762093557,
"narHash": "sha256-esmyNNa8TvduITLfqYPSMroyZ9vxJr2nsvjYmHmO+Ag=",
"owner": "notashelf",
"repo": "nvf",
"rev": "9b3e7bcf68ace2f07eb7478c40e45ce79332482b",
"rev": "20d8fca94dceaf943686598da7fba31b37100e50",
"type": "github"
},
"original": {
@@ -1672,11 +1672,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1761322849,
"narHash": "sha256-KzRamhMnHTBEbYM0lZqozwc9BEYOTBMxVyAtDyiRq3s=",
"lastModified": 1762016333,
"narHash": "sha256-PT8hXDYyeRjh9BGyLF/nZWm9TqRwP2EzeKuqUFH0M3w=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "51236f731456f305bac2b48682f8e1fa3032c989",
"rev": "fca718c0f2074bdccf9a996bb37b0fcaff80dc97",
"type": "github"
},
"original": {
@@ -1694,11 +1694,11 @@
]
},
"locked": {
"lastModified": 1761273263,
"narHash": "sha256-6d6ojnu6A6sVxIjig8OL6E1T8Ge9st3YGgVwg5MOY+Q=",
"lastModified": 1761964689,
"narHash": "sha256-Zo3LQQDz+64EQ9zor/WmeNTFLoZkjmhp0UY3G0D3seE=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "28405834d4fdd458d28e123fae4db148daecec6f",
"rev": "63d22578600f70d293aede6bc737efef60ebd97f",
"type": "github"
},
"original": {
@@ -1969,11 +1969,11 @@
]
},
"locked": {
"lastModified": 1761276110,
"narHash": "sha256-k9HfFWBxM7DNGrahC+IZtB8DcZyBW2uUW0HktffX640=",
"lastModified": 1762074512,
"narHash": "sha256-m8ZY0rmq9QXnIR08/vOyK9MnEbiziZG8mPGAVwoYEPQ=",
"ref": "refs/heads/main",
"rev": "f0b40ea6601bf74bdfb4bfeb2e969122b0115ea7",
"revCount": 140,
"rev": "eb05f21bcf0f380e45537db6c5df13b50acaa4a6",
"revCount": 143,
"type": "git",
"url": "https://git.sr.ht/~canasta/zen-browser-flake"
},

View File

@@ -53,7 +53,7 @@
};
authentik = {
url = "github:nix-community/authentik-nix/version/2025.8.3";
url = "github:nix-community/authentik-nix/version/2025.8.4";
};
flake-compat.url = "github:edolstra/flake-compat";

View File

@@ -38,17 +38,11 @@ in
./settings.nix
];
boot.initrd.luks.devices."luks-0ad53967-bb38-4485-be75-ca55ae4c3b68".device = "/dev/disk/by-uuid/0ad53967-bb38-4485-be75-ca55ae4c3b68";
networking.hostName = "bunk";
swapDevices = [
{
device = "/var/lib/swapfile";
size = 32 * 1024;
}
];
environment.variables.NH_FLAKE = "/home/cnst/.nix-config";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
system.stateVersion = lib.mkDefault "23.11";
system.stateVersion = lib.mkDefault "25.05";
}

View File

@@ -1,48 +1,36 @@
# 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, ... }:
{
config,
lib,
modulesPath,
...
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot = {
initrd = {
availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
kernelModules = [ "amdgpu" ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/d15672b5-dc97-4f99-9ad2-70f9ddf20447";
fsType = "btrfs";
options = [ "subvol=@" ];
};
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ];
};
boot.initrd.luks.devices."luks-2f0dfe96-bc63-4f38-b190-3d9fa45dc560".device = "/dev/disk/by-uuid/2f0dfe96-bc63-4f38-b190-3d9fa45dc560";
fileSystems."/" = {
device = "/dev/disk/by-uuid/da41c89a-7ab8-4697-9a14-0d115b97cc2e";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-e75ac560-748f-4071-bbe7-479678400be3".device =
"/dev/disk/by-uuid/e75ac560-748f-4071-bbe7-479678400be3";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/7E84-D168";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/F3FC-3CDF";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/e6464248-0d1e-4950-bf48-4cebeabaf871"; }
];
# 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

View File

@@ -3,7 +3,7 @@
boot = {
kernel = {
variant = "latest";
hardware = ["amd"];
hardware = [ "amd" ];
};
loader = {
default = {
@@ -20,13 +20,20 @@
};
graphics = {
enable = true;
vendors = ["amd"];
vendors = [ "amd" ];
};
logitech = {
enable = false;
};
network = {
enable = true;
nameservers = [
"192.168.88.1"
"192.168.88.69"
];
search = [
"taila7448a.ts.net"
];
interfaces = {
"wlp6s0" = {
allowedTCPPorts = [
@@ -123,10 +130,10 @@
enable = false;
};
thunar = {
enable = true;
enable = false;
};
yubikey = {
enable = true;
enable = false;
};
zsh = {
enable = false;
@@ -168,7 +175,7 @@
enable = true;
};
mullvad = {
enable = true;
enable = false;
};
nix-ld = {
enable = false;
@@ -191,11 +198,14 @@
samba = {
enable = false;
};
tailscale = {
enable = true;
};
udisks = {
enable = true;
};
zram = {
enable = false;
enable = true;
};
};
system = {

View File

@@ -22,10 +22,6 @@
traefik = {
enable = true;
};
headscale = {
enable = true;
port = 8581;
};
tailscale = {
enable = true;
};

View File

@@ -6,8 +6,9 @@
}:
let
inherit (lib) mkIf mkEnableOption;
inherit (lib.meta) getExe;
inherit (pkgs) eza bat;
packageNames = map (p: p.pname or p.name or null) config.home.packages;
hasPackage = name: lib.any (x: x == name) packageNames;
hasEza = hasPackage "eza";
cfg = config.home.programs.fish;
in
{
@@ -28,7 +29,9 @@ in
nixclean = "nh clean all --keep 3";
nixdev = "nix develop ~/.nix-config -c $SHELL";
nixup = "nh os switch -H $hostname";
nixupv = "nh os switch -v -H $hostname";
nixupn = "nh os switch -n -H $hostname";
nixupv = "nh os switch -v --show-trace -H $hostname";
nixupvn = "nh os switch -n -v --show-trace -H $hostname";
flakeup = "nix flake update";
};
shellAliases = {
@@ -44,12 +47,8 @@ in
nset = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/settings.nix";
nixosmodules = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix";
nmod = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix";
tree = "${getExe eza} --tree --icons=always";
cat = "${getExe bat} --style=plain";
ls = "${getExe eza} -h --git --icons --color=auto --group-directories-first -s extension";
ll = "${getExe eza} -l --git --icons --color=auto --group-directories-first -s extension";
lat = "${getExe eza} -lah --tree --color=auto --group-directories-first -s extension";
la = "${getExe eza} -lah --color=auto --group-directories-first -s extension";
ls = mkIf hasEza "eza";
tree = mkIf hasEza "eza --tree --icons=always";
# Clear screen and scrollback
clear = "printf '\\033[2J\\033[3J\\033[1;1H'";
};
@@ -59,14 +58,12 @@ in
# Merge history when pressing up
up-or-search = lib.readFile ./up-or-search.fish;
# Check stuff in PATH
nix-inspect =
# fish
nix-inspect = # fish
''
set -s PATH | grep "PATH\[.*/nix/store" | cut -d '|' -f2 | grep -v -e "-man" -e "-terminfo" | perl -pe 's:^/nix/store/\w{32}-([^/]*)/bin$:\1:' | sort | uniq
'';
};
interactiveShellInit =
# fish
interactiveShellInit = # fish
''
# Open command buffer in vim when alt+e is pressed
bind \ee edit_command_buffer

View File

@@ -3,13 +3,15 @@
osConfig,
clib,
...
}: let
}:
let
inherit (lib) mkIf;
cfg = osConfig.nixos.programs.hyprland;
bg = osConfig.settings.theme.background;
inherit (clib.theme.bgs) resolve;
in {
in
{
config = mkIf cfg.enable {
programs.hyprlock = {
enable = true;
@@ -52,6 +54,7 @@ in {
position = "0, 20";
halign = "center";
valign = "center";
font_family = "DepartureMono Nerd Font Mono Italic";
}
];
label = [
@@ -63,7 +66,7 @@ in {
shadow_boost = 0.5;
color = "rgba(FFFFFFFF)";
font_size = 25;
font_family = "Input Mono Compressed";
font_family = "DepartureMono Nerd Font Mono Regular";
position = "0, 230";
halign = "center";
valign = "center";
@@ -76,7 +79,7 @@ in {
shadow_boost = 0.5;
color = "rgba(FFFFFFFF)";
font_size = 85;
font_family = "Input Mono Compressed";
font_family = "DepartureMono Nerd Font Mono Regular";
position = "0, 300";
halign = "center";
valign = "center";

View File

@@ -62,16 +62,8 @@ in
[
cmatrix
xcur2png
ripgrep
file
fd
gnused
nix-tree
wireguard-tools
unzip
zip
gnutar
p7zip
]
(mkIf cfg.common.enable [

View File

@@ -131,15 +131,23 @@
"3": "3",
"4": "4",
"5": "5",
"active": "_",
"default": "_"
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"default": "_",
"active": "_"
},
"on-click": "activate",
"show-special": false,
"on-scroll-up": "hyprctl dispatch workspace r-1",
"on-scroll-down": "hyprctl dispatch workspace r+1",
"persistent-workspaces": {
"*": 3
"1": [],
"2": [],
"3": [],
"4": [],
"5": []
}
},
"niri/workspaces": {

View File

@@ -28,8 +28,8 @@ tooltip label {
margin: 0 0px;
background-color: transparent;
color: #fbf1c7;
border-top: 2px solid transparent;
border-bottom: 2px solid transparent;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
}
#workspaces button:hover {
@@ -45,7 +45,7 @@ tooltip label {
background-image: url("assets/button.svg");
background-position: center;
background-repeat: no-repeat;
background-size: 24px 20px;
background-size: 21px 18px;
}
#custom-trayicon {

View File

@@ -19,13 +19,13 @@ let
commonPackages = with pkgs; [
libva
vaapiVdpau
libva-vdpau-driver
libvdpau-va-gl
];
commonPackages32 = with pkgs.pkgsi686Linux; [
libva
vaapiVdpau
libva-vdpau-driver
libvdpau-va-gl
];

View File

@@ -3,14 +3,11 @@
lib,
pkgs,
...
}:
let
inherit (lib.meta) getExe;
inherit (pkgs) eza bat;
}: let
inherit (lib) mkIf mkEnableOption mkMerge;
cfg = config.nixos.programs.fish;
in
{
in {
options = {
nixos.programs.fish = {
enable = mkEnableOption "Enables fish shell";
@@ -22,6 +19,7 @@ in
(mkIf cfg.enable {
programs.fish = {
enable = true;
useBabelfish = true;
vendor = {
completions.enable = true;
config.enable = true;
@@ -37,7 +35,9 @@ in
nixclean = "nh clean all --keep 3";
nixdev = "nix develop ~/.nix-config -c $SHELL";
nixup = "nh os switch -H $hostname";
nixupv = "nh os switch -v -H $hostname";
nixupn = "nh os switch -n -H $hostname";
nixupv = "nh os switch -v --show-trace -H $hostname";
nixupvn = "nh os switch -n -v --show-trace -H $hostname";
flakeup = "nix flake update";
};
shellAliases = {
@@ -53,12 +53,8 @@ in
nset = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/settings.nix";
nixosmodules = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix";
nmod = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix";
tree = "${getExe eza} --tree --icons=always";
cat = "${getExe bat} --style=plain";
ls = "${getExe eza} -h --git --icons --color=auto --group-directories-first -s extension";
ll = "${getExe eza} -l --git --icons --color=auto --group-directories-first -s extension";
lat = "${getExe eza} -lah --tree --color=auto --group-directories-first -s extension";
la = "${getExe eza} -lah --color=auto --group-directories-first -s extension";
ls = lib.getExe pkgs.eza;
tree = "${lib.getExe pkgs.eza} --tree --icons=always";
# Clear screen and scrollback
clear = "printf '\\033[2J\\033[3J\\033[1;1H'";
};

View File

@@ -79,6 +79,13 @@ in
xmrig
ocl-icd
dig
unzip
zip
gnutar
gnused
p7zip
ripgrep
file
]
(mkIf cfg.common.enable [

View File

@@ -28,7 +28,7 @@ in
};
};
environment.systemPackages = with pkgs; [
protonup
protonup-ng
wine
winetricks
wine-wayland

View File

@@ -18,6 +18,7 @@
2 3 4 5 6 7 8 9 0 + ´ ' §
e p ¨
l ö ä
-
z x rmet
)
@@ -25,13 +26,16 @@
_ _ _ _ _ _ _ _ _ _ pgdn pgup del
_ _ '
_ _ _
_
_ _ @level3
)
(deflayer level3
RA-2 RA-3 S-4 RA-5 S-¨ RA-7 RA-8 RA-9 RA-0 RA-+ ⇥ ⇤ S-'
RA-5 ▲ RA-¨
◀ ▼ ▶
RA-<
RA-S-z RA-S-x @level3
)

View File

@@ -26,7 +26,7 @@ in
inputs.fonts.packages.${pkgs.system}.vcr-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
noto-fonts-color-emoji
liberation_ttf
fira-code-symbols
font-awesome

View File

@@ -2,7 +2,6 @@
imports = [
./authentik
./fail2ban
./headscale
./keepalived
./podman
./postgres

View File

@@ -1,83 +0,0 @@
{
config,
lib,
self,
...
}:
with lib; let
cfg = config.server.infra.headscale;
srv = config.server.infra;
in {
options.server.infra.headscale = {
enable = mkEnableOption "Enable headscale server configuration";
url = lib.mkOption {
type = lib.types.str;
default = "hs.${srv.www.url}";
};
port = lib.mkOption {
type = lib.types.port;
description = "The local port the service runs on";
};
};
config = mkIf cfg.enable {
# age.secrets.sobotkaHsAuth.file = "${self}/secrets/sobotkaHsAuth.age";
services = {
headscale = {
enable = true;
port = cfg.port;
settings = {
server_url = "http://${cfg.url}";
prefixes = {
v4 = "100.64.0.0/10";
v6 = "fd7a:115c:a1e0::/48";
allocation = "random";
};
dns = {
magic_dns = true;
base_domain = "ts.cnst.dev";
override_local_dns = true;
nameservers = {
global = [
"192.168.88.1"
"192.168.88.69"
];
split = {
};
};
# oidc = {
# issuer = "https://auth.cnst.dev/oauth2/openid/headscale";
# client_id = "headscale";
# client_secret_path = config.age.secrets.headscaleSecret.path;
# };
};
};
};
traefik = {
dynamicConfigOptions = {
http = {
services = {
auth.loadBalancer.servers = [
{
url = "http://localhost:8581";
}
];
};
routers = {
headscale = {
entryPoints = ["websecure"];
rule = "Host(`${cfg.url}`)";
service = "headscale";
tls.certResolver = "letsencrypt";
};
};
};
};
};
};
};
}

View File

@@ -20,11 +20,6 @@
)
svcNames);
revParts = lib.lists.reverseList (lib.splitString "." srv.ip);
revName = lib.concatStringsSep "." revParts;
localPTRs = ["${revName}.in-addr.arpa. PTR traefik.${srv.domain}"];
hostIp = hostname:
if hostname == "ziggy"
then "192.168.88.12"
@@ -116,10 +111,11 @@ in {
"255.255.255.255/32"
"2001:db8::/32"
];
local-data = localARecords;
# Example PTR entry: "14.88.168.192.in-addr.arpa. PTR traefik.cnix.dev."
# local-data-ptr = localPTRs;
local-data =
[
''"traefik.${config.settings.accounts.domains.local}. A 192.168.88.14"''
]
++ localARecords;
};
};
};

View File

@@ -39,7 +39,7 @@
enable = true;
};
ghostty = {
enable = true;
enable = false;
};
helix = {
enable = true;
@@ -57,7 +57,7 @@
enable = false;
};
nvf = {
enable = true;
enable = false;
};
nwg-bar = {
enable = true;