diff --git a/flake.lock b/flake.lock index 686031c..d15a4d9 100644 --- a/flake.lock +++ b/flake.lock @@ -4,15 +4,14 @@ "inputs": { "nixpkgs": [ "nixpkgs" - ], - "utils": "utils" + ] }, "locked": { - "lastModified": 1679684476, - "narHash": "sha256-WTYZFt9cJmOSp1n3hxAS+BQnu7smcBsC98RSgdp2qsE=", + "lastModified": 1685189510, + "narHash": "sha256-Hq5WF7zIixojPgvhgcd6MBvywwycVZ9wpK/8ogOyoaA=", "owner": "rycee", "repo": "home-manager", - "rev": "db37c537603d1d45d022cc0666ad45197455b364", + "rev": "2d963854ae2499193c0c72fd67435fee34d3e4fd", "type": "github" }, "original": { @@ -24,11 +23,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1679616449, - "narHash": "sha256-E6Fvb13mDFa1ZY4lDbTpKbjvUOA4gbh23GWRf3ZzOOw=", + "lastModified": 1685168767, + "narHash": "sha256-wQgnxz0PdqbyKKpsWl/RU8T8QhJQcHfeC6lh1xRUTfk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a64e169e396460d6b5763a1de1dd197df8421688", + "rev": "e10802309bf9ae351eb27002c85cfdeb1be3b262", "type": "github" }, "original": { @@ -42,21 +41,6 @@ "home-manager": "home-manager", "nixpkgs": "nixpkgs" } - }, - "utils": { - "locked": { - "lastModified": 1676283394, - "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } } }, "root": "root", diff --git a/hardware/bios.nix b/hardware/bios.nix index a2db93a..b99b4ae 100644 --- a/hardware/bios.nix +++ b/hardware/bios.nix @@ -9,7 +9,6 @@ efiSupport = false; device = lib.mkDefault "/dev/sda"; # MBR/BIOS - version = 2; backgroundColor = "#21202D"; configurationLimit = 30; diff --git a/hardware/efi.nix b/hardware/efi.nix index ef1072e..e60b7c1 100644 --- a/hardware/efi.nix +++ b/hardware/efi.nix @@ -9,7 +9,6 @@ efiSupport = true; device = "nodev"; - version = 2; backgroundColor = "#21202D"; configurationLimit = 30; diff --git a/hosts/bubaleh.nix b/hosts/bubaleh.nix index 1e110cb..7df2152 100644 --- a/hosts/bubaleh.nix +++ b/hosts/bubaleh.nix @@ -76,8 +76,8 @@ args@{ config, lib, pkgs, ... }: boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; - boot.cleanTmpDir = true; - boot.tmpOnTmpfs = true; + boot.tmp.cleanOnBoot = true; + boot.tmp.useTmpfs = true; fileSystems."/" = { device = "/dev/disk/by-label/nixos"; diff --git a/hosts/catch-22.nix b/hosts/catch-22.nix index 84e697b..a8dd1fd 100644 --- a/hosts/catch-22.nix +++ b/hosts/catch-22.nix @@ -57,8 +57,8 @@ args@{ config, lib, pkgs, ... }: boot.loader.grub.splashImage = ../assets/wallpapers/akira.png; boot.loader.grub.splashMode = "stretch"; - boot.cleanTmpDir = true; - boot.tmpOnTmpfs = true; + boot.tmp.cleanOnBoot = true; + boot.tmp.useTmpfs = true; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; diff --git a/hosts/cyberdemon.nix b/hosts/cyberdemon.nix index e964a5f..b5c9e9a 100644 --- a/hosts/cyberdemon.nix +++ b/hosts/cyberdemon.nix @@ -45,8 +45,8 @@ ../services/vpn.nix ]; - boot.cleanTmpDir = true; - boot.tmpOnTmpfs = true; + boot.tmp.cleanOnBoot = true; + boot.tmp.useTmpfs = true; boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; diff --git a/hosts/hk47.nix b/hosts/hk47.nix index 2b02227..d50f453 100644 --- a/hosts/hk47.nix +++ b/hosts/hk47.nix @@ -100,8 +100,8 @@ args@{ config, lib, pkgs, ... }: boot.loader.grub.splashMode = "stretch"; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ]; boot.initrd.kernelModules = [ ]; - boot.cleanTmpDir = true; - boot.tmpOnTmpfs = true; + boot.tmp.cleanOnBoot = true; + boot.tmp.useTmpfs = true; boot.initrd.luks.devices = { nixos = { device = "/dev/disk/by-label/enc-nixos"; diff --git a/hosts/pepes.nix b/hosts/pepes.nix index d1810bf..03ce27a 100644 --- a/hosts/pepes.nix +++ b/hosts/pepes.nix @@ -110,8 +110,8 @@ boot.loader.grub.splashImage = lib.mkForce ../assets/wallpapers/akira.png; boot.loader.grub.splashMode = "stretch"; boot.loader.grub.backgroundColor = lib.mkForce "#09090B"; - boot.cleanTmpDir = true; - boot.tmpOnTmpfs = true; + boot.tmp.cleanOnBoot = true; + boot.tmp.useTmpfs = true; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" ]; boot.initrd.kernelModules = [ "dm-snapshot" ]; boot.kernelModules = [ "kvm-amd" "amdgpu" ]; diff --git a/hosts/prism.nix b/hosts/prism.nix index 2ce61ec..7bebb6b 100644 --- a/hosts/prism.nix +++ b/hosts/prism.nix @@ -71,8 +71,8 @@ boot.loader.grub.splashImage = ../assets/wallpapers/fractal.png; boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "usb_storage" "sd_mod" "sr_mod" "sdhci_pci" ]; boot.initrd.kernelModules = [ "dm-snapshot" ]; - boot.cleanTmpDir = true; - boot.tmpOnTmpfs = true; + boot.tmp.cleanOnBoot = true; + boot.tmp.useTmpfs = true; boot.kernelModules = [ "kvm-intel" ]; # vpn diff --git a/hosts/skynet.nix b/hosts/skynet.nix index d467ba9..d14487e 100644 --- a/hosts/skynet.nix +++ b/hosts/skynet.nix @@ -135,8 +135,8 @@ # Intel Atom D2700 (F10 for boot menu) # DDR2 4GB boot.loader.grub.splashImage = lib.mkForce ../assets/wallpapers/fractal.png; - boot.cleanTmpDir = true; - boot.tmpOnTmpfs = true; + boot.tmp.cleanOnBoot = true; + boot.tmp.useTmpfs = true; boot.kernelModules = [ "kvm-intel" "tcp_bbr" ]; boot.kernelPackages = pkgs.linuxPackages_hardened; boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "xhci_pci" "usb_storage" "usbhid" "sd_mod" ]; diff --git a/hosts/sobanya.nix b/hosts/sobanya.nix index eaab2ed..36c56cd 100644 --- a/hosts/sobanya.nix +++ b/hosts/sobanya.nix @@ -56,8 +56,8 @@ args@{ config, lib, pkgs, ... }: boot.loader.grub.splashMode = "stretch"; boot.blacklistedKernelModules = [ ]; boot.initrd.kernelModules = [ "dm-snapshot" ]; - boot.cleanTmpDir = true; - boot.tmpOnTmpfs = true; + boot.tmp.cleanOnBoot = true; + boot.tmp.useTmpfs = true; boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sr_mod" ]; boot.kernelModules = [ "kvm-intel" "wl" ]; boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; diff --git a/hosts/tv.nix b/hosts/tv.nix index 7767760..682176f 100644 --- a/hosts/tv.nix +++ b/hosts/tv.nix @@ -108,8 +108,8 @@ args@{ config, lib, pkgs, ... }: boot.loader.grub.splashMode = "stretch"; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; boot.extraModulePackages = [ config.boot.kernelPackages.rtl88x2bu ]; # tp-link archer t3u - boot.cleanTmpDir = true; - boot.tmpOnTmpfs = true; + boot.tmp.cleanOnBoot = true; + boot.tmp.useTmpfs = true; boot.initrd.luks.devices = { nixos = { device = "/dev/disk/by-label/enc-nixos"; diff --git a/services/net/sshd.nix b/services/net/sshd.nix index af3157b..9d72cb9 100644 --- a/services/net/sshd.nix +++ b/services/net/sshd.nix @@ -5,10 +5,10 @@ services.openssh = { enable = true; ports = [ 9922 ]; - }; - - services.openssh.settings = { - permitRootLogin = "no"; - passwordAuthentication = false; # temporarily override in your host config in order to use ssh-copy-id + extraConfig = '' + permitRootLogin = no + # temporarily override in your host config in order to use ssh-copy-id + passwordAuthentication = no + ''; }; } diff --git a/sys/debug.nix b/sys/debug.nix index 8acf4af..7f60c41 100644 --- a/sys/debug.nix +++ b/sys/debug.nix @@ -10,11 +10,10 @@ systemd.services.sshd.wantedBy = lib.mkOverride 40 [ "multi-user.target" ]; services.openssh = { - enable = lib.mkForce true; - }; - - services.openssh.settings = { - permitRootLogin = lib.mkForce "yes"; - passwordAuthentication = lib.mkForce true; + enable = true; + extraConfig = '' + permitRootLogin = yes + passwordAuthentication = yes + ''; }; } diff --git a/users/shared/nvim/lua/config.lua b/users/shared/nvim/lua/config.lua index 57c7280..0e9dcaa 100644 --- a/users/shared/nvim/lua/config.lua +++ b/users/shared/nvim/lua/config.lua @@ -52,7 +52,9 @@ local on_attach = function(_, bufnr) vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts) vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts) vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) - vim.keymap.set('n', '=', vim.lsp.buf.formatting, bufopts) + vim.keymap.set('n', '=', function() + vim.lsp.buf.format { async = true } + end, opts) end lspconfig.rust_analyzer.setup{ @@ -115,34 +117,111 @@ require'lualine'.setup { } -- # nvim-tree -local tree_cb = require'nvim-tree.config'.nvim_tree_callback -local list = { - {key = {"", "o", "<2-LeftMouse>"}, cb = tree_cb("edit")}, {key = {"g"}, cb = tree_cb("cd")}, - {key = "", cb = tree_cb("vsplit")}, {key = "", cb = tree_cb("split")}, - {key = "", cb = tree_cb("tabnew")}, {key = "<", cb = tree_cb("prev_sibling")}, - {key = ">", cb = tree_cb("next_sibling")}, {key = "P", cb = tree_cb("parent_node")}, - {key = "", cb = tree_cb("close_node")}, {key = "", cb = tree_cb("preview")}, - {key = "K", cb = tree_cb("first_sibling")}, {key = "J", cb = tree_cb("last_sibling")}, - {key = "I", cb = tree_cb("toggle_ignored")}, {key = "H", cb = tree_cb("toggle_dotfiles")}, - {key = "R", cb = tree_cb("refresh")}, {key = "a", cb = tree_cb("create")}, - {key = "d", cb = tree_cb("remove")}, {key = "D", cb = tree_cb("trash")}, - {key = "r", cb = tree_cb("rename")}, {key = "", cb = tree_cb("full_rename")}, - {key = "x", cb = tree_cb("cut")}, {key = "c", cb = tree_cb("copy")}, - {key = "p", cb = tree_cb("paste")}, {key = "y", cb = tree_cb("copy_name")}, - {key = "Y", cb = tree_cb("copy_path")}, {key = "y", cb = tree_cb("copy_absolute_path")}, - {key = "[c", cb = tree_cb("prev_git_item")}, {key = "]c", cb = tree_cb("next_git_item")}, - {key = "u", cb = tree_cb("dir_up")}, {key = "s", cb = tree_cb("system_open")}, - {key = "q", cb = tree_cb("close")}, {key = "?", cb = tree_cb("toggle_help")} -} +local function on_nvim_tree_attach(bufnr) + local api = require('nvim-tree.api') + + local function opts(desc) + return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true } + end + + -- Default mappings. Feel free to modify or remove as you wish. + vim.keymap.set('n', '', api.tree.change_root_to_node, opts('CD')) + vim.keymap.set('n', '', api.node.open.replace_tree_buffer, opts('Open: In Place')) + vim.keymap.set('n', '', api.node.show_info_popup, opts('Info')) + vim.keymap.set('n', '', api.fs.rename_sub, opts('Rename: Omit Filename')) + vim.keymap.set('n', '', api.node.open.tab, opts('Open: New Tab')) + vim.keymap.set('n', '', api.node.open.vertical, opts('Open: Vertical Split')) + vim.keymap.set('n', '', api.node.open.horizontal, opts('Open: Horizontal Split')) + vim.keymap.set('n', '', api.node.navigate.parent_close, opts('Close Directory')) + vim.keymap.set('n', '', api.node.open.edit, opts('Open')) + vim.keymap.set('n', '', api.node.open.preview, opts('Open Preview')) + vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling')) + vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling')) + vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command')) + vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up')) + vim.keymap.set('n', 'a', api.fs.create, opts('Create')) + vim.keymap.set('n', 'bmv', api.marks.bulk.move, opts('Move Bookmarked')) + vim.keymap.set('n', 'B', api.tree.toggle_no_buffer_filter, opts('Toggle No Buffer')) + vim.keymap.set('n', 'c', api.fs.copy.node, opts('Copy')) + vim.keymap.set('n', 'C', api.tree.toggle_git_clean_filter, opts('Toggle Git Clean')) + vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git')) + vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git')) + vim.keymap.set('n', 'd', api.fs.remove, opts('Delete')) + vim.keymap.set('n', 'D', api.fs.trash, opts('Trash')) + vim.keymap.set('n', 'E', api.tree.expand_all, opts('Expand All')) + vim.keymap.set('n', 'e', api.fs.rename_basename, opts('Rename: Basename')) + vim.keymap.set('n', ']e', api.node.navigate.diagnostics.next, opts('Next Diagnostic')) + vim.keymap.set('n', '[e', api.node.navigate.diagnostics.prev, opts('Prev Diagnostic')) + vim.keymap.set('n', 'F', api.live_filter.clear, opts('Clean Filter')) + vim.keymap.set('n', 'f', api.live_filter.start, opts('Filter')) + vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help')) + vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path')) + vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Dotfiles')) + vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Git Ignore')) + vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling')) + vim.keymap.set('n', 'K', api.node.navigate.sibling.first, opts('First Sibling')) + vim.keymap.set('n', 'm', api.marks.toggle, opts('Toggle Bookmark')) + vim.keymap.set('n', 'o', api.node.open.edit, opts('Open')) + vim.keymap.set('n', 'O', api.node.open.no_window_picker, opts('Open: No Window Picker')) + vim.keymap.set('n', 'p', api.fs.paste, opts('Paste')) + vim.keymap.set('n', 'P', api.node.navigate.parent, opts('Parent Directory')) + vim.keymap.set('n', 'q', api.tree.close, opts('Close')) + vim.keymap.set('n', 'r', api.fs.rename, opts('Rename')) + vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh')) + vim.keymap.set('n', 's', api.node.run.system, opts('Run System')) + vim.keymap.set('n', 'S', api.tree.search_node, opts('Search')) + vim.keymap.set('n', 'U', api.tree.toggle_custom_filter, opts('Toggle Hidden')) + vim.keymap.set('n', 'W', api.tree.collapse_all, opts('Collapse')) + vim.keymap.set('n', 'x', api.fs.cut, opts('Cut')) + vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name')) + vim.keymap.set('n', 'Y', api.fs.copy.relative_path, opts('Copy Relative Path')) + vim.keymap.set('n', '<2-LeftMouse>', api.node.open.edit, opts('Open')) + vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD')) + + -- Mappings migrated from view.mappings.list + vim.keymap.set('n', '', api.node.open.edit, opts('Open')) + vim.keymap.set('n', 'o', api.node.open.edit, opts('Open')) + vim.keymap.set('n', '<2-LeftMouse>', api.node.open.edit, opts('Open')) + vim.keymap.set('n', 'g', api.tree.change_root_to_node, opts('CD')) + vim.keymap.set('n', '', api.node.open.vertical, opts('Open: Vertical Split')) + vim.keymap.set('n', '', api.node.open.horizontal, opts('Open: Horizontal Split')) + vim.keymap.set('n', '', api.node.open.tab, opts('Open: New Tab')) + vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling')) + vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling')) + vim.keymap.set('n', 'P', api.node.navigate.parent, opts('Parent Directory')) + vim.keymap.set('n', '', api.node.navigate.parent_close, opts('Close Directory')) + vim.keymap.set('n', '', api.node.open.preview, opts('Open Preview')) + vim.keymap.set('n', 'K', api.node.navigate.sibling.first, opts('First Sibling')) + vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling')) + vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Dotfiles')) + vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh')) + vim.keymap.set('n', 'a', api.fs.create, opts('Create')) + vim.keymap.set('n', 'd', api.fs.remove, opts('Delete')) + vim.keymap.set('n', 'D', api.fs.trash, opts('Trash')) + vim.keymap.set('n', 'r', api.fs.rename, opts('Rename')) + vim.keymap.set('n', '', api.fs.rename_sub, opts('Rename: Omit Filename')) + vim.keymap.set('n', 'x', api.fs.cut, opts('Cut')) + vim.keymap.set('n', 'c', api.fs.copy.node, opts('Copy')) + vim.keymap.set('n', 'p', api.fs.paste, opts('Paste')) + vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name')) + vim.keymap.set('n', 'Y', api.fs.copy.relative_path, opts('Copy Relative Path')) + vim.keymap.set('n', 'y', api.fs.copy.absolute_path, opts('Copy Absolute Path')) + vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git')) + vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git')) + vim.keymap.set('n', 'u', api.tree.change_root_to_parent, opts('Up')) + vim.keymap.set('n', 's', api.node.run.system, opts('Run System')) + vim.keymap.set('n', 'q', api.tree.close, opts('Close')) + vim.keymap.set('n', '?', api.tree.toggle_help, opts('Help')) +end require'nvim-tree'.setup { + on_attach = on_nvim_tree_attach, view = { hide_root_folder = false, side = 'left', number = false, relativenumber = false, signcolumn = "yes", - mappings = {custom_only = false, list = list} }, renderer = { icons = {show = {file = false, folder = true, folder_arrow = false, git = true}}