diff --git a/flake.lock b/flake.lock index 35ce449..43c20a6 100644 --- a/flake.lock +++ b/flake.lock @@ -55,16 +55,16 @@ ] }, "locked": { - "lastModified": 1781981105, - "narHash": "sha256-/1nNBbA7PrSQpTc9Qazkhl4kIPg+TNl0CjxS3UQJKlw=", + "lastModified": 1772985280, + "narHash": "sha256-FdrNykOoY9VStevU4zjSUdvsL9SzJTcXt4omdEDZDLk=", "owner": "nix-community", "repo": "home-manager", - "rev": "7bfff44b465909f69a442701293bc0badcf476dc", + "rev": "8f736f007139d7f70752657dff6a401a585d6cbc", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-26.05", + "ref": "release-25.11", "repo": "home-manager", "type": "github" } @@ -76,16 +76,16 @@ ] }, "locked": { - "lastModified": 1781772065, - "narHash": "sha256-xIbRSwDB1GBAUsWsQZUjudGfAGQt3BOpsWaO/ugVa4w=", + "lastModified": 1772129556, + "narHash": "sha256-Utk0zd8STPsUJPyjabhzPc5BpPodLTXrwkpXBHYnpeg=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "adda04f0bf4819575b1978c2f8d78401b3c2be12", + "rev": "ebec37af18215214173c98cf6356d0aca24a2585", "type": "github" }, "original": { "owner": "LnL7", - "ref": "nix-darwin-26.05", + "ref": "nix-darwin-25.11", "repo": "nix-darwin", "type": "github" } @@ -112,43 +112,43 @@ }, "nixpkgs": { "locked": { - "lastModified": 1782375420, - "narHash": "sha256-wiPYmEuHbJvleW489n6+lamL7JSJg3pcKUYwURU9CkI=", + "lastModified": 1772822230, + "narHash": "sha256-yf3iYLGbGVlIthlQIk5/4/EQDZNNEmuqKZkQssMljuw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4062d36ebeae843c750011eef6b61ec9a9dbc9a9", + "rev": "71caefce12ba78d84fe618cf61644dce01cf3a96", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-26.05", + "ref": "nixos-25.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-darwin": { "locked": { - "lastModified": 1782185013, - "narHash": "sha256-MMIaAyu3HWrWUBTWEGjhSw3CxfAOVfgqdWv4hcx/+Fs=", + "lastModified": 1766129819, + "narHash": "sha256-crNRwvsbH2XSV8IwBjX6Tm+uWmYwhYyRuNVJ9/ZwlmA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9a54db6898b38a6beded82ce6890b46a0a517d72", + "rev": "eedcb27bf99430e51f83d896cd1149b828290d20", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-26.05-darwin", "repo": "nixpkgs", + "rev": "eedcb27bf99430e51f83d896cd1149b828290d20", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1782175435, - "narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=", + "lastModified": 1772771118, + "narHash": "sha256-xWzaTvmmACR/SRWtABgI/Z97lcqwJAeoSd5QW1KdK1s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "89570f24e97e614aa34aa9ab1c927b6578a43775", + "rev": "e38213b91d3786389a446dfce4ff5a8aaf6012f2", "type": "github" }, "original": { @@ -166,11 +166,11 @@ ] }, "locked": { - "lastModified": 1782590177, - "narHash": "sha256-TkFqACbfUwWeD00ROAXNhxI2wflPP2poUOLeeq60bRg=", + "lastModified": 1773029295, + "narHash": "sha256-xmHhVHbaA5hR3dCEoGwqAgL6HTTJ0KEMRUTLdJuVtGM=", "owner": "nix-community", "repo": "NUR", - "rev": "ed5872eecf655379bfe46debce7182956b9ad080", + "rev": "bf45b24de2134f1488f7a6c135f4b0420ccec6fe", "type": "github" }, "original": { @@ -189,11 +189,11 @@ ] }, "locked": { - "lastModified": 1775856943, - "narHash": "sha256-b7Mp7P+q2Md5AGt4rjHfMcBykzMumFTen10ST++AuTU=", + "lastModified": 1772361940, + "narHash": "sha256-B1Cz+ydL1iaOnGlwOFld/C8lBECPtzhiy/pP93/CuyY=", "owner": "nix-community", "repo": "plasma-manager", - "rev": "a524a6160e6df89f7673ba293cf7d78b559eb1a5", + "rev": "a4b33606111c9c5dcd10009042bb710307174f51", "type": "github" }, "original": { @@ -204,11 +204,11 @@ }, "quadlet-nix": { "locked": { - "lastModified": 1782004439, - "narHash": "sha256-OANOcPKJ3JThp2x/ccz4DDrGDY2hIgM5SBLI51swgfI=", + "lastModified": 1770606362, + "narHash": "sha256-6pOOPOQr4rtgShBtkLkSDTql5rRqcUgTRz8O+axK2eM=", "owner": "SEIAROTg", "repo": "quadlet-nix", - "rev": "f1652b490b812c4e0b2a36565cdbedf87f35e438", + "rev": "f4ae60350ea6015b6560cbd0e1f11f7e195c993d", "type": "github" }, "original": { @@ -240,11 +240,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1782532968, - "narHash": "sha256-nRE0OA58F9UtlZkAzfggrLfTcXhqvP89pE5CCIgujBk=", + "lastModified": 1773028978, + "narHash": "sha256-4BjOTYhHP8ljHShQyZ1gUIdwgSLjvaGN2ueKfqp6CQk=", "owner": "rycee", "repo": "nur-expressions", - "rev": "06aa41fb8e537b83fab322ff2c9444ecc5bbe720", + "rev": "a6ed037ffc0b50a9bd0c92e20e31f270a03ca1e3", "type": "gitlab" }, "original": { diff --git a/flake.nix b/flake.nix index 43caddc..65412b6 100644 --- a/flake.nix +++ b/flake.nix @@ -3,8 +3,10 @@ inputs = { # Specify the source of Home Manager and Nixpkgs. - nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; - nixpkgs-darwin.url = "github:nixos/nixpkgs/nixpkgs-26.05-darwin"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; + # Revert to a cached version of Julia for aarch64-darwin + nixpkgs-darwin.url = + "github:nixos/nixpkgs/eedcb27bf99430e51f83d896cd1149b828290d20"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; # Inputs for both darwin and linux systems @@ -17,7 +19,7 @@ }; }; home-manager = { - url = "github:nix-community/home-manager/release-26.05"; + url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; nur = { @@ -41,7 +43,7 @@ # Darwin-specific inputs nix-darwin = { - url = "github:LnL7/nix-darwin/nix-darwin-26.05"; + url = "github:LnL7/nix-darwin/nix-darwin-25.11"; inputs.nixpkgs.follows = "nixpkgs-darwin"; }; nix-rosetta-builder = { diff --git a/homes/common.nix b/homes/common.nix index 4f55d6f..389c618 100644 --- a/homes/common.nix +++ b/homes/common.nix @@ -32,7 +32,7 @@ most p7zip pdfgrep - # pipx + pipx python3 ]; sessionVariables = { diff --git a/homes/desktop.nix b/homes/desktop.nix index fa3d500..37cdec8 100644 --- a/homes/desktop.nix +++ b/homes/desktop.nix @@ -22,7 +22,7 @@ nerd-fonts.symbols-only nil nixd - nixfmt + nixfmt-classic nixos-rebuild quarto roboto-slab diff --git a/homes/linux-desktop.nix b/homes/linux-desktop.nix index 6447c0d..8d25100 100644 --- a/homes/linux-desktop.nix +++ b/homes/linux-desktop.nix @@ -6,7 +6,7 @@ in { imports = [ ./../programs/plasma.nix ]; home = { - packages = with pkgs; [ sqlitebrowser custom-pkgs.sc4pac ]; + packages = with pkgs; [ kwalletcli sqlitebrowser custom-pkgs.sc4pac ]; sessionVariables = { ZED_WINDOW_DECORATIONS = "server"; }; }; services = { @@ -14,7 +14,7 @@ in { # Use kwallet cli, but put it in extraConfig, otherwise gpg-agent will # ask the cli for the password, instead of asking the pinentry package for it extraConfig = '' - pinentry-program /usr/bin/pinentry-qt + pinentry-program ${pkgs.kwalletcli}/bin/pinentry-kwallet ''; }; }; diff --git a/programs/firefox.nix b/programs/firefox.nix index 0dfac84..e14e27a 100644 --- a/programs/firefox.nix +++ b/programs/firefox.nix @@ -1,9 +1,8 @@ -{ pkgs, config, firefox-addons, buildFirefoxXpiAddon, lib, ... }: { +{ pkgs, firefox-addons, buildFirefoxXpiAddon, lib, ... }: { programs.firefox = { enable = true; package = null; # Use native package manager/Homebrew b/c there are fewer breakages - configPath = "${config.xdg.configHome}/mozilla/firefox"; nativeMessagingHosts = [ ]; profileVersion = null; profiles = { diff --git a/programs/neovim.nix b/programs/neovim.nix index 205406d..39e6645 100644 --- a/programs/neovim.nix +++ b/programs/neovim.nix @@ -4,8 +4,6 @@ package = pkgs.neovim-unwrapped; defaultEditor = true; coc.enable = true; - withRuby = false; - withPython3 = false; plugins = with pkgs.vimPlugins; [ mason-nvim mason-lspconfig-nvim @@ -18,7 +16,7 @@ lspsaga-nvim vim-slime ]; - initLua = '' + extraLuaConfig = '' require("mason").setup() ''; }; diff --git a/programs/ssh.nix b/programs/ssh.nix index c386574..a094d44 100644 --- a/programs/ssh.nix +++ b/programs/ssh.nix @@ -1,57 +1,57 @@ { pkgs, lib, config, hostname, ... }: let sshIdPath = host: "~/.ssh/id_ed25519__${host}"; - tailnetConfig = host: { IdentityFile = sshIdPath host; }; - gitConfig = host: tailnetConfig host // { User = "git"; }; + tailnetConfig = host: { identityFile = sshIdPath host; }; + gitConfig = host: tailnetConfig host // { user = "git"; }; tailnetHosts = [ "anderson" "mcentire" "bosephus" ]; gitHosts = [ "github.com" "gitlab.com" "codeberg.org" "code.millironx.com" ]; tailnetMatchBlocks = lib.genAttrs (lib.lists.remove hostname tailnetHosts) tailnetConfig; gitMatchBlocks = lib.genAttrs gitHosts gitConfig // { "code.millironx.com" = (gitConfig "code.millironx.com") // { - ProxyCommand = "ssh anderson -W localhost:2222"; - HostName = "code.millironx.com"; + proxyCommand = "ssh anderson -W localhost:2222"; + hostname = "code.millironx.com"; }; }; in { programs.ssh = { enable = true; enableDefaultConfig = false; - settings = { - "*" = { IdentitiesOnly = true; }; + matchBlocks = { + "*" = { identitiesOnly = true; }; "aahz" = { - HostName = "nistac-108-37.dhcp.ksu.edu"; - User = "tchristensen"; - IdentityFile = sshIdPath "aahz"; + hostname = "nistac-108-37.dhcp.ksu.edu"; + user = "tchristensen"; + identityFile = sshIdPath "aahz"; }; "skeeve" = { - HostName = "129.130.108.157"; - User = "tchristensen"; - IdentityFile = sshIdPath "skeeve"; + hostname = "129.130.108.157"; + user = "tchristensen"; + identityFile = sshIdPath "skeeve"; }; "ceres" = { - HostName = "ceres.scinet.usda.gov"; - User = "thomas.christensen"; - IdentitiesOnly = false; - ServerAliveInterval = 20; - ServerAliveCountMax = 30; - TCPKeepAlive = "yes"; + hostname = "ceres.scinet.usda.gov"; + user = "thomas.christensen"; + identitiesOnly = false; + serverAliveInterval = 20; + serverAliveCountMax = 30; + extraOptions = { TCPKeepAlive = "yes"; }; }; "atlas" = { - HostName = "Atlas-login-1.hpc.msstate.edu"; - User = "thomas.christensen"; - IdentitiesOnly = false; - ServerAliveInterval = 20; - ServerAliveCountMax = 30; - TCPKeepAlive = "yes"; + hostname = "Atlas-login-1.hpc.msstate.edu"; + user = "thomas.christensen"; + identitiesOnly = false; + serverAliveInterval = 20; + serverAliveCountMax = 30; + extraOptions = { TCPKeepAlive = "yes"; }; }; "atlas-dtn" = { - HostName = "Atlas-dtn.hpc.msstate.edu"; - User = "thomas.christensen"; - IdentitiesOnly = false; + hostname = "Atlas-dtn.hpc.msstate.edu"; + user = "thomas.christensen"; + identitiesOnly = false; }; "code.millironx.com" = { - ProxyCommand = "ssh anderson -W localhost:2222"; + proxyCommand = "ssh anderson -W localhost:2222"; }; } // tailnetMatchBlocks // gitMatchBlocks; }; diff --git a/programs/zed.nix b/programs/zed.nix index d2dba9e..639bd20 100644 --- a/programs/zed.nix +++ b/programs/zed.nix @@ -65,7 +65,9 @@ }; }; }; - Nix = { formatter.external.command = "${pkgs.nixfmt}/bin/nixfmt"; }; + Nix = { + formatter.external.command = "${pkgs.nixfmt-classic}/bin/nixfmt"; + }; }; lsp = { nil = { settings.nix.flake.autoArchive = true; }; diff --git a/services/jellyfin.nix b/services/jellyfin.nix index 900a71a..b44da89 100644 --- a/services/jellyfin.nix +++ b/services/jellyfin.nix @@ -1,9 +1,13 @@ -{ pkgs, lib, config, ... }: -let driver-name = "iHD"; -in { +{ pkgs, lib, config, ... }: let + driver-name = "iHD"; in +{ environment = { sessionVariables.LIBVA_DRIVER_NAME = driver-name; - systemPackages = with pkgs; [ jellyfin jellyfin-web jellyfin-ffmpeg ]; + systemPackages = with pkgs; [ + jellyfin + jellyfin-web + jellyfin-ffmpeg + ]; }; hardware.graphics = { @@ -11,13 +15,13 @@ in { extraPackages = with pkgs; [ intel-ocl intel-media-driver - intel-compute-runtime-legacy1 ]; }; # Allow the unfree drivers - nixpkgs.config.allowUnfreePredicate = pkg: - builtins.elem (lib.getName pkg) [ "intel-ocl" ]; + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "intel-ocl" + ]; services.jellyfin = { enable = true; @@ -26,6 +30,5 @@ in { systemd.services.jellyfin.environment.LIBVA_DRIVER_NAME = driver-name; - users.users.${config.services.jellyfin.user}.extraGroups = - [ "mixstudios" "render" ]; + users.users.${config.services.jellyfin.user}.extraGroups = [ "mixstudios" "render" ]; }