diff --git a/common/hm-modules/nvim.nix b/common/hm-modules/nvim.nix index 71723246..9cb5930e 100644 --- a/common/hm-modules/nvim.nix +++ b/common/hm-modules/nvim.nix @@ -65,6 +65,16 @@ in with lib; { action = "function() vim.cmd(':FloatermToggle myfloat') end"; lua = true; } + { + mode = "n"; + key = ""; + action = ":bn"; + } + { + mode = "n"; + key = ""; + action = ":bp"; + } ]; extraPlugins = with pkgs.vimPlugins; [ @@ -98,12 +108,10 @@ in with lib; { enable = true; sources = { formatting.nixpkgs_fmt.enable = true; - code_actions.shellcheck.enable = true; code_actions.statix.enable = true; diagnostics = { statix.enable = true; deadnix.enable = true; - shellcheck.enable = true; }; }; }; @@ -147,43 +155,43 @@ in with lib; { floaterm.enable = true; - nvim-cmp = { - enable = true; - autoEnableSources = true; - sources = [ - { name = "nvim_lsp"; } - { - name = "luasnip"; - option = { show_autosnippets = true; }; - } - { name = "cmp-spell"; } - { name = "cmp-rg"; } - { name = "path"; } - { name = "buffer"; } - ]; - snippet.expand = "luasnip"; - mappingPresets = [ "insert" "cmdline" ]; - mapping = { - "" = "cmp.mapping.confirm({ select = true })"; - "" = { - modes = [ "i" "s" ]; - action = '' - function(fallback) - local luasnip = require('luasnip') - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expandable() then - luasnip.expand() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end - ''; - }; - }; - }; + # cmp = { + # enable = true; + # autoEnableSources = true; + # extraOptions.sources = [ + # { name = "nvim_lsp"; } + # { + # name = "luasnip"; + # option = { show_autosnippets = true; }; + # } + # { name = "cmp-spell"; } + # { name = "cmp-rg"; } + # { name = "path"; } + # { name = "buffer"; } + # ]; + # extraOptions.snippet.expand = "luasnip"; + # # mappingPresets = [ "insert" "cmdline" ]; + # extraOptions.mapping = { + # "" = "cmp.mapping.confirm({ select = true })"; + # "" = { + # modes = [ "i" "s" ]; + # action = '' + # function(fallback) + # local luasnip = require('luasnip') + # if cmp.visible() then + # cmp.select_next_item() + # elseif luasnip.expandable() then + # luasnip.expand() + # elseif luasnip.expand_or_jumpable() then + # luasnip.expand_or_jump() + # else + # fallback() + # end + # end + # ''; + # }; + # }; + # }; }; }; }; diff --git a/common/users/default.nix b/common/users/default.nix index 47c487a0..79f64479 100644 --- a/common/users/default.nix +++ b/common/users/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, ... }: { +{ config, pkgs, lib, inputs, ... }: { imports = [ ./laura.nix ./vivian.nix ./jonathan.nix ]; programs = { @@ -14,6 +14,9 @@ source "${pkgs.fzf}/share/fzf/key-bindings.zsh" source "${pkgs.fzf}/share/fzf/completion.zsh" eval "$(${pkgs.zoxide}/bin/zoxide init zsh)" + + export TEMPDIRS="$HOME/tmp" + source "${inputs.t.packages.${pkgs.system}.default}/bin/t-rs.sh" ''; # otherwise it'll override the grml prompt promptInit = ""; diff --git a/flake.lock b/flake.lock index 19eba96b..8ed0da5f 100644 --- a/flake.lock +++ b/flake.lock @@ -108,11 +108,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1706553580, - "narHash": "sha256-eNNKiQH3aBbYL1F26LK5YdvvUZLkFKVS8M86rC+AWe8=", + "lastModified": 1710186624, + "narHash": "sha256-2Rxxn4NShQBol7ajKws1+F4oF0vle0E3V0Rnigtv9d8=", "owner": "nix-community", "repo": "comma", - "rev": "9d8bcc369e4dc1787663bae5576add02009a7c5e", + "rev": "91c3006149aa2743ca873efaa3d217a00bb7f292", "type": "github" }, "original": { @@ -150,11 +150,11 @@ ] }, "locked": { - "lastModified": 1707685877, - "narHash": "sha256-XoXRS+5whotelr1rHiZle5t5hDg9kpguS5yk8c8qzOc=", + "lastModified": 1710003968, + "narHash": "sha256-g8+K+mLiNG5uch35Oy9oDQBAmGSkCcqrd0Jjme7xiG0=", "owner": "ipetkov", "repo": "crane", - "rev": "2c653e4478476a52c6aa3ac0495e4dea7449ea0e", + "rev": "10484f86201bb94bd61ecc5335b1496794fedb78", "type": "github" }, "original": { @@ -200,6 +200,28 @@ } }, "devshell": { + "inputs": { + "flake-utils": "flake-utils_8", + "nixpkgs": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1710156081, + "narHash": "sha256-4PMY6aumJi5dLFjBzF5O4flKXmadMNq3AGUHKYfchh0=", + "owner": "numtide", + "repo": "devshell", + "rev": "bc68b058dc7e6d4d6befc4ec6c60082b6e844b7d", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_2": { "flake": false, "locked": { "lastModified": 1663445644, @@ -220,7 +242,7 @@ "alejandra": "alejandra", "all-cabal-json": "all-cabal-json", "crane": "crane_3", - "devshell": "devshell", + "devshell": "devshell_2", "flake-parts": "flake-parts_3", "flake-utils-pre-commit": "flake-utils-pre-commit", "ghc-utils": "ghc-utils", @@ -463,11 +485,11 @@ ] }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -484,11 +506,11 @@ ] }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1709336216, + "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2", "type": "github" }, "original": { @@ -568,6 +590,38 @@ "inputs": { "systems": "systems_10" }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_11": { + "locked": { + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "type": "github" + }, + "original": { + "id": "flake-utils", + "type": "indirect" + } + }, + "flake-utils_12": { + "inputs": { + "systems": "systems_12" + }, "locked": { "lastModified": 1681202837, "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", @@ -656,11 +710,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1709126324, + "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "d465f4819400de7c8d874d50b982301f28a84605", "type": "github" }, "original": { @@ -706,17 +760,21 @@ } }, "flake-utils_9": { + "inputs": { + "systems": "systems_9" + }, "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { - "id": "flake-utils", - "type": "indirect" + "owner": "numtide", + "repo": "flake-utils", + "type": "github" } }, "flakeCompat": { @@ -798,7 +856,9 @@ "gnome-autounlock-keyring": { "inputs": { "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_6" + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1702994344, @@ -837,11 +897,11 @@ ] }, "locked": { - "lastModified": 1708988456, - "narHash": "sha256-RCz7Xe64tN2zgWk+MVHkzg224znwqknJ1RnB7rVqUWw=", + "lastModified": 1710401383, + "narHash": "sha256-jskq7uDpKXrRoY4hDpNqykmSSKHUXYlo7ZFc/se7fus=", "owner": "nix-community", "repo": "home-manager", - "rev": "1d085ea4444d26aa52297758b333b449b2aa6fca", + "rev": "1ab3cec3a1bbb065b2d52b913d1431366028d5b5", "type": "github" }, "original": { @@ -858,11 +918,11 @@ ] }, "locked": { - "lastModified": 1708558280, - "narHash": "sha256-w1ns8evB6N9VTrAojcdXLWenROtd77g3vyClrqeFdG8=", + "lastModified": 1710281778, + "narHash": "sha256-bvWr9vvBrAxb44kHM3H3cY/uQg+4pYP1BM/Nu3e/7V8=", "owner": "nix-community", "repo": "home-manager", - "rev": "0b69d574162cfa6eb7919d5614a48d0185550891", + "rev": "49a266d2ca59df8a03249550e73a54626181b65d", "type": "github" }, "original": { @@ -884,11 +944,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1708388174, - "narHash": "sha256-mLROAGNyOykYwWOLga24BX05GnRE+acms0Ru10tye2o=", + "lastModified": 1710171982, + "narHash": "sha256-WFMB+Yohcvego1/vOtaq+MJ8Wvp5meOANfNifg26Ie4=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "73fec69386e8005911e15f3abe6bb6cee7fd9711", + "rev": "19ad7fd5724f30868748b8156ff25be838cd2bc5", "type": "github" }, "original": { @@ -940,11 +1000,11 @@ "utils": "utils_3" }, "locked": { - "lastModified": 1706742486, - "narHash": "sha256-sv/MISTeD0rqeVivpZJpynboMWJp6i62OmrZX1rGl38=", + "lastModified": 1709905972, + "narHash": "sha256-18OF2/ypr0n4Lp6Fk5SLHPu12ok6jM+Hv3sC0PCim0Q=", "owner": "simple-nixos-mailserver", "repo": "nixos-mailserver", - "rev": "9e36323ae3dde787f761420465c3ae560f3dbf29", + "rev": "572c1b4d69deea1093ac231c37927cfa8ccad477", "type": "gitlab" }, "original": { @@ -956,15 +1016,15 @@ "microvm": { "inputs": { "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "spectrum": "spectrum" }, "locked": { - "lastModified": 1708906061, - "narHash": "sha256-8WlGYMCtggvybPdzQschOoC9r3dl0d3lnGmlTZB6pAw=", + "lastModified": 1710327053, + "narHash": "sha256-5S3jnObtWfXlTx00KzsPwpJtDoyfa1WpZnCrWnxovcw=", "owner": "astro", "repo": "microvm.nix", - "rev": "4583e2394e1e5723746fb55dbb912385c6c6bda1", + "rev": "d535b9b6c9f6612e323d4504660ebbdcd1bd79bd", "type": "github" }, "original": { @@ -981,11 +1041,11 @@ ] }, "locked": { - "lastModified": 1697664192, - "narHash": "sha256-nRTG3rYEGFV2+putRiC96+kNXDyKaPJgT6K/1FWN7yo=", + "lastModified": 1698420672, + "narHash": "sha256-/TdeHMPRjjdJub7p7+w55vyABrsJlt5QkznPYy55vKA=", "owner": "nix-community", "repo": "naersk", - "rev": "636a9b5dd7f2ad7d7c3af929ecf95e4d4fab9e97", + "rev": "aeb58d5e8faead8980a807c840232697982d47b9", "type": "github" }, "original": { @@ -1019,7 +1079,7 @@ "nix": { "inputs": { "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_10", "nixpkgs-regression": "nixpkgs-regression" }, "locked": { @@ -1043,11 +1103,11 @@ ] }, "locked": { - "lastModified": 1708231718, - "narHash": "sha256-IZdieFWvhBkxoOFMDejqLUYqD94WN6k0YSpw0DFy+4g=", + "lastModified": 1710281379, + "narHash": "sha256-uFo9hxt982L3nFJeweW4Gip2esiGrIQlbvEGrNTh4AY=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "0e6857fa1d632637488666c08e7b02c08e3178f8", + "rev": "d9ea313bc4851670dc99c5cc979cb79750e7d670", "type": "github" }, "original": { @@ -1074,11 +1134,11 @@ }, "nixlib": { "locked": { - "lastModified": 1708821942, - "narHash": "sha256-jd+E1SD59qty65pwqad2mftzkT6vW5nNFWVuvayh4Zw=", + "lastModified": 1710031547, + "narHash": "sha256-pkUg3hOKuGWMGF9WEMPPN/G4pqqdbNGJQ54yhyQYDVY=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "479831ed8b3c9c7b80533999f880c7d0bf6a491b", + "rev": "630ebdc047ca96d8126e16bb664c7730dc52f6e6", "type": "github" }, "original": { @@ -1095,11 +1155,11 @@ ] }, "locked": { - "lastModified": 1708940320, - "narHash": "sha256-QOWRJlqT5FRESiaO42/QV/GbSRNKSa4XUDs3cNQsoWI=", + "lastModified": 1710398463, + "narHash": "sha256-fQlYanU84E8uwBpcoTCcLCwU8cqn0eQ7nwTcrWfSngc=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "5b7772406956f95e8a0e1f27218b1e7cf6e9164a", + "rev": "efd4e38532b5abfaa5c9fc95c5a913157dc20ccb", "type": "github" }, "original": { @@ -1110,11 +1170,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1708594753, - "narHash": "sha256-c/gH7iXS/IYH9NrFOT+aJqTq+iEBkvAkpWuUHGU3+f0=", + "lastModified": 1710123225, + "narHash": "sha256-j3oWlxRZxB7cFsgEntpH3rosjFHRkAo/dhX9H3OfxtY=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "3f7d0bca003eac1a1a7f4659bbab9c8f8c2a0958", + "rev": "ad2fd7b978d5e462048729a6c635c45d3d33c9ba", "type": "github" }, "original": { @@ -1236,22 +1296,6 @@ } }, "nixpkgs_10": { - "locked": { - "lastModified": 1686736559, - "narHash": "sha256-YyUSVoOKIDAscTx7IZhF9x3qgZ9dPNF19fKk+4c5irc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "ddf4688dc7aeb14e8a3c549cb6aa6337f187a884", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-23.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_11": { "locked": { "lastModified": 1645296114, "narHash": "sha256-y53N7TyIkXsjMpOG7RhvqJFGDacLs9HlyHeSTBioqYU=", @@ -1267,7 +1311,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_11": { "locked": { "lastModified": 1696165369, "narHash": "sha256-pd1cjFHCoEf9q5f9B0HhlOwwpBI9RP3HbUE6xjI7wAI=", @@ -1283,23 +1327,7 @@ "type": "github" } }, - "nixpkgs_13": { - "locked": { - "lastModified": 1682526928, - "narHash": "sha256-2cKh4O6t1rQ8Ok+v16URynmb0rV7oZPEbXkU0owNLQs=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "d6b863fd9b7bb962e6f9fdf292419a775e772891", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_14": { + "nixpkgs_12": { "locked": { "lastModified": 1670507980, "narHash": "sha256-riNZa0xzM1it3pzxciwALeMs+0CsBMWIW2FqulzK8vM=", @@ -1333,11 +1361,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1697915759, - "narHash": "sha256-WyMj5jGcecD+KC8gEs+wFth1J1wjisZf8kVZH13f1Zo=", + "lastModified": 1710159071, + "narHash": "sha256-CT0WKgcmlcWZPZL/sSSICN/Vbm4Of0ZDgxc0GFf6sYU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "51d906d2341c9e866e48c2efcaac0f2d70bfd43e", + "rev": "0fbcc4b2e8571f4af39be41752581ea09dd9ab06", "type": "github" }, "original": { @@ -1380,21 +1408,6 @@ } }, "nixpkgs_6": { - "locked": { - "lastModified": 1702933230, - "narHash": "sha256-xi8AZ3noIXrgmKLR+ij+CeYFoUTKiQuTLL+aA7FRdRQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "4e2c5373180ecd17e41e879420be69dc642a6349", - "type": "github" - }, - "original": { - "owner": "nixos", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { "locked": { "lastModified": 1708475490, "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", @@ -1410,13 +1423,13 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_7": { "locked": { - "lastModified": 1708954320, - "narHash": "sha256-n3LXNMlz7ORCjfIrIUo19a844Fec2+yg7k6NspdVCxs=", + "lastModified": 1710339354, + "narHash": "sha256-+P5ccUPiLouHexb8aJrUOVOIja9qm+fG57pgAu7uIRs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "94cda73bf2fd675de987db7c3ac81e861b892266", + "rev": "2dbc8f62d8af7a1ab962e4b20d12b25ddcb86ced", "type": "github" }, "original": { @@ -1425,13 +1438,13 @@ "type": "indirect" } }, - "nixpkgs_9": { + "nixpkgs_8": { "locked": { - "lastModified": 1708475490, - "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", + "lastModified": 1710272261, + "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0e74ca98a74bc7270d28838369593635a5db3260", + "rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2", "type": "github" }, "original": { @@ -1441,21 +1454,38 @@ "type": "github" } }, + "nixpkgs_9": { + "locked": { + "lastModified": 1686736559, + "narHash": "sha256-YyUSVoOKIDAscTx7IZhF9x3qgZ9dPNF19fKk+4c5irc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "ddf4688dc7aeb14e8a3c549cb6aa6337f187a884", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { + "devshell": "devshell", "flake-compat": "flake-compat_7", "flake-parts": "flake-parts_2", "home-manager": "home-manager_2", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_8", "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1708614940, - "narHash": "sha256-36muWApzetaV4WAEeqKsWxW4k2l0u3E841RI4sHPiz0=", + "lastModified": 1710347506, + "narHash": "sha256-qwKEfLPd6oDugHfX6efCG9A2Z6360aAObYfFnbIKhzE=", "owner": "pta2002", "repo": "nixvim", - "rev": "060a05138ca1a46fc0a0f79ef27f080cac57a59e", + "rev": "9b9912077e11478460c0d919a0101ace8966f44a", "type": "github" }, "original": { @@ -1466,11 +1496,11 @@ }, "nur": { "locked": { - "lastModified": 1709020581, - "narHash": "sha256-MXYbnsD71iTCem3/hZwMvmAQq/7uRGsLoaNn/nbWv04=", + "lastModified": 1710408786, + "narHash": "sha256-aEW6t8oODV576gPKtemz/Tolr1DPIQ/2Nt2AMGXvjgw=", "owner": "nix-community", "repo": "NUR", - "rev": "8860cc9b5dfc855f648c5b8d47f23a0d456d4869", + "rev": "cdbce2df9378877576df216d4b5e0da724823581", "type": "github" }, "original": { @@ -1499,7 +1529,7 @@ "pre-commit-hooks": { "inputs": { "flake-compat": "flake-compat_8", - "flake-utils": "flake-utils_8", + "flake-utils": "flake-utils_9", "gitignore": "gitignore_2", "nixpkgs": [ "nixvim", @@ -1586,7 +1616,7 @@ "inputs": { "fenix": "fenix", "naersk": "naersk_2", - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1690193312, @@ -1617,10 +1647,11 @@ "microvm": "microvm", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_7", "nixvim": "nixvim", "nur": "nur", "riff": "riff", + "t": "t", "vault-secrets": "vault-secrets", "vault-unseal": "vault-unseal", "webcord": "webcord" @@ -1672,11 +1703,11 @@ ] }, "locked": { - "lastModified": 1708241671, - "narHash": "sha256-zSulX9tP4R35Y8A842dGSzaHMVP91W2Ry0SXvQKD2BQ=", + "lastModified": 1710036830, + "narHash": "sha256-pnV4gO3N/7/GzyRSKTRlSfS/19KJiPSvYcL4apnSkoQ=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "d500e370b26f9b14303cb39bf1509df0a920c8b0", + "rev": "d09dac6a63a2ac4b74ac2ecdc19acd8c46c2da2c", "type": "github" }, "original": { @@ -1747,6 +1778,36 @@ "type": "github" } }, + "systems_11": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_12": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_2": { "locked": { "lastModified": 1681028828, @@ -1867,16 +1928,37 @@ "type": "github" } }, + "t": { + "inputs": { + "flake-utils": "flake-utils_10", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1710409286, + "narHash": "sha256-DTq/5A8kUSQ+8rBIPvFir3Lo7Ta3OBOMyRNrmmJQR/s=", + "owner": "jdonszelmann", + "repo": "t-rs", + "rev": "0dab4573e94ca01f17f1a325e8c2f66e9e885c2a", + "type": "github" + }, + "original": { + "owner": "jdonszelmann", + "repo": "t-rs", + "type": "github" + } + }, "utils": { "inputs": { "systems": "systems" }, "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -1920,7 +2002,7 @@ }, "utils_4": { "inputs": { - "systems": "systems_9" + "systems": "systems_11" }, "locked": { "lastModified": 1694529238, @@ -1939,9 +2021,9 @@ "vault-secrets": { "inputs": { "flake-compat": "flake-compat_9", - "flake-utils": "flake-utils_9", + "flake-utils": "flake-utils_11", "nix": "nix", - "nixpkgs": "nixpkgs_12", + "nixpkgs": "nixpkgs_11", "utils": "utils_4" }, "locked": { @@ -1960,8 +2042,10 @@ }, "vault-unseal": { "inputs": { - "flake-utils": "flake-utils_10", - "nixpkgs": "nixpkgs_13" + "flake-utils": "flake-utils_12", + "nixpkgs": [ + "nixpkgs" + ] }, "locked": { "lastModified": 1683013874, @@ -1980,7 +2064,7 @@ "webcord": { "inputs": { "dream2nix": "dream2nix", - "nixpkgs": "nixpkgs_14", + "nixpkgs": "nixpkgs_12", "webcord": "webcord_2" }, "locked": { diff --git a/flake.nix b/flake.nix index bd76733b..055521dd 100644 --- a/flake.nix +++ b/flake.nix @@ -44,8 +44,11 @@ }; vault-unseal.url = "git+https://git.0x76.dev/v/vault-unseal.git"; - gnome-autounlock-keyring.url = - "git+https://git.0x76.dev/v/gnome-autounlock-keyring.git"; + vault-unseal.inputs.nixpkgs.follows = "nixpkgs"; + gnome-autounlock-keyring.url = "git+https://git.0x76.dev/v/gnome-autounlock-keyring.git"; + gnome-autounlock-keyring.inputs.nixpkgs.follows = "nixpkgs"; + t.url = "github:jdonszelmann/t-rs"; + t.inputs.nixpkgs.follows = "nixpkgs"; attic.url = "github:zhaofengli/attic"; @@ -54,7 +57,7 @@ }; outputs = { self, nixpkgs, flake-utils-plus, nur, attic - , deploy, home-manager, gnome-autounlock-keyring, lanzaboote, ... }@inputs: + , deploy, home-manager, gnome-autounlock-keyring, lanzaboote, t, ... }@inputs: let pkgs = self.pkgs.x86_64-linux.nixpkgs; apply-local = pkgs.writeShellScriptBin "apply-local" '' diff --git a/hosts/olympus/bastion/containers/default.nix b/hosts/olympus/bastion/containers/default.nix index d2e8299d..d2af09a2 100644 --- a/hosts/olympus/bastion/containers/default.nix +++ b/hosts/olympus/bastion/containers/default.nix @@ -21,6 +21,5 @@ in { # * fc00:x containers = { - }; } diff --git a/hosts/services.nix b/hosts/services.nix new file mode 100644 index 00000000..d4fb460c --- /dev/null +++ b/hosts/services.nix @@ -0,0 +1,8 @@ +{ + olympus.bastion.nginx = { + dns = { + a = "0x76.dev"; + }; + ports = [80 443]; + }; +} diff --git a/hosts/thalassa/aoife/hardware.nix b/hosts/thalassa/aoife/hardware.nix index d14112e6..3eabe04d 100644 --- a/hosts/thalassa/aoife/hardware.nix +++ b/hosts/thalassa/aoife/hardware.nix @@ -4,13 +4,18 @@ bluetooth.enable = true; - # Vulkan - opengl.driSupport = true; - opengl.extraPackages = with pkgs; [ - amdvlk - rocm-opencl-icd - rocm-opencl-runtime - ]; + # OpenGL + Vulkan + opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + extraPackages = with pkgs; [ + amdvlk + rocm-opencl-icd + rocm-opencl-runtime + mesa.drivers + ]; + }; }; services = { @@ -47,9 +52,11 @@ # tpm enable = true; - pkcs11.enable = true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so + pkcs11.enable = + true; # expose /run/current-system/sw/lib/libtpm2_pkcs11.so tctiEnvironment.enable = true; }; }; # TPM2TOOLS_TCTI and TPM2_PKCS11_TCTI env variables - users.users.vivian.extraGroups = [ "tss" ]; # tss group has access to TPM devices + users.users.vivian.extraGroups = + [ "tss" ]; # tss group has access to TPM devices } diff --git a/hosts/thalassa/aoife/home/default.nix b/hosts/thalassa/aoife/home/default.nix index 5c543197..c568d80d 100644 --- a/hosts/thalassa/aoife/home/default.nix +++ b/hosts/thalassa/aoife/home/default.nix @@ -12,5 +12,7 @@ libreoffice-fresh jetbrains.clion jetbrains.rust-rover + eduvpn-client + localsend ]; } diff --git a/notes/arch.md b/notes/arch.md new file mode 100644 index 00000000..06df16b4 --- /dev/null +++ b/notes/arch.md @@ -0,0 +1,23 @@ +# NixOS System Config Plans + +## Levels of abstraction +1. Top-Level Host + * This is a bare-metal or otherwise non-managed VM that itself will contain VMs and Containers +2. MicroVM / Container + * As managed by a Top-Level Host + * Contains Applications/Services +3. Services / Applications + * Lowest Level, ran inside of a container or in special cases on a Top-Level Host + * Often has a port and domain associated with it + +## Open Questions +* Are MicroVMs and Containers LAN-routable or only on the Top-Level Host + * Essentially Docker vs. Proxmox networking architecture + + +## Requirements +* DHCP should be able to autoconfigure IPs at least for Top-Level hosts +* DNS should be automatically generated from Service definitions +* A Reverse Proxy shoudl also be able to be automatically set-up from service definitions +* Wireguard should function correctly +