diff --git a/flake.lock b/flake.lock index 8a76cc0..f6adf84 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "fromYaml": "fromYaml" }, "locked": { - "lastModified": 1755819240, - "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", + "lastModified": 1746562888, + "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=", "owner": "SenchoPens", "repo": "base16.nix", - "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", + "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89", "type": "github" }, "original": { @@ -21,28 +21,27 @@ "base16-fish": { "flake": false, "locked": { - "lastModified": 1754405784, - "narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=", + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", "owner": "tomyun", "repo": "base16-fish", - "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", "type": "github" }, "original": { "owner": "tomyun", "repo": "base16-fish", - "rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561", "type": "github" } }, "base16-helix": { "flake": false, "locked": { - "lastModified": 1752979451, - "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=", + "lastModified": 1748408240, + "narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=", "owner": "tinted-theming", "repo": "base16-helix", - "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac", + "rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e", "type": "github" }, "original": { @@ -79,11 +78,11 @@ ] }, "locked": { - "lastModified": 1762776565, - "narHash": "sha256-Trd4uVhg9OggkxBMn3qUv74z9rNZE/s7iT7llTYQ0ZU=", + "lastModified": 1744387566, + "narHash": "sha256-O39zTv7LdRgr4Hw38d+eQG2LYpP75rw2XKqTGV5qzgs=", "owner": "HeitorAugustoLN", "repo": "cosmic-manager", - "rev": "f26cdfef90b8db37db913f7c72a609c997700e59", + "rev": "52d3fdd080a9dd4639948687682a68282fbf0314", "type": "github" }, "original": { @@ -95,11 +94,11 @@ "firefox-gnome-theme": { "flake": false, "locked": { - "lastModified": 1758112371, - "narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=", + "lastModified": 1748383148, + "narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d", + "rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf", "type": "github" }, "original": { @@ -116,11 +115,11 @@ ] }, "locked": { - "lastModified": 1759362264, - "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "type": "github" }, "original": { @@ -137,11 +136,11 @@ ] }, "locked": { - "lastModified": 1763759067, - "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=", + "lastModified": 1754091436, + "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0", + "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd", "type": "github" }, "original": { @@ -158,11 +157,11 @@ ] }, "locked": { - "lastModified": 1756770412, - "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", + "lastModified": 1749398372, + "narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "4524271976b625a4a605beefd893f270620fd751", + "rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569", "type": "github" }, "original": { @@ -208,20 +207,18 @@ "gnome-shell": { "flake": false, "locked": { - "host": "gitlab.gnome.org", - "lastModified": 1762869044, - "narHash": "sha256-nwm/GJ2Syigf7VccLAZ66mFC8mZJFqpJmIxSGKl7+Ds=", + "lastModified": 1744584021, + "narHash": "sha256-0RJ4mJzf+klKF4Fuoc8VN8dpQQtZnKksFmR2jhWE1Ew=", "owner": "GNOME", "repo": "gnome-shell", - "rev": "680e3d195a92203f28d4bf8c6e8bb537cc3ed4ad", - "type": "gitlab" + "rev": "52c517c8f6c199a1d6f5118fae500ef69ea845ae", + "type": "github" }, "original": { - "host": "gitlab.gnome.org", "owner": "GNOME", - "ref": "gnome-49", + "ref": "48.1", "repo": "gnome-shell", - "type": "gitlab" + "type": "github" } }, "home-manager": { @@ -231,16 +228,16 @@ ] }, "locked": { - "lastModified": 1764736872, - "narHash": "sha256-4mqLegNQeD54X7enm6EI9aNWl6CaIfyhl5PaYoGYwqk=", + "lastModified": 1756245065, + "narHash": "sha256-aAZNbGcWrVRZgWgkQbkabSGcDVRDMgON4BipMy69gvI=", "owner": "nix-community", "repo": "home-manager", - "rev": "3366918730bb6b699395a9d237397f1d710a94b3", + "rev": "54b2879ce622d44415e727905925e21b8f833a98", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.11", + "ref": "release-25.05", "repo": "home-manager", "type": "github" } @@ -259,16 +256,16 @@ ] }, "locked": { - "lastModified": 1754860581, - "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", + "lastModified": 1748294338, + "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", "owner": "NuschtOS", "repo": "ixx", - "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", + "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.1.1", + "ref": "v0.0.8", "repo": "ixx", "type": "github" } @@ -278,11 +275,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1764554060, - "narHash": "sha256-vewrwjGqublgja1bvlIybRnlltKHLNlnP7WYDg+9h1Y=", + "lastModified": 1741303672, + "narHash": "sha256-eRKbKccBu3PK/oJpmUuLo+0v45d0SEjosE8tVsHbpeA=", "owner": "musnix", "repo": "musnix", - "rev": "599562080b2901046829ca69e0d1461041d27b32", + "rev": "d56a15f30329f304151e4e05fa82264d127da934", "type": "github" }, "original": { @@ -303,11 +300,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1764721873, - "narHash": "sha256-EHMH54iI7MYYb7mUBE6JUtbbVhHTF7jtkuZ0Lo1bkBg=", + "lastModified": 1756451209, + "narHash": "sha256-zrFKbXArvNjUKYYd1I48cnvlgB6cGA/mFoRvgp/wRHc=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "f3935696628433007c582fc323730ba18f137a1d", + "rev": "cdfffe0b009582f5161dcd030a5549236287767b", "type": "github" }, "original": { @@ -319,16 +316,16 @@ "niri-stable": { "flake": false, "locked": { - "lastModified": 1756556321, - "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", + "lastModified": 1748151941, + "narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=", "owner": "YaLTeR", "repo": "niri", - "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", + "rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7", "type": "github" }, "original": { "owner": "YaLTeR", - "ref": "v25.08", + "ref": "v25.05.1", "repo": "niri", "type": "github" } @@ -336,11 +333,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1764678181, - "narHash": "sha256-TMs2Px19UAG06zITXAH7efl7X8G7BDyMCy1ilX/8wy0=", + "lastModified": 1756448032, + "narHash": "sha256-ZIRj8dt8FmJdQeJjNvyK1RirYBmun+e/K3TMG8Qdodc=", "owner": "YaLTeR", "repo": "niri", - "rev": "f874b2fce50e0f7ba21e270c86cfa168a1506b82", + "rev": "dfe463ed7dcf36cc706f5540c5d0804775b5c86b", "type": "github" }, "original": { @@ -351,11 +348,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1764242076, - "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", + "lastModified": 1740695751, + "narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", + "rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4", "type": "github" }, "original": { @@ -367,11 +364,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1764560356, - "narHash": "sha256-M5aFEFPppI4UhdOxwdmceJ9bDJC4T6C6CzCK1E2FZyo=", + "lastModified": 1756217674, + "narHash": "sha256-TH1SfSP523QI7kcPiNtMAEuwZR3Jdz0MCDXPs7TS8uo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6c8f0cca84510cc79e09ea99a299c9bc17d03cb6", + "rev": "4e7667a90c167f7a81d906e5a75cba4ad8bee620", "type": "github" }, "original": { @@ -383,26 +380,26 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1764522689, - "narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=", + "lastModified": 1756469547, + "narHash": "sha256-YvtD2E7MYsQ3r7K9K2G7nCslCKMPShoSEAtbjHLtH0k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f", + "rev": "41d292bfc37309790f70f4c120b79280ce40af16", "type": "github" }, "original": { "id": "nixpkgs", - "ref": "nixos-25.11", + "ref": "nixos-25.05", "type": "indirect" } }, "nixpkgs_3": { "locked": { - "lastModified": 1764517877, - "narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=", + "lastModified": 1756386758, + "narHash": "sha256-1wxxznpW2CKvI9VdniaUnTT2Os6rdRJcRUf65ZK9OtE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c", + "rev": "dfb2f12e899db4876308eba6d93455ab7da304cd", "type": "github" }, "original": { @@ -422,16 +419,16 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1764755396, - "narHash": "sha256-f6UrlGdwg+TIxxyDjeq1M7WGNZH/vpbOm0yzPgkMy9c=", + "lastModified": 1755727480, + "narHash": "sha256-eb9N7XFj1zirk+D2KV+rn/CjmVHDISlxhtZCWZEVpkM=", "owner": "nix-community", "repo": "nixvim", - "rev": "64d9e2616f4ee2acee380d61ccf1f3d610e7e969", + "rev": "6df0b97b39baa1c0b3002b051f307aed68e17d1b", "type": "github" }, "original": { "owner": "nix-community", - "ref": "nixos-25.11", + "ref": "nixos-25.05", "repo": "nixvim", "type": "github" } @@ -445,14 +442,15 @@ "nixpkgs": [ "stylix", "nixpkgs" - ] + ], + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1758998580, - "narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=", + "lastModified": 1751320053, + "narHash": "sha256-3m6RMw0FbbaUUa01PNaMLoO7D99aBClmY5ed9V3vz+0=", "owner": "nix-community", "repo": "NUR", - "rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728", + "rev": "cbde1735782f9c2bb2c63d5e05fba171a14a4670", "type": "github" }, "original": { @@ -471,11 +469,11 @@ ] }, "locked": { - "lastModified": 1761730856, - "narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=", + "lastModified": 1753771532, + "narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=", "owner": "NuschtOS", "repo": "search", - "rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b", + "rev": "2a65adaf2c0c428efb0f4a2bc406aab466e96a06", "type": "github" }, "original": { @@ -504,11 +502,11 @@ ] }, "locked": { - "lastModified": 1764483358, - "narHash": "sha256-EyyvCzXoHrbL467YSsQBTWWg4sR96MH1sPpKoSOelB4=", + "lastModified": 1754988908, + "narHash": "sha256-t+voe2961vCgrzPFtZxha0/kmFSHFobzF00sT8p9h0U=", "owner": "Mic92", "repo": "sops-nix", - "rev": "5aca6ff67264321d47856a2ed183729271107c9c", + "rev": "3223c7a92724b5d804e9988c6b447a0d09017d48", "type": "github" }, "original": { @@ -538,16 +536,16 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1764695017, - "narHash": "sha256-hJVPGt8MqRL0WHkNRclT4J1rJMurYsPw7dL8UwlFoaI=", + "lastModified": 1755710103, + "narHash": "sha256-VmheUy4UzWDy/u0TvCCHptgF30peL7wRxkHy7EVpDrQ=", "owner": "danth", "repo": "stylix", - "rev": "a1e741dbce6e846129777c2a017e1354bc87b92b", + "rev": "79be65b20d7b8fb7e8f39ba8121cfe41b7f46808", "type": "github" }, "original": { "owner": "danth", - "ref": "release-25.11", + "ref": "release-25.05", "repo": "stylix", "type": "github" } @@ -633,11 +631,11 @@ "tinted-schemes": { "flake": false, "locked": { - "lastModified": 1757716333, - "narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=", + "lastModified": 1750770351, + "narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=", "owner": "tinted-theming", "repo": "schemes", - "rev": "317a5e10c35825a6c905d912e480dfe8e71c7559", + "rev": "5a775c6ffd6e6125947b393872cde95867d85a2a", "type": "github" }, "original": { @@ -649,11 +647,11 @@ "tinted-tmux": { "flake": false, "locked": { - "lastModified": 1757811970, - "narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=", + "lastModified": 1751159871, + "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=", "owner": "tinted-theming", "repo": "tinted-tmux", - "rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e", + "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c", "type": "github" }, "original": { @@ -665,11 +663,11 @@ "tinted-zed": { "flake": false, "locked": { - "lastModified": 1757811247, - "narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=", + "lastModified": 1751158968, + "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=", "owner": "tinted-theming", "repo": "base16-zed", - "rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e", + "rev": "86a470d94204f7652b906ab0d378e4231a5b3384", "type": "github" }, "original": { @@ -678,6 +676,28 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "stylix", + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "xwayland-satellite-stable": { "flake": false, "locked": { @@ -698,11 +718,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1764721075, - "narHash": "sha256-ChH4nq0cMEEkzkHqKlQt5Z7wxrk8ybcEHuA1YKAYmV0=", + "lastModified": 1756260173, + "narHash": "sha256-wcf04fl5ncbOqAK7OCWIgILERIbMfL/eeM3UThqgErI=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "1b918e29b419e89910014054e8b71d54c9235ea5", + "rev": "af33f7eb124b51ff6d9cdf9b428643e2246c8cbb", "type": "github" }, "original": { @@ -716,11 +736,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1764648680, - "narHash": "sha256-B/nmawJ75/951Xs9ludSxDVd/txFY+odmcbinySqMQo=", + "lastModified": 1756526767, + "narHash": "sha256-aMcUT5QOgVghB+x89xf9+Phc/BTIQfoitVIcQ66ZQWk=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "897df2f2ad4880563ce801fa29f348a4e98f0a20", + "rev": "3cef1d4a0b597c1746d399cc46ef98a53af9a732", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index dc82f00..fcce8b5 100644 --- a/flake.nix +++ b/flake.nix @@ -1,14 +1,14 @@ { description = "A flake using my config"; inputs = { - nixpkgs.url = "nixpkgs/nixos-25.11"; + nixpkgs.url = "nixpkgs/nixos-25.05"; musnix.url = "github:musnix/musnix"; home-manager = { - url = "github:nix-community/home-manager/release-25.11"; + url = "github:nix-community/home-manager/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; stylix = { - url = "github:danth/stylix/release-25.11"; + url = "github:danth/stylix/release-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { @@ -16,7 +16,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { - url = "github:nix-community/nixvim/nixos-25.11"; + url = "github:nix-community/nixvim/nixos-25.05"; inputs.nixpkgs.follows = "nixpkgs"; }; zen-browser = { diff --git a/hardware/zenix.nix b/hardware/zenix.nix index daba723..8019544 100644 --- a/hardware/zenix.nix +++ b/hardware/zenix.nix @@ -66,14 +66,6 @@ hardware.cpu.amd.updateMicrocode = true; hardware.cpu.x86.msr.enable = true; - hardware.amdgpu = { - opencl.enable = true; - amdvlk = { - enable = true; - support32Bit.enable = true; - }; - }; - networking.hostName = "zenix"; services.openssh.enable = true; @@ -85,8 +77,8 @@ home-manager.users.${user}.imports = [ { home.stateVersion = "22.05"; - programs.niri.settings = { - outputs."HP Inc. HP 24x 1CR9500W9Q" = { + programs.niri.settings.outputs = { + "DP-3" = { mode = { width = 1920; height = 1080; @@ -95,7 +87,7 @@ variable-refresh-rate = true; scale = 1.0; }; - outputs."HDMI-A-1" = { + "HDMI-A-1" = { mode = { width = 3840; height = 2160; diff --git a/home/default.nix b/home/default.nix index b68866f..824d722 100644 --- a/home/default.nix +++ b/home/default.nix @@ -29,7 +29,7 @@ mosh ripgrep usbutils - dust + du-dust htop btop libsixel diff --git a/home/desktop/niri/default.nix b/home/desktop/niri/default.nix index 40431d5..0b7e958 100644 --- a/home/desktop/niri/default.nix +++ b/home/desktop/niri/default.nix @@ -35,7 +35,7 @@ input.keyboard = { xkb.layout = "us,gb"; xkb.variant = "dvorak,"; - xkb.options = "caps:escape,esperanto:qwerty,lv3:ralt_switch"; + xkb.options = "caps:escape"; }; input.mouse = { accel-profile = "flat"; @@ -47,9 +47,9 @@ dwt = true; # disable when typing }; prefer-no-csd = true; - xwayland-satellite = { - path = lib.getExe pkgs.xwayland-satellite; - }; + spawn-at-startup = [ + {command = [(lib.getExe pkgs.xwayland-satellite)];} + ]; layout = { preset-column-widths = [ {proportion = 1.0;} @@ -58,6 +58,7 @@ }; environment = { NIXOS_OZONE_WL = "1"; + DISPLAY = ":0"; }; binds = with config.lib.niri.actions; { "Mod+Return".action.spawn = [(lib.getExe config.programs.terminal)]; @@ -112,7 +113,7 @@ "Mod+G".action = toggle-window-floating; "Mod+Shift+Ctrl+Alt+Space".action = switch-layout "next"; - "Print".action.screenshot = []; + "Print".action = screenshot; "XF86AudioRaiseVolume".action.spawn = ["raise-volume"]; "XF86AudioLowerVolume".action.spawn = ["lower-volume"]; diff --git a/home/modules/email.nix b/home/modules/email.nix index 5a55dd6..6b491c5 100644 --- a/home/modules/email.nix +++ b/home/modules/email.nix @@ -35,9 +35,9 @@ in { } ]; - programs.git.settings.user = { - name = config.home.userFullname; - email = cfg.email; + programs.git = { + userName = config.home.userFullname; + userEmail = cfg.email; }; accounts.email.accounts.${cfg.email} = lib.mkIf cfg.terminal { @@ -71,6 +71,7 @@ in { sidebar.enable = true; }; programs.mbsync.enable = cfg.terminal; + services.mbsync.enable = cfg.terminal; programs.aerc = { enable = cfg.terminal; diff --git a/home/programs/gamer.nix b/home/programs/gamer.nix index e58aa94..cbfeba7 100644 --- a/home/programs/gamer.nix +++ b/home/programs/gamer.nix @@ -8,6 +8,7 @@ # Helpers heroic + lutris gamescope gamemode mangohud diff --git a/home/programs/git.nix b/home/programs/git.nix index f950f88..cc2b2ab 100644 --- a/home/programs/git.nix +++ b/home/programs/git.nix @@ -6,11 +6,11 @@ }: { programs.git = { enable = true; - settings = { + extraConfig = { rerere.enabled = true; rebase.updateRefs = true; }; - settings.aliases = { + aliases = { ui = "!lazygit"; graph = "log --oneline --all --graph"; amend = "commit --amend --no-edit"; @@ -44,8 +44,10 @@ git fetch origin $opts ''}/bin/bare-clone"; }; + difftastic = { + enable = true; + }; }; - programs.difftastic = {enable = true;}; programs.lazygit = { enable = true; diff --git a/home/programs/graphical.nix b/home/programs/graphical.nix index c21ccd5..9cb3e2c 100644 --- a/home/programs/graphical.nix +++ b/home/programs/graphical.nix @@ -28,7 +28,7 @@ # other element-desktop - bitwarden-desktop + bitwarden inputs.zen-browser.packages.x86_64-linux.default ]; diff --git a/home/programs/work.nix b/home/programs/work.nix index 410713c..2f1b3c1 100644 --- a/home/programs/work.nix +++ b/home/programs/work.nix @@ -14,7 +14,7 @@ in { email = "tristan.beedell@cryoserver.com"; terminal = false; }; - programs.git.settings.extraConfig = { + programs.git.extraConfig = { "includeIf \"gitdir:~/Documents/personal/\"" = { path = "~/Documents/personal/.gitconfig"; }; @@ -44,8 +44,13 @@ in { home.sessionVariables = { CYPRESS_INSTALL_BINARY = 0; CYPRESS_RUN_BINARY = "${pkgs.cypress}/bin/Cypress"; + MONGOMS_SYSTEM_BINARY = lib.getExe' pkgs.mongodb-7_0 "mongod"; }; + gtk.gtk3.bookmarks = [ + "file:///home/tristan/OneDrive/ OneDrive" + ]; + programs.vscode = { package = pkgs.vscode; profiles.default.extensions = with pkgs; [ diff --git a/home/programs/zsh.nix b/home/programs/zsh.nix index e5056e5..2978de1 100644 --- a/home/programs/zsh.nix +++ b/home/programs/zsh.nix @@ -7,7 +7,7 @@ programs.starship.enable = true; programs.zsh = { enable = true; - dotDir = "${config.xdg.configHome}/zsh"; + dotDir = ".config/zsh"; history = { path = "${config.xdg.dataHome}/zsh/zsh_history"; }; diff --git a/lib/mkconf.nix b/lib/mkconf.nix index 2c40ce7..972a413 100644 --- a/lib/mkconf.nix +++ b/lib/mkconf.nix @@ -30,7 +30,7 @@ in users.${user}.imports = home-modules ++ [ - nixvim.homeModules.nixvim + nixvim.homeManagerModules.nixvim ../home/. { options.home.userFullname = nixpkgs.lib.mkOption {default = userFullname;}; diff --git a/lib/nixvim.nix b/lib/nixvim.nix index a716d1e..1248388 100644 --- a/lib/nixvim.nix +++ b/lib/nixvim.nix @@ -294,6 +294,7 @@ in { }; yamlls.enable = true; gopls.enable = true; + ansiblels.enable = true; }; keymaps = { lspBuf = { @@ -358,6 +359,27 @@ in { enable = true; folding = true; }; + treesitter-textobjects = { + enable = true; + select = { + enable = true; + lookahead = true; + keymaps = { + "af" = { + query = "@function.outer"; + desc = "Function Outer"; + }; + "ac" = { + query = "@comment.outer"; + desc = "Comment Outer"; + }; + "if" = { + query = "@function.inner"; + desc = "Function Inner"; + }; + }; + }; + }; oil = { enable = true; diff --git a/nixos/modules/work.nix b/nixos/modules/work.nix index 2669124..94e36ff 100644 --- a/nixos/modules/work.nix +++ b/nixos/modules/work.nix @@ -11,10 +11,12 @@ in { "vscode" "steam-run" "postman" - "drawio" + "drawio" # the creator had a hissyfit over a negative review: https://github.com/jgraph/drawio/discussions/4623 + "mongodb" ]; nixpkgs.config.permittedInsecurePackages = [ + "openssl-1.1.1w" # required for mongodb "electron-27.3.11" ]; @@ -29,6 +31,8 @@ in { nixpkgs.overlays = [(import ../../lib/cypress.nix)]; + services.onedrive.enable = true; + users.users.${user}.extraGroups = ["docker"]; virtualisation.docker = { enable = true; diff --git a/nixos/services/authentik.nix b/nixos/services/authentik.nix index 186ca42..3f95bab 100644 --- a/nixos/services/authentik.nix +++ b/nixos/services/authentik.nix @@ -10,7 +10,7 @@ }; authentik-config = { autoStart = true; - image = "ghcr.io/goauthentik/server:2025.8.4"; + image = "ghcr.io/goauthentik/server:2025.6.3"; volumes = ["/home/tristan/pods/authentik/media:/media"]; environment = { AUTHENTIK_POSTGRESQL__USER = postgres.user; diff --git a/nixos/services/grafana.nix b/nixos/services/grafana.nix index 9c8497d..c6790ba 100644 --- a/nixos/services/grafana.nix +++ b/nixos/services/grafana.nix @@ -1,27 +1,15 @@ -{ - config, - lib, - pkgs, - ... -}: let +{config, lib, pkgs, ...}: let cfg = config.services.grafana; secrets = config.sops.secrets; - mkDashboards = dashboards: - pkgs.symlinkJoin { - name = "dashboards"; - paths = map mkDashboard dashboards; - }; - mkDashboard = { - name, - url, - sha256, - patch ? lib.id, - }: - pkgs.writeTextFile { - inherit name; - text = patch (builtins.readFile (builtins.fetchurl {inherit url sha256;})); - destination = "/dash/${name}.json"; - }; + mkDashboards = dashboards: pkgs.symlinkJoin { + name = "dashboards"; + paths = map mkDashboard dashboards; + }; + mkDashboard = {name, url, sha256, patch ? lib.id}: pkgs.writeTextFile { + inherit name; + text = patch (builtins.readFile ( builtins.fetchurl {inherit url sha256;} )); + destination = "/dash/${name}.json"; + }; in { sops.secrets."grafana/oidc_client_secret" = { owner = "grafana"; @@ -46,26 +34,24 @@ in { role_attribute_path = "contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer'"; }; }; - provision.dashboards.settings.providers = [ + provision.dashboards.settings.providers = [{ + name = "Node Exporter"; + type = "file"; + options.path = mkDashboards [ { - name = "Node Exporter"; - type = "file"; - options.path = mkDashboards [ - { - name = "node-exporter"; - url = "https://grafana.com/api/dashboards/1860/revisions/37/download"; - sha256 = "sha256:0qza4j8lywrj08bqbww52dgh2p2b9rkhq5p313g72i57lrlkacfl"; - # https://github.com/rfmoz/grafana-dashboards/issues/169 - patch = builtins.replaceStrings ["$__rate_interval"] ["$__range"]; - } - { - name = "synapse"; - url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json"; - sha256 = "sha256:0yzj1i4zbjy9cms75ip6ad8qyjgv9kka42gxsbzyzr2syznsmqw0"; - } - ]; + name = "node-exporter"; + url = "https://grafana.com/api/dashboards/1860/revisions/37/download"; + sha256 = "sha256:0qza4j8lywrj08bqbww52dgh2p2b9rkhq5p313g72i57lrlkacfl"; + # https://github.com/rfmoz/grafana-dashboards/issues/169 + patch = builtins.replaceStrings ["$__rate_interval"] ["$__range"]; } - ]; + { + name = "synapse"; + url = "https://raw.githubusercontent.com/element-hq/synapse/refs/heads/master/contrib/grafana/synapse.json"; + sha256 = "sha256:16fl81sx1by0wldw4vda0zr1pvbq1dpih1fikzwlvmk63mpc80kb"; + } + ]; + }]; }; services.nginx.virtualHosts = { ${cfg.settings.server.domain} = { diff --git a/nixos/services/mautrix/signal.nix b/nixos/services/mautrix/signal.nix index 10a782a..45f45d1 100644 --- a/nixos/services/mautrix/signal.nix +++ b/nixos/services/mautrix/signal.nix @@ -1,13 +1,10 @@ -{ - config, - lib, - ... -}: let +{config, lib, ...}: let inherit (import ./lib.nix) toAppRegistration; inherit (config.sops) templates placeholder; in { + virtualisation.oci-containers.containers.mautrix-signal = { - image = "dock.mau.dev/mautrix/signal:v25.10"; + image = "dock.mau.dev/mautrix/signal:v0.8.3"; dependsOn = ["mautrix-signal-psql"]; volumes = [ "/home/tristan/pods/signal-bridge/mautrix-signal:/data:z" @@ -18,15 +15,16 @@ in { ]; }; - # when you get around to backing this up - # 1. stop the server. - # 2. backup the db. - # 3. migrate to newer version of postgres - # 4. migrate db to local +# when you get around to backing this up +# 1. stop the server. +# 2. backup the db. +# 3. migrate to newer version of postgres +# 4. migrate db to local virtualisation.oci-containers.containers.mautrix-signal-psql = { image = "docker.io/postgres:14-alpine"; - ports = ["5435:5432"]; - volumes = ["/home/tristan/pods/signal-bridge/db:/var/lib/postgresql/data"]; + # ports = [ "127.0.0.1:5435:5432" ]; + ports = [ "5435:5432" ]; + volumes = [ "/home/tristan/pods/signal-bridge/db:/var/lib/postgresql/data" ]; environmentFiles = [templates."mautrix-signal/psql.env".path]; }; sops.templates = { @@ -60,4 +58,5 @@ in { services.matrix-synapse.settings.app_service_config_files = [ templates."mautrix-signal/appservice.yaml".path ]; + } diff --git a/nixos/services/mautrix/whatsapp.nix b/nixos/services/mautrix/whatsapp.nix index 786e4d9..59e6da8 100644 --- a/nixos/services/mautrix/whatsapp.nix +++ b/nixos/services/mautrix/whatsapp.nix @@ -1,4 +1,5 @@ -{config, ...}: { +{config, ...}: +{ nixpkgs.config.permittedInsecurePackages = [ "olm-3.2.16" ]; @@ -6,9 +7,9 @@ enable = true; registerToSynapse = true; settings = { - database = { - type = "sqlite3-fk-wal"; - uri = "file:/var/lib/mautrix-whatsapp/mautrix-whatsapp.db?_txlock=immediate"; + appservice.database = { + type = "sqlite3"; + uri = "/var/lib/mautrix-whatsapp/mautrix-whatsapp.db"; }; homeserver = { address = "http://localhost:8008"; @@ -19,13 +20,12 @@ "tristans.cloud" = "user"; "@tristan:tristans.cloud" = "admin"; }; + encryption = { + allow = true; + appservice = false; + }; personal_filtering_spaces = true; }; - encryption = { - allow = true; - appservice = false; - pickle_key = "maunium.net/go/mautrix-whatsapp"; - }; }; }; } diff --git a/nixos/services/monero.nix b/nixos/services/monero.nix index 6fdf924..c502f0d 100644 --- a/nixos/services/monero.nix +++ b/nixos/services/monero.nix @@ -8,13 +8,9 @@ extraConfig = '' prune-blockchain=1 confirm-external-bind=1 - out-peers=8 - in-peers=16 + out-peers=64 # This will enable much faster sync and tx awareness; the default 8 is suboptimal nowadays + in-peers=1024 # The default is unlimited; we prefer to put a cap on this zmq-pub=tcp://localhost:18083 - add-priority-node=p2pmd.xmrvsbeast.com:18080 - add-priority-node=nodes.hashvault.pro:18080 - enable-dns-blocklist=1 - enforce-dns-checkpointing=1 ''; }; } diff --git a/nixos/services/musnix.nix b/nixos/services/musnix.nix index c548544..eeff1e2 100644 --- a/nixos/services/musnix.nix +++ b/nixos/services/musnix.nix @@ -25,22 +25,5 @@ carla drumgizmo distrho-ports - surge - surge-XT - guitarix - gxplugins-lv2 - airwindows-lv2 - mod-distortion - mod-arpeggiator-lv2 - aether-lv2 - neural-amp-modeler-lv2 - bchoppr - bshapr - chow-tape-model - chow-kick - chow-phaser - chow-centaur - quadrafuzz - fire ]; } diff --git a/nixos/services/synapse/default.nix b/nixos/services/synapse/default.nix index c80c8d8..229063e 100644 --- a/nixos/services/synapse/default.nix +++ b/nixos/services/synapse/default.nix @@ -36,11 +36,6 @@ in { "synapse/secrets.yaml" = { owner = "matrix-synapse"; content = builtins.toJSON { - jwt_config = { - enabled = true; - secret = sops.placeholder."synapse/oidc_client_secret"; - algorithm = "RS256"; - }; oidc_providers = [ { idp_id = "authentik"; @@ -89,21 +84,6 @@ in { ]; } ]; - # log_config = pkgs.writeTextFile { - # name = "synapse-logging.json"; - # text = builtins.toJSON { - # version = 1; - # root = { - # level = "INFO"; - # handlers = ["console"]; - # }; - # formatters.precise.format = "%(levelname)s - %(name)s - %(message)s"; - # handlers.console = { - # class = "logging.StreamHandler"; - # formatter = "precise"; - # }; - # }; - # }; }; }; diff --git a/nixos/workstation.nix b/nixos/workstation.nix index 8d36e30..e898bd8 100644 --- a/nixos/workstation.nix +++ b/nixos/workstation.nix @@ -26,6 +26,10 @@ services.gnome.gnome-keyring.enable = true; + programs.kdeconnect.enable = true; + + virtualisation.waydroid.enable = true; + services.displayManager.cosmic-greeter.enable = true; networking.stevenblack = { @@ -69,7 +73,7 @@ }; emoji = { - package = pkgs.noto-fonts-color-emoji; + package = pkgs.noto-fonts-emoji; name = "Noto Color Emoji"; }; }; diff --git a/pkgs/mpv-skipsilence.nix b/pkgs/mpv-skipsilence.nix index c7e318b..1391603 100644 --- a/pkgs/mpv-skipsilence.nix +++ b/pkgs/mpv-skipsilence.nix @@ -10,7 +10,7 @@ buildLua { src = fetchgit { url = "https://codeberg.org/ferreum/mpv-skipsilence.git"; - hash = "sha256-XmrVZRJAQctIiuznw/fQzs+9+QKOyTnJI2JOEWBWnVA="; + hash = "sha256-+sOMWFFumJUk5gFE1iCTvWub3PWzYOkulXJLCGS4fYA="; }; passthru.updateScript = gitUpdater {};