diff --git a/auxin/configuration.nix b/auxin/configuration.nix index ae9aedd..cf8a37f 100644 --- a/auxin/configuration.nix +++ b/auxin/configuration.nix @@ -31,7 +31,11 @@ let 3300 # Ceph monitors 6789 # Ceph monitors 6800 # Ceph OSD - ]; + 6801 # Ceph OSD + 6802 # Ceph OSD + 6803 # Ceph OSD + 6804 # Ceph OSD + ];#// lib.lists.range 6800 7568 ; in { imports = [ @@ -46,6 +50,10 @@ in }; networking = { + interfaces.enp5s0f0u2c2.ipv4.addresses = [{ + address = "192.168.2.153"; + prefixLength = 24; + }]; # hostName = "auxin"; # Define your hostname. nameservers = [ "192.168.1.1" ]; firewall = { @@ -63,6 +71,7 @@ in czkawka gcc go + ceph hyperfine sof-firmware jellyfin-media-player @@ -72,7 +81,6 @@ in nil dig nmap - seaweedfs nodePackages.nodejs nodePackages.pnpm ]; @@ -81,7 +89,7 @@ in groups.ceph = { }; users = { # mesh = { isNormalUser = true; extraGroups = [ "wheel" "docker" ]; }; - ceph = { isNormalUser = true; extraGroups = [ "wheel" "ceph" ]; }; + # ceph = { isNormalUser = true; extraGroups = [ "wheel" "ceph" ]; }; dockremap = { isSystemUser = true; uid = 100000; @@ -102,6 +110,7 @@ in }; }; programs = { + virt-manager.enable = true; fuse.userAllowOther = true; steam = { gamescopeSession.enable = true; @@ -137,6 +146,11 @@ in }; services = { + openiscsi = { + enable = true; + name = "iqn.2024-12.com.argentumcation:auxin"; + discoverPortal = "192.168.1.146"; + }; # ceph = { # global.fsid = "7c57bbc5-fdbf-4023-bc45-2e708ebc8e3e"; # osd = { @@ -188,7 +202,7 @@ in xserver = { enable = true; - desktopManager.xfce.enable = false; + desktopManager.xfce.enable = true; # Kodi desktopManager.kodi = { @@ -211,16 +225,21 @@ in inputstream-adaptive ]); }; - }; - displayManager.sddm = { - enable = true; - settings = { - Autologin = { - Session = "kodi.desktop"; - User = "mira"; - }; + displayManager = { + autoLogin.enable = true; + autoLogin.user = "mira"; + lightdm.greeter.enable = false; }; }; + # displayManager.sddm = { + # enable = false; + # settings = { + # Autologin = { + # Session = "kodi.desktop"; + # User = "mira"; + # }; + # }; + # }; btrbk = { }; # TODO: caddy = { }; # TODO: ceph = { }; # TODO: @@ -241,6 +260,16 @@ in samba = { enable = true; settings = { + global = { + "min protocol" = "SMB2"; + "max protocol" = "SMB3"; + "client min protocol" = "SMB2"; + "client max protocol" = "SMB3"; + "client ipc min protocol" = "SMB2"; + "client ipc max protocol" = "SMB3"; + "server min protocol" = "SMB2"; + "server max protocol" = "SMB3"; + }; public = { path = "/"; browseable = "yes"; @@ -268,9 +297,11 @@ in enableOnBoot = true; enable = true; autoPrune.enable = true; - extraOptions = "--userns-remap=default"; + # TODO: you're gonna need to disable this eventually + # extraOptions = "--userns-remap=default"; liveRestore = false; # NOTE: Incompatible with swarm }; + virtualisation.libvirtd.enable = true; # TODO: powerManagement.enable = lib.mkForce @@ -288,6 +319,19 @@ in }; }; services = { + "iscsi-login" = { + description = "Login to iSCSI target iqn.2003-01.org.linux-iscsi.lipotropin.x8664:sn.8c9b8ea2ebc9"; + after = [ "network.target" "iscsid.service" ]; + wants = [ "iscsid.service" ]; + serviceConfig = { + ExecStartPre = "${pkgs.openiscsi}/bin/iscsiadm -m discovery -t sendtargets -p 192.168.2.146"; + ExecStart = "${pkgs.openiscsi}/bin/iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.lipotropin.x8664:sn.8c9b8ea2ebc9 -p 192.168.2.146 --login"; + ExecStop = "${pkgs.openiscsi}/bin/iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.lipotropin.x8664:sn.8c9b8ea2ebc9 -p 192.168.2.146 --logout"; + Restart = "on-failure"; + RemainAfterExit = true; + }; + wantedBy = [ "multi-user.target" ]; + }; "qbittorrent-healthcheck" = { script = '' ${pkgs.docker}/bin/docker exec qbittorrent ping -c 1 -w 5 -I protonwire0 8.8.8.8 || ${pkgs.docker}/bin/docker restart qbittorrent @@ -304,6 +348,7 @@ in }; wantedBy = [ "graphical.target" ]; }; + # TODO: switch to ntfy? sshdAlert = { enable = true; unitConfig = { @@ -317,75 +362,9 @@ in }; wantedBy = [ "multi-user.target" ]; }; - ceph-mon = { - enable = true; - description = "Ceph cluster monitor daemon"; - unitConfig = { - partOf = "ceph-mon.target"; - # # According to: - # # http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget - # # these can be removed once ceph-mon will dynamically change network - # # configuration. - after = [ "network-online.target" "local-fs.target" "time-sync.target" ]; - before = [ "remote-fs-pre.target" "ceph-mon.target" ]; - wants = [ "network-online.target" "local-fs.target" "time-sync.target" "remote-fs-pre.target" "ceph-mon.target" ]; - }; - serviceConfig = { - # Environment=CLUSTER=ceph - # EnvironmentFile=-/etc/default/ceph - # ExecReload=/bin/kill -HUP $MAINPID - ExecStart="/run/current/system/sw/bin/ceph-mon -f --cluster ceph --id auxin --setuser ceph --setgroup ceph"; - # LimitNOFILE=1048576 - # LimitNPROC=1048576 - # LockPersonality=true - # MemoryDenyWriteExecute=true - # # Need NewPrivileges via `sudo smartctl` - NoNewPrivileges = false; - # # We need access to block devices to check the health of the disk backing the - # # monitor DB store. It can be set to `true` if you're not interested in that - # # feature. - PrivateDevices=false; - # PrivateTmp=true - # ProtectControlGroups=true - # ProtectHome=true - # ProtectHostname=true - # ProtectKernelLogs=true - # ProtectKernelModules=true - # ProtectKernelTunables=true - # ProtectSystem=full - # Restart=on-failure - # RestartSec=10 - # RestrictSUIDSGID=true - # StartLimitBurst=5 - # StartLimitInterval=30min - # TasksMax=infinity - }; - wantedBy = [ "ceph-mon.target" ]; - }; - # ceph-mesh = { - # enable = true; - # description = "Ceph OSD Bindings"; - # unitConfig = { - # After = "local-fs.target"; - # Wants = "local-fs.target"; - # }; - # serviceConfig = { - # Type = "oneshot"; - # KillMode = "none"; - # Environment = "CEPH_VOLUME_TIMEOUT=10000 PATH=$PATH:/run/current-system/sw/bin/"; - # ExecStart = "/bin/sh -c 'timeout $CEPH_VOLUME_TIMEOUT /run/current-system/sw/bin/ceph-volume lvm activate --all --no-systemd'"; - # TimeoutSec = 0; - # }; - # wantedBy = [ "multi-user.target" ]; - # }; - }; }; - # Copy the NixOS configuration file and link it from the resulting system - # (/run/current-system/configuration.nix). This is useful in case you - # accidentally delete configuration.nix. system = { - # copySystemConfiguration = true; # NOTE: Doesn't work with flakes stateVersion = "23.11"; # NOTE: Don't fuck with this }; diff --git a/auxin/hardware-configuration.nix b/auxin/hardware-configuration.nix index 1fe566b..edde222 100644 --- a/auxin/hardware-configuration.nix +++ b/auxin/hardware-configuration.nix @@ -17,9 +17,9 @@ systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; - initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "uas" "usbcore"]; + initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "uas" "usbcore" ]; initrd.kernelModules = [ ]; - kernelModules = [ "kvm-amd" ]; + kernelModules = [ "kvm-amd" "iscsi_tcp" ]; extraModulePackages = [ ]; }; fileSystems."/" = { @@ -28,6 +28,16 @@ options = [ "subvol=@nixos" "noatime" ]; }; + # fileSystems."/ceph/30_media" = { + # device = "none"; + # fsType = "fuse.ceph"; + # options = ["ceph.name=client.admin" "ceph.client_mds_namespace=media" "_netdev" "defaults"]; + # }; + # fileSystems."/ceph/10_roms" = { + # device = "none"; + # fsType = "fuse.ceph"; + # options = ["ceph.name=client.admin" "ceph.client_mds_namespace=roms" "_netdev" "defaults"]; + # }; fileSystems."/nix" = { device = "/dev/disk/by-label/SYSTEM"; fsType = "btrfs"; @@ -50,27 +60,39 @@ fsType = "vfat"; }; - fileSystems."/raid" = { - device = "/dev/sdb1"; + fileSystems."/ceph" = { + device = "/dev/disk/by-label/MEDIA"; fsType = "btrfs"; - options = [ "noatime" "space_cache=v2" "compress=zstd" ]; + options = [ "noatime" "ro" "degraded" "space_cache=v2" "compress=zstd" "_netdev"]; }; - systemd.services."seaweedfs-mount" = { - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - requires = [ "seaweedfs-default-filer-main.service" ]; - serviceConfig = { - ExecStartPre = [ - "${pkgs.coreutils}/bin/mkdir -m 0775 -pv /weed" - "${pkgs.e2fsprogs}/bin/chattr +i /weed" # Stop files being accidentally written to unmounted directory - ]; - ExecStart = "${pkgs.seaweedfs}/bin/weed mount -filer=localhost:4208 -dir=/weed -filer.path=/"; - ExecStopPost = "-${pkgs.fuse}/bin/fusermount -u /weed"; - KillMode = "process"; - Restart = "on-failure"; - }; + fileSystems."/raid" = { + device = "/dev/disk/by-id/ata-WDC_WD40EZAZ-00SF3B0_WD-WX32DC0RL571"; + fsType = "btrfs"; + options = [ "noatime" "space_cache=v2" "compress=zstd" "_netdev" ]; }; + # fileSystems."/raid" = { + # device = "overlay"; + # fsType = "overlay"; + # options = ["lowerdir=/ceph" "upperdir=/mnt/upperdir" "workdir=/mnt/workdir"]; + # }; + # fileSystems."/ceph/10_roms" = { + # device = "admin@2ab18802-7fa6-11ef-b66f-14ac604688a3.roms=/"; + # fsType = "ceph"; + # options = [ "_netdev" ]; + # }; + # + # fileSystems."/ceph/30_media" = { + # device = "admin@2ab18802-7fa6-11ef-b66f-14ac604688a3.media=/"; + # fsType = "ceph"; + # options = [ "_netdev" ]; + # }; + # fileSystems."/ceph/services" = { + # device = "admin@2ab18802-7fa6-11ef-b66f-14ac604688a3.services=/"; + # fsType = "ceph"; + # options = [ "_netdev" ]; + # }; + # # 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 diff --git a/common.nix b/common.nix index de7b038..85cf58a 100644 --- a/common.nix +++ b/common.nix @@ -1,12 +1,12 @@ -{ - config, - lib, - pkgs, - meta, - ... -}: let +{ config +, lib +, pkgs +, meta +, ... +}: +let sshKeys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZ87vi3BF+Mtb8Pv1Gqc9wyeXQCncJrg3lq4dwl15bkHUw4BlR2h1z8payBpGiKMnZy/NtWCclt3Jh562YhjLYHy9VtlTUlADGTvIPtczizZYPCzceC3fP1zCh2N8pUluR8J9Y+EvYWvSQkvSpwD8hhpLXeuOtFjjg0stLliI2YuVk4TJrXNmF8UNweeiBvaJW4Nye5no9h+IKTU8FPehB5BrWhTi9aTiTSxzgX3anOaTzRL1x+Lbeoo27AfZXwQJDlYHdg93csXyAP4l2g4lvtU98W3AlG7ZsipUgRWClfe4OBz1l2rT5F+l28daOFae+THOf2iG6kymesCeJiLBILWk45hmiA8Vv3XAdWxtqPJhQKrqtfm5GMm3cNZPc6N3CJe6gVw75eBCG1TjFhSVXmrHQgbmN0nFs6HU3+ghSnPmDI8A7DvWdRAKceWP39pb3g5kp/pTg+Lj+yFV2ll4/MvbN1wcSdW5azDAYLVnMCS6b8ikO16tpnLT1bbUN4M0= ceph-f4745d24-7f5e-11ef-b66f-14ac604688a3" + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCZ87vi3BF+Mtb8Pv1Gqc9wyeXQCncJrg3lq4dwl15bkHUw4BlR2h1z8payBpGiKMnZy/NtWCclt3Jh562YhjLYHy9VtlTUlADGTvIPtczizZYPCzceC3fP1zCh2N8pUluR8J9Y+EvYWvSQkvSpwD8hhpLXeuOtFjjg0stLliI2YuVk4TJrXNmF8UNweeiBvaJW4Nye5no9h+IKTU8FPehB5BrWhTi9aTiTSxzgX3anOaTzRL1x+Lbeoo27AfZXwQJDlYHdg93csXyAP4l2g4lvtU98W3AlG7ZsipUgRWClfe4OBz1l2rT5F+l28daOFae+THOf2iG6kymesCeJiLBILWk45hmiA8Vv3XAdWxtqPJhQKrqtfm5GMm3cNZPc6N3CJe6gVw75eBCG1TjFhSVXmrHQgbmN0nFs6HU3+ghSnPmDI8A7DvWdRAKceWP39pb3g5kp/pTg+Lj+yFV2ll4/MvbN1wcSdW5azDAYLVnMCS6b8ikO16tpnLT1bbUN4M0= ceph-f4745d24-7f5e-11ef-b66f-14ac604688a3" "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIMggnmTj7KL409V2mtbPgKERbmyJAeCGBcyzxWW+arRZAAAABHNzaDo= yubikey-black" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAltYcKHavkQBJFlogNuT3JhX6ob30V3EYje4pOQBLgq gpg\\mira.kristipati@gmail.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKT/rbUu87QyRD7L/QSr+lQMJz2m/mdqlqyCQEMwUJj gpgssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEw3/9inZC/MRPkuOF6T5LiFoOlgo5HZVIM36IC+hlzJ gpg\\mira-yubikey-black" @@ -20,9 +20,10 @@ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDm1kPy3bxyLX2nUwvETrsBbjmPDHEvKxmzn9dCoaa/C1tWttrvaXUhYZ6svftR7ofqjCailq1WHU4qkIlfz6Hxwq/mxZdOGRg3A2lzDgbJ5C9RSA8LIfYht2UhbqW40wHCEa1B6+bcwLHFWbDyoeT+NQO007lK4Tu1OY3nTNz3QFJgxAPtFuqQSTFpkxL8JZetQtc/KwJ5ofZBZ+nFc4PUstPE47uf4OEOaKY+fbDZ2bf8tmybGhVq6Oc+BQKij5usnQLTeN8XyVxPxGvXahXHx7ESnp//wCs6DrzoMHBbAVFVXS+w6ZzX2el9gCAcUeyZt8iu0zl9GxnVkpyQzHuuBgYON3orYaCdM5vRCnECFoK8XNwP45jNPzFxrIpSYeJ4tR4uhLxCfD3OHB/BQtOQsEdMJvnLnynzyWePeweTe2S1+ohg9zskyxt9c2rSxw8OlWdHds32JuWka6mTJCdfZgHaNY+Ppz1NEo5XYIfz9Jt0vevmaCVbBHo73Tyh6+k= norepinephrine" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmOATOG9brF/pBmMufk0LQkPQuLwgZAOZMeHCSdOpr+4Tap/mmqCHGtDL/JW6KsDfFpOFmdnSoeihVPGT3r/Mixt3cGOJlzoWXDt2bHyaEOsLz5B3MuYqBIXG3d2wvxharbmlVg3xyArSaCtuBZcopC5rXajnrPW4HxW+pxPC1NsL3RRGSF0edWdJVdX8oJJBsMMUzfeWh1bxEz2iLKMSYb6KPbQITwFTr+RuiEIppOW3n0zJko1wNG8oWTOgHdkmY4C4rUOk6KgW4qs19t7Mjlc7CnZa3XV7/0DcxERGsphpKvS7dpnEtOt7RaHUr/t0V3yLgl58MPbJKG6WSNIRaXZ0EPSlzz8k+4JjuEFdCDg7WjEDSZsBS9U4AyYQjlEwrkinT7g+LUVKYEDqb0hE539SwARvHZsOXrRgtA+Jh2CJIb/rRWfQRkgxpT9hKiBfYbSj8qbphUrbJ/g72UOQyhIbEW8fF9vmWY75NV/X2+EFZyF56ZhvLFk08sjGIF+s= u0_a441@localhost" ]; -in { +in +{ nix = { - package = pkgs.nixFlakes; + # package = pkgs.nixFlakes; optimise.automatic = true; # gc.automatic = true; extraOptions = '' @@ -59,14 +60,23 @@ in { fontDir.enable = true; packages = with pkgs; [ atkinson-hyperlegible - #nerdfonts - #fira-code-nerdfont + nerd-fonts.monaspace ]; }; services = { openssh = { + # extraConfig = '' + # Match Address 192.168.1.1 + # PasswordAuthentication no + # Match Address 192.168.1.0/24 + # PasswordAuthentication yes + # Match All + # PasswordAuthentication no + # ''; enable = true; + openFirewall = true; + authorizedKeysInHomedir = true; settings = { PermitRootLogin = lib.mkForce "prohibit-password"; PasswordAuthentication = false; @@ -76,26 +86,30 @@ in { tuptime.enable = true; tuptime.timer.enable = true; } - // lib.optionalAttrs ((builtins.match ".*-linux" pkgs.stdenv.hostPlatform.system) - != null) { - avahi = { - enable = true; - ipv4 = true; - ipv6 = true; - nssmdns6 = true; - nssmdns4 = true; - openFirewall = true; - }; - # smartd - smartd.enable = lib.mkDefault true; - } + // lib.optionalAttrs + ((builtins.match ".*-linux" pkgs.stdenv.hostPlatform.system) + != null) + { + avahi = { + enable = true; + ipv4 = true; + ipv6 = true; + nssmdns6 = true; + nssmdns4 = true; + openFirewall = true; + }; + # smartd + smartd.enable = lib.mkDefault true; + } # Mac Services - // lib.optionalAttrs ((builtins.match ".*-darwin" pkgs.stdenv.hostPlatform.system) - != null) { - nix-daemon.enable = true; - }; + // lib.optionalAttrs + ((builtins.match ".*-darwin" pkgs.stdenv.hostPlatform.system) + != null) + { + nix-daemon.enable = true; + }; users = { - groups.dockremap = {}; + groups.dockremap = { }; groups."mira".gid = 1000; users = { root.openssh.authorizedKeys.keys = sshKeys; @@ -103,7 +117,7 @@ in { isNormalUser = true; group = "mira"; uid = 1000; - extraGroups = ["wheel" "docker" "dockremap" "audio"]; + extraGroups = [ "wheel" "docker" "dockremap" "audio" ]; packages = with pkgs; [ firefox tree @@ -113,14 +127,13 @@ in { }; anish = { isNormalUser = true; - extraGroups = ["wheel" "docker" "dockremap"]; + extraGroups = [ "wheel" "docker" "dockremap" ]; shell = pkgs.zsh; - openssh.authorizedKeys.keys = ["ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF6+YE7GteMK6Lmo0oW266LmaD6jwQMnCxwv0/V9zqKR akristipati6@gatech.edu"]; + openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF6+YE7GteMK6Lmo0oW266LmaD6jwQMnCxwv0/V9zqKR akristipati6@gatech.edu" ]; }; }; }; - environment.systemPackages = with pkgs; [ - alejandra + environment.systemPackages = with pkgs; lib.lists.unique [ bat btdu btop @@ -134,7 +147,7 @@ in { fd file fzf - ceph + ceph # TODO: remove after migrating away from ceph gdu hyfetch killall @@ -153,13 +166,23 @@ in { powertop brightnessctl zoxide + zellij zsh lsof unzip + ] ++ [ + alejandra + lua-language-server + stylua ]; programs = { - tmux.enable = true; + tmux = { + enable = true; + shortcut = "a"; + keyMode = "vi"; + aggressiveResize = true; + }; git = { enable = true; lfs.enable = true; diff --git a/flake.lock b/flake.lock index 73b54c6..32acc92 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,27 @@ { "nodes": { + "cargo2nix": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1705129117, + "narHash": "sha256-LgdDHibvimzYhxBK3kxCk2gAL7k4Hyigl5KI0X9cijA=", + "owner": "cargo2nix", + "repo": "cargo2nix", + "rev": "ae19a9e1f8f0880c088ea155ab66cee1fa001f59", + "type": "github" + }, + "original": { + "owner": "cargo2nix", + "ref": "release-0.11.0", + "repo": "cargo2nix", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -17,6 +39,22 @@ } }, "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -40,11 +78,11 @@ ] }, "locked": { - "lastModified": 1726153070, - "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -62,11 +100,11 @@ ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -74,9 +112,27 @@ "type": "indirect" } }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "gitignore": "gitignore", "nixpkgs": [ "neovim-nightly-overlay", @@ -88,11 +144,11 @@ ] }, "locked": { - "lastModified": 1726745158, - "narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=", + "lastModified": 1733665616, + "narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74", + "rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a", "type": "github" }, "original": { @@ -132,11 +188,11 @@ ] }, "locked": { - "lastModified": 1724947644, - "narHash": "sha256-MHHrHasTngp7EYQOObHJ1a/IsRF+wodHqOckhH6uZbk=", + "lastModified": 1733333617, + "narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "dba4367b9a9d9615456c430a6d6af716f6e84cef", + "rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea", "type": "github" }, "original": { @@ -145,21 +201,50 @@ "type": "github" } }, + "mirafetch": { + "inputs": { + "cargo2nix": "cargo2nix", + "flake-utils": [ + "mirafetch", + "cargo2nix", + "flake-utils" + ], + "nixpkgs": [ + "mirafetch", + "cargo2nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1728409373, + "narHash": "sha256-574pVToueBW5O7GrYqOIP7LXWLaL8DtVItIYL7McMyw=", + "owner": "ArgentumCation", + "repo": "mirafetch", + "rev": "4ee59bf0ed1f8c7d645de3c07a8a8d38b6cd5447", + "type": "github" + }, + "original": { + "owner": "ArgentumCation", + "repo": "mirafetch", + "type": "github" + } + }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2", + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1727528434, - "narHash": "sha256-fzvvCB0hjPPq3BhawZxcHAxY+MQIgJp6fJoa7QN/Sfc=", + "lastModified": 1733962285, + "narHash": "sha256-djpjqhPZkqfe1USsuu+eT4ZyGO+dVvAf3l4FUCZEb6Y=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b0e07ef4637357f272a62e6bb7f5f4460766aade", + "rev": "2025aef04baf723bfa4cb8225fc11a319a5681f1", "type": "github" }, "original": { @@ -171,11 +256,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1727476305, - "narHash": "sha256-vwwFI1qM0vIBy4H3XrelrUk886+H0sJfWzEREmg2Hb8=", + "lastModified": 1733924897, + "narHash": "sha256-Fxzl754uzyNebXW54LUliFliMbw30XG+bdb0AVtPSM0=", "owner": "neovim", "repo": "neovim", - "rev": "0f067cd34d09b38f9aaf2e1732d825e89b573077", + "rev": "442d338cb50e4cf08c58cb82b6d33b6d5df9fb1b", "type": "github" }, "original": { @@ -186,14 +271,14 @@ }, "nix-darwin": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1727507295, - "narHash": "sha256-I/FrX1peu4URoj5T5odfuKR2rm4GjYJJpCGF9c0/lDA=", + "lastModified": 1733570843, + "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "f2e1c4aa29fc211947c3a7113cba1dd707433b70", + "rev": "a35b08d09efda83625bef267eb24347b446c80b8", "type": "github" }, "original": { @@ -204,11 +289,11 @@ }, "nixos-unstable": { "locked": { - "lastModified": 1727348695, - "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=", + "lastModified": 1733759999, + "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784", + "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", "type": "github" }, "original": { @@ -220,27 +305,27 @@ }, "nixpkgs": { "locked": { - "lastModified": 1727335715, - "narHash": "sha256-1uw3y94dA4l22LkqHRIsb7qr3rV5XdxQFqctINfx8Cc=", - "owner": "NixOS", + "lastModified": 1705099185, + "narHash": "sha256-SxJenKtvcrKJd0TyJQMO3p6VA7PEp+vmMnmlKFzWMNs=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "28b5b8af91ffd2623e995e20aee56510db49001a", + "rev": "2bce5ccff0ad7abda23e8bb56434b6877a446694", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", + "owner": "nixos", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-darwin": { "locked": { - "lastModified": 1727546182, - "narHash": "sha256-T2nLZbgDBhx6T2rOgw522f/WwXnXJrBOzCw+q2XgmAc=", + "lastModified": 1733776571, + "narHash": "sha256-mD1NyWpiHz9siylwga4oGZcdQWxxSEVJTWyLMltJMfw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ced0da1e7e7d50f1352bc6bdd25af8ae55eb3934", + "rev": "976c39e1457c7c9f193b32d5dbe85da2ae608d03", "type": "github" }, "original": { @@ -252,11 +337,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1727524699, - "narHash": "sha256-k6YxGj08voz9NvuKExojiGXAVd69M8COtqWSKr6sQS4=", + "lastModified": 1733749988, + "narHash": "sha256-+5qdtgXceqhK5ZR1YbP1fAUsweBIrhL38726oIEAtDs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b5b2fecd0cadd82ef107c9583018f381ae70f222", + "rev": "bc27f0fde01ce4e1bfec1ab122d72b7380278e68", "type": "github" }, "original": { @@ -267,6 +352,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1733749988, + "narHash": "sha256-+5qdtgXceqhK5ZR1YbP1fAUsweBIrhL38726oIEAtDs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "bc27f0fde01ce4e1bfec1ab122d72b7380278e68", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1718149104, "narHash": "sha256-Ds1QpobBX2yoUDx9ZruqVGJ/uQPgcXoYuobBguyKEh8=", @@ -280,13 +381,13 @@ "type": "indirect" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { - "lastModified": 1727540905, - "narHash": "sha256-40J9tW7Y794J7Uw4GwcAKlMxlX2xISBl6IBigo83ih8=", + "lastModified": 1733730953, + "narHash": "sha256-dlK7n82FEyZlHH7BFHQAM5tua+lQO1Iv7aAtglc1O5s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fbca5e745367ae7632731639de5c21f29c8744ed", + "rev": "7109b680d161993918b0a126f38bc39763e5a709", "type": "github" }, "original": { @@ -298,13 +399,77 @@ }, "root": { "inputs": { + "mirafetch": "mirafetch", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-darwin": "nix-darwin", "nixos-unstable": "nixos-unstable", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "nixpkgs-darwin": "nixpkgs-darwin", "nixpkgs-unstable": "nixpkgs-unstable" } + }, + "rust-overlay": { + "inputs": { + "flake-utils": [ + "mirafetch", + "cargo2nix", + "flake-utils" + ], + "nixpkgs": [ + "mirafetch", + "cargo2nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1705112162, + "narHash": "sha256-IAM0+Uijh/fwlfoeDrOwau9MxcZW3zeDoUHc6Z3xfqM=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "9e0af26ffe52bf955ad5575888f093e41fba0104", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733761991, + "narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 9689b42..d1601bd 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ description = "flake for mira::{auxin, leptin, gastrin}"; inputs = { + mirafetch.url = "github:ArgentumCation/mirafetch"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; nixos-unstable = { url = "github:NixOS/nixpkgs/nixos-unstable"; @@ -40,7 +41,7 @@ ./auxin/configuration.nix ./auxin/hardware-configuration.nix ./common.nix - ./primary.nix + # ./primary.nix ]; }; orexin = nixos-unstable.lib.nixosSystem {