My NixOS config Part 3: Flake-Parts Crusaders nix.ladas552.me
hjem nix nixos impermanence flake-parts nvfetcher niri noctalia

enabling spindle to see how it works

Ladas552 edb5f006 d0dffdd2

+65 -87
+10 -10
flake.lock
··· 96 96 "treefmt-nix": [] 97 97 }, 98 98 "locked": { 99 - "lastModified": 1766394058, 100 - "narHash": "sha256-P+59TbVusYqdx2Jt2liwvQ+hslUzU6M1ezRDy6c66Tc=", 99 + "lastModified": 1771360153, 100 + "narHash": "sha256-saDMqTzgo5nDMBCK9M2a0TrDpOCgat5zBYQh1+/AJ6s=", 101 101 "owner": "snugnug", 102 102 "repo": "hjem-rum", 103 - "rev": "edac54b7d57ad72cc4b124da2f44e7b2e584f3c6", 103 + "rev": "4a62226588cdbaef46a23c207a151d9a71961d98", 104 104 "type": "github" 105 105 }, 106 106 "original": { ··· 293 293 ] 294 294 }, 295 295 "locked": { 296 - "lastModified": 1771274219, 297 - "narHash": "sha256-n7CZAK+mTko+y3SSwvFt49AD1RNLY2KcHypcoly8HVc=", 296 + "lastModified": 1771331465, 297 + "narHash": "sha256-lTWc6reKRLQfhh4uRsBWGbdwcHt5fQpOxt6jueHZ20c=", 298 298 "owner": "notashelf", 299 299 "repo": "nvf", 300 - "rev": "99bf160aaef28d47f1818deffe662ce1c4d6e6a1", 300 + "rev": "0c650e0801aebbfc2817c11140c90768c178b13b", 301 301 "type": "github" 302 302 }, 303 303 "original": { ··· 413 413 "sqlite-lib-src": "sqlite-lib-src" 414 414 }, 415 415 "locked": { 416 - "lastModified": 1771310966, 417 - "narHash": "sha256-Stv96R6WW+FpXsSKfILauEIcTacRSZcEaTHy17yTsNY=", 416 + "lastModified": 1771327841, 417 + "narHash": "sha256-+89GXfhKRS63egvI7YmdYPSzKKiOEIrW1UFNwsLLP4Q=", 418 418 "ref": "refs/heads/master", 419 - "rev": "df9dddd24e954f28be6151ec9c4a5b4726e7eabf", 420 - "revCount": 1973, 419 + "rev": "8817c3ca119d07abef6871d2bd3d967e92e9bf20", 420 + "revCount": 1975, 421 421 "type": "git", 422 422 "url": "https://tangled.org/@tangled.org/core" 423 423 },
-1
modules/homeBrew/default.nix
··· 6 6 mpdris2-brew 7 7 syncthing-brew 8 8 userDirs-brew 9 - fastfetch-brew 10 9 imv-brew 11 10 chawan-brew 12 11 ];
-62
modules/homeBrew/fastfetch.nix
··· 1 - { 2 - flake.modules.hjem.fastfetch-brew = 3 - { 4 - lib, 5 - pkgs, 6 - config, 7 - ... 8 - }: 9 - let 10 - inherit (lib) 11 - mkEnableOption 12 - mkPackageOption 13 - mkOption 14 - mkIf 15 - ; 16 - json = pkgs.formats.json { }; 17 - cfg = config.rum.programs.fastfetch; 18 - 19 - in 20 - { 21 - 22 - options.rum.programs.fastfetch = { 23 - enable = mkEnableOption "Fastfetch"; 24 - 25 - package = mkPackageOption pkgs "fastfetch" { nullable = true; }; 26 - 27 - settings = mkOption { 28 - type = json.type; 29 - default = { }; 30 - example = { 31 - logo.source = "nixos_old_small"; 32 - display = { 33 - constants = [ "██ " ]; 34 - }; 35 - modules = [ 36 - { 37 - key = "{$1}Distro"; 38 - keyColor = "38;5;210"; 39 - type = "os"; 40 - } 41 - ]; 42 - }; 43 - description = '' 44 - The configuration written to {file}`$XDG_CONFIG_HOME/fastfetch/config.jsonc`. 45 - Please reference [Json Schema] for more information. 46 - 47 - [Json Schema]: https://gitlab.com/CarterLi/fastfetch/-/wikis/Json-Schema 48 - ''; 49 - }; 50 - }; 51 - 52 - config = mkIf cfg.enable { 53 - packages = lib.mkIf (cfg.package != null) [ cfg.package ]; 54 - 55 - xdg.config.files = { 56 - "fastfetch/config.jsonc" = mkIf (cfg.settings != { }) { 57 - source = json.generate "fastfetch-config.jsonc" cfg.settings; 58 - }; 59 - }; 60 - }; 61 - }; 62 - }
+18
modules/hosts/NixWool/nixwool.nix
··· 41 41 globalConfig = '' 42 42 email me@ladas552.me 43 43 ''; 44 + virtualHosts = { 45 + "blog.ladas552.me" = { 46 + extraConfig = '' 47 + handle { 48 + reverse_proxy http://127.0.0.1:1313 49 + } 50 + ''; 51 + }; 52 + "nix.ladas552.me" = { 53 + extraConfig = '' 54 + handle { 55 + reverse_proxy http://127.0.0.1:3131 56 + } 57 + ''; 58 + }; 59 + }; 44 60 }; 45 61 46 62 # ZFS needs it 47 63 networking.hostId = "fcb8b0b0"; 48 64 65 + # No 49 66 system.stateVersion = "26.05"; # Did you read the comment? 50 67 51 68 # It's a 2 vCPU server ··· 54 71 max-jobs = lib.mkForce 1; 55 72 }; 56 73 74 + # I don't have firewall enabled, firewall is managed by hetzner, but just to be sure I added these ports 57 75 networking.firewall.allowedTCPPorts = [ 58 76 80 59 77 443
+37 -13
modules/nixosModules/Server/tangled.nix
··· 1 1 { inputs, ... }: 2 2 { 3 3 flake.modules.nixos.tangled = 4 - { config, ... }: 4 + { config, lib, ... }: 5 5 let 6 6 cfg = config.services.tangled.knot; 7 7 in ··· 29 29 owner = "did:plc:6ikdlkw64mrjygj6cea62kn4"; # @ladas552.me 30 30 }; 31 31 }; 32 - # spindle = { 33 - # enable = true; 34 - # server = { 35 - # listenAddr = "0.0.0.0:${toString ds.port}"; 36 - # hostname = ds.extUrl; 37 - # owner = "did:plc:6ikdlkw64mrjygj6cea62kn4"; 38 - # }; 39 - # pipelines.workflowTimeout = "10m"; 40 - # }; 32 + spindle = { 33 + enable = true; 34 + server = { 35 + listenAddr = "0.0.0.0:6555"; 36 + hostname = "spindle.ladas552.me"; 37 + owner = "did:plc:6ikdlkw64mrjygj6cea62kn4"; 38 + }; 39 + pipelines.workflowTimeout = "10m"; 40 + }; 41 41 }; 42 42 }; 43 43 44 + # use podman instead of docker for spindle 45 + virtualisation.podman = { 46 + enable = true; 47 + # create a `docker` alias for podman, to use it as a drop-in replacement 48 + dockerCompat = true; 49 + # required for containers under podman-compose to be able to talk to each other. 50 + defaultNetwork.settings.dns_enabled = true; 51 + }; 52 + 53 + virtualisation.docker.enable = lib.mkForce false; 54 + 44 55 # Reverse proxy 45 - services.caddy.virtualHosts."git.ladas552.me" = { 46 - extraConfig = '' 56 + services.caddy.virtualHosts = { 57 + "git.ladas552.me".extraConfig = '' 47 58 handle { 48 59 reverse_proxy http://127.0.0.1:3050 49 60 } 50 61 ''; 62 + "spindle.ladas552.me".extraConfig = '' 63 + handle { 64 + reverse_proxy http://127.0.0.1:6555 65 + } 66 + ''; 51 67 }; 52 68 53 69 # persist for Impermanence 54 - custom.imp.root.directories = [ "/home/git" ]; 70 + custom.imp.root = { 71 + directories = [ 72 + "/home/git" 73 + ]; 74 + cache.directories = [ 75 + "/var/lib/containers" 76 + "/var/log/spindle" 77 + ]; 78 + }; 55 79 }; 56 80 }
-1
modules/userModules/fastfetch.nix
··· 51 51 }; 52 52 in 53 53 { 54 - # fastfetch hjem-rum is from https://github.com/snugnug/hjem-rum/pull/172 55 54 hjem.fastfetch.rum.programs.fastfetch = config-fastfetch; 56 55 homeManager.fastfetch.programs.fastfetch = config-fastfetch; 57 56 };