From b13906a891486e5ae73780d431703405db143302 Mon Sep 17 00:00:00 2001 From: willifan Date: Sun, 27 Oct 2024 17:58:03 +0100 Subject: [PATCH 1/8] added tmux --- users/willifan/common/default.nix | 1 + users/willifan/common/tmux/default.nix | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 users/willifan/common/tmux/default.nix diff --git a/users/willifan/common/default.nix b/users/willifan/common/default.nix index bb63c10..50f47b4 100644 --- a/users/willifan/common/default.nix +++ b/users/willifan/common/default.nix @@ -4,6 +4,7 @@ ./nixvim ./shell ./theme + ./tmux ./utils ./envvar.nix diff --git a/users/willifan/common/tmux/default.nix b/users/willifan/common/tmux/default.nix new file mode 100644 index 0000000..c92063e --- /dev/null +++ b/users/willifan/common/tmux/default.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + + home-manager.users.willifan = { + programs.tmux = { + enable = true; + }; + }; + +} From bde74761f1d78b626265efd0db8f41d118fb1dd6 Mon Sep 17 00:00:00 2001 From: willifan Date: Sun, 27 Oct 2024 19:06:41 +0100 Subject: [PATCH 2/8] change movefocus hyprland shortcuts --- users/willifan/desktop/hyprland/common/hyprland.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/users/willifan/desktop/hyprland/common/hyprland.nix b/users/willifan/desktop/hyprland/common/hyprland.nix index 53080fc..db06e41 100644 --- a/users/willifan/desktop/hyprland/common/hyprland.nix +++ b/users/willifan/desktop/hyprland/common/hyprland.nix @@ -163,10 +163,10 @@ ''$mainMod, F, fullscreen'' # Move focus with mainMod + arrow keys - ''$mainMod, left, movefocus, l'' - ''$mainMod, right, movefocus, r'' - ''$mainMod, up, movefocus, u'' - ''$mainMod, down, movefocus, d'' + ''$mainMod, h, movefocus, l'' + ''$mainMod, l, movefocus, r'' + ''$mainMod, k, movefocus, u'' + ''$mainMod, j, movefocus, d'' '', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle'' '', XF86AudioPrev, exec, playerctl previous'' From 95710759c92cc58aef67602af6278f0b112d1949 Mon Sep 17 00:00:00 2001 From: willifan Date: Sun, 27 Oct 2024 19:15:05 +0100 Subject: [PATCH 3/8] added a lot of nvim settings --- users/willifan/common/nixvim/default.nix | 1 + users/willifan/common/nixvim/settings.nix | 101 ++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 users/willifan/common/nixvim/settings.nix diff --git a/users/willifan/common/nixvim/default.nix b/users/willifan/common/nixvim/default.nix index 77ff57c..284d89d 100644 --- a/users/willifan/common/nixvim/default.nix +++ b/users/willifan/common/nixvim/default.nix @@ -13,6 +13,7 @@ ./lsp.nix ./navic.nix ./neotree.nix + ./settings.nix ./toggleterm.nix ./treesitter.nix ./whichkey.nix diff --git a/users/willifan/common/nixvim/settings.nix b/users/willifan/common/nixvim/settings.nix new file mode 100644 index 0000000..21b15f8 --- /dev/null +++ b/users/willifan/common/nixvim/settings.nix @@ -0,0 +1,101 @@ +{ ... }: +{ + + programs.nixvim = { + config = { + extraConfigLuaPre = + # lua + '' + vim.fn.sign_define("diagnosticsignerror", { text = " ", texthl = "diagnosticerror", linehl = "", numhl = "" }) + vim.fn.sign_define("diagnosticsignwarn", { text = " ", texthl = "diagnosticwarn", linehl = "", numhl = "" }) + vim.fn.sign_define("diagnosticsignhint", { text = "󰌵", texthl = "diagnostichint", linehl = "", numhl = "" }) + vim.fn.sign_define("diagnosticsigninfo", { text = " ", texthl = "diagnosticinfo", linehl = "", numhl = "" }) + ''; + + clipboard = { + providers.wl-copy.enable = true; + }; + + opts = { + # Show line numbers + number = true; + + # Show relative line numbers + relativenumber = true; + + # Use the system clipboard + clipboard = "unnamedplus"; + + # Number of spaces that represent a + tabstop = 2; + softtabstop = 2; + + # Show tabline always + showtabline = 2; + + # Use spaces instead of tabs + expandtab = true; + + # Enable smart indentation + smartindent = true; + + # Number of spaces to use for each step of (auto)indent + shiftwidth = 2; + + # Enable break indent + breakindent = true; + + # Highlight the screen line of the cursor + cursorline = true; + + # Minimum number of screen lines to keep above and below the cursor + scrolloff = 8; + + # Enable mouse support + mouse = "a"; + + # Set folding method to manual + foldmethod = "manual"; + + # Disable folding by default + foldenable = false; + + # Wrap long lines at a character in 'breakat' + linebreak = true; + + # Disable spell checking + spell = false; + + # Disable swap file creation + swapfile = false; + + # Time in milliseconds to wait for a mapped sequence to complete + timeoutlen = 300; + + # Enable 24-bit RGB color in the TUI + termguicolors = true; + + # Don't show mode in the command line + showmode = false; + + # Open new split below the current window + splitbelow = true; + + # Keep the screen when splitting + splitkeep = "screen"; + + # Open new split to the right of the current window + splitright = true; + + # Hide command line unless needed + cmdheight = 0; + + # Remove EOB + fillchars = { + eob = " "; + }; + }; + }; + }; + +} From 98aec6feb66b6eef9940c555698708a1b182bcd7 Mon Sep 17 00:00:00 2001 From: willifan Date: Sun, 27 Oct 2024 19:19:17 +0100 Subject: [PATCH 4/8] removed ToggleTerm --- users/willifan/common/nixvim/TODO.md | 6 ------ users/willifan/common/nixvim/default.nix | 1 - users/willifan/common/nixvim/toggleterm.nix | 11 ----------- 3 files changed, 18 deletions(-) delete mode 100644 users/willifan/common/nixvim/toggleterm.nix diff --git a/users/willifan/common/nixvim/TODO.md b/users/willifan/common/nixvim/TODO.md index 3b11825..33bb237 100644 --- a/users/willifan/common/nixvim/TODO.md +++ b/users/willifan/common/nixvim/TODO.md @@ -1,13 +1,7 @@ -# Settings -add line numbers -change default tab width -KEYBINDS - # Plugins add cmp try out nvimtree add lualine -make ToggleTerm not terrible add autopairs indent blankline?? todo comments diff --git a/users/willifan/common/nixvim/default.nix b/users/willifan/common/nixvim/default.nix index 284d89d..f53df73 100644 --- a/users/willifan/common/nixvim/default.nix +++ b/users/willifan/common/nixvim/default.nix @@ -14,7 +14,6 @@ ./navic.nix ./neotree.nix ./settings.nix - ./toggleterm.nix ./treesitter.nix ./whichkey.nix ./yazi.nix diff --git a/users/willifan/common/nixvim/toggleterm.nix b/users/willifan/common/nixvim/toggleterm.nix deleted file mode 100644 index 47ba41f..0000000 --- a/users/willifan/common/nixvim/toggleterm.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ ... }: -{ - programs.nixvim.plugins = { - toggleterm = { - enable = true; - settings = { - size = 10; - }; - }; - }; -} From 01a127a380de534ee97ff9b75b94cf9ddb877cc5 Mon Sep 17 00:00:00 2001 From: willifan Date: Sun, 27 Oct 2024 20:18:30 +0100 Subject: [PATCH 5/8] added cmp --- users/willifan/common/nixvim/cmp.nix | 50 ++++++++++++++++++++++++ users/willifan/common/nixvim/default.nix | 1 + 2 files changed, 51 insertions(+) create mode 100644 users/willifan/common/nixvim/cmp.nix diff --git a/users/willifan/common/nixvim/cmp.nix b/users/willifan/common/nixvim/cmp.nix new file mode 100644 index 0000000..764f074 --- /dev/null +++ b/users/willifan/common/nixvim/cmp.nix @@ -0,0 +1,50 @@ +{ ... }: +{ + + programs.nixvim.plugins = { + cmp = { + enable = true; + settings = { + autoEnableSources = true; + experimental = {ghost_text = false;}; + performance = { + debounce = 60; + fetchingTimeout = 200; + maxViewEntries = 30; + }; + snippet = {expand = "luasnip";}; + formatting = {fields = ["kind" "abbr" "menu"];}; + sources = [ + {name = "git";} + {name = "nvim_lsp";} + {name = "emoji";} + { + name = "buffer"; # text within current buffer + option.get_bufnrs.__raw = "vim.api.nvim_list_bufs"; + keywordLength = 3; + } + {name = "copilot";} + { + name = "path"; # file system paths + keywordLength = 3; + } + { + name = "luasnip"; # snippets + keywordLength = 3; + } + ]; + + window = { + completion = {border = "solid";}; + documentation = {border = "solid";}; + }; + }; + }; + cmp-nvim-lsp = {enable = true;}; # lsp + cmp-buffer = {enable = true;}; + cmp-path = {enable = true;}; # file system paths + cmp_luasnip = {enable = true;}; # snippets + cmp-cmdline = {enable = false;}; # autocomplete for cmdline + }; + +} diff --git a/users/willifan/common/nixvim/default.nix b/users/willifan/common/nixvim/default.nix index f53df73..b5adffa 100644 --- a/users/willifan/common/nixvim/default.nix +++ b/users/willifan/common/nixvim/default.nix @@ -7,6 +7,7 @@ }; imports = [ + ./cmp.nix ./filetype.nix ./gitsigns.nix ./illuminate.nix From 3ef26e32762de3e01fb151b461121efecd9aa145 Mon Sep 17 00:00:00 2001 From: willifan Date: Sun, 27 Oct 2024 20:20:20 +0100 Subject: [PATCH 6/8] added autopairs --- users/willifan/common/nixvim/autopairs.nix | 9 +++++++++ users/willifan/common/nixvim/default.nix | 1 + 2 files changed, 10 insertions(+) create mode 100644 users/willifan/common/nixvim/autopairs.nix diff --git a/users/willifan/common/nixvim/autopairs.nix b/users/willifan/common/nixvim/autopairs.nix new file mode 100644 index 0000000..6f6b905 --- /dev/null +++ b/users/willifan/common/nixvim/autopairs.nix @@ -0,0 +1,9 @@ +{ ... }: +{ + programs.nixvim.plugins.nvim-autopairs = { + enable = true; + settings = { + disable_filetype = ["TelescopePrompt" "vim"]; + }; + }; +} diff --git a/users/willifan/common/nixvim/default.nix b/users/willifan/common/nixvim/default.nix index b5adffa..3699c19 100644 --- a/users/willifan/common/nixvim/default.nix +++ b/users/willifan/common/nixvim/default.nix @@ -7,6 +7,7 @@ }; imports = [ + ./autopairs.nix ./cmp.nix ./filetype.nix ./gitsigns.nix From d8df4f3de1c45656db1ef9c53d533afe3574bcbe Mon Sep 17 00:00:00 2001 From: willifan Date: Sat, 2 Nov 2024 13:22:43 +0100 Subject: [PATCH 7/8] removed nixpkgs-stable --- flake.lock | 17 ----------------- flake.nix | 17 ++++------------- hosts/common/default.nix | 1 + 3 files changed, 5 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index a61b038..ae197b3 100644 --- a/flake.lock +++ b/flake.lock @@ -396,22 +396,6 @@ "type": "github" } }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1728909085, - "narHash": "sha256-WLxED18lodtQiayIPDE5zwAfkPJSjHJ35UhZ8h3cJUg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c0b1da36f7c34a7146501f684e9ebdf15d2bebf8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1725194671, @@ -484,7 +468,6 @@ "home-manager": "home-manager", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", - "nixpkgs-stable": "nixpkgs-stable", "nixvim": "nixvim", "stylix": "stylix", "zen": "zen" diff --git a/flake.nix b/flake.nix index 5b6126e..aff96e3 100644 --- a/flake.nix +++ b/flake.nix @@ -4,7 +4,6 @@ inputs = { # NixOS official package source, using the nixos-23.11 branch here - nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixos-hardware.url = "github:nixos/nixos-hardware"; @@ -40,11 +39,9 @@ }; - outputs = { nixpkgs, nixpkgs-stable, ... }@attrs: + outputs = { nixpkgs, ... }@attrs: let lib = nixpkgs.lib; - pkgs = import nixpkgs { system = "x86_64-linux"; config = { allowUnfree = true; }; }; - pkgs-stable = import nixpkgs-stable { system = "x86_64-linux"; config = { allowUnfree = true; }; }; in { nixosConfigurations = { @@ -57,9 +54,7 @@ specialArgs = { hostname = "Lenni"; type = "desktop"; - inherit pkgs; - inherit pkgs-stable; - inherit attrs; + inherit attrs; inherit system; }; @@ -87,9 +82,7 @@ specialArgs = { hostname = "Puenktchen"; type = "desktop"; - inherit pkgs; - inherit pkgs-stable; - inherit attrs; + inherit attrs; inherit system; }; @@ -120,9 +113,7 @@ specialArgs = { hostname = "Anton"; type = "server"; - inherit pkgs; - inherit pkgs-stable; - inherit attrs; + inherit attrs; inherit system; }; diff --git a/hosts/common/default.nix b/hosts/common/default.nix index ac51384..9670844 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -14,5 +14,6 @@ }; console.keyMap = "de"; nix.settings.experimental-features = [ "nix-command" "flakes" ]; + nixpkgs.config.allowUnfree = true; system.stateVersion = "23.11"; } From 267b0e1f2881be36dff91cb4ffaf15c2438a8b9e Mon Sep 17 00:00:00 2001 From: willifan Date: Sat, 2 Nov 2024 13:29:38 +0100 Subject: [PATCH 8/8] added Lillie host --- flake.nix | 27 +++++++++++++++ hosts/Lillie/default.nix | 7 ++++ hosts/Lillie/disko.nix | 56 +++++++++++++++++++++++++++++++ users/willifan/Lillie/default.nix | 4 +++ 4 files changed, 94 insertions(+) create mode 100644 hosts/Lillie/default.nix create mode 100644 hosts/Lillie/disko.nix create mode 100644 users/willifan/Lillie/default.nix diff --git a/flake.nix b/flake.nix index aff96e3..5edb6e6 100644 --- a/flake.nix +++ b/flake.nix @@ -135,6 +135,33 @@ }; + Lillie = let + system = "x86_64-linux"; + in + lib.nixosSystem { + + specialArgs = { + hostname = "Lillie"; + type = "desktop"; + inherit attrs; + inherit system; + }; + + modules = [ + attrs.home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + } + attrs.disko.nixosModules.disko + attrs.stylix.nixosModules.stylix + attrs.nixvim.nixosModules.nixvim + ./hosts + ./users/willifan + ]; + + }; + }; }; } diff --git a/hosts/Lillie/default.nix b/hosts/Lillie/default.nix new file mode 100644 index 0000000..81f90fb --- /dev/null +++ b/hosts/Lillie/default.nix @@ -0,0 +1,7 @@ +{ ... }: +{ + imports = [ + ./hardware-configuration.nix + ./disko.nix + ]; +} diff --git a/hosts/Lillie/disko.nix b/hosts/Lillie/disko.nix new file mode 100644 index 0000000..86bc1b2 --- /dev/null +++ b/hosts/Lillie/disko.nix @@ -0,0 +1,56 @@ +{ + disko.devices = { + disk = { + nvme0n1 = { + type = "disk"; + device = "/dev/disk/by-id/nvme-CT1000P310SSD2-24314A4587C7"; + content = { + type = "gpt"; + partitions = { + ESP = { + priority = 1; + name = "ESP"; + size = "512M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + }; + root = { + size = "100%"; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; # Override existing partition + # Subvolumes must set a mountpoint in order to be mounted, + # unless their parent is mounted + subvolumes = { + # Subvolume name is different from mountpoint + "/rootfs" = { + mountOptions = [ "compress=zstd" "noatime" ]; + mountpoint = "/"; + }; + # Subvolume name is the same as the mountpoint + "/home" = { + mountOptions = [ "compress=zstd" "noatime" ]; + mountpoint = "/home"; + }; + # Parent is not mounted so the mountpoint must be set + "/nix" = { + mountOptions = [ "compress=zstd" "noatime" ]; + mountpoint = "/nix"; + }; + "/mnt/data" = { + mountOptions = [ "compress=zstd" "noatime" ]; + mountpoint = "/mnt/data"; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/users/willifan/Lillie/default.nix b/users/willifan/Lillie/default.nix new file mode 100644 index 0000000..1c4f482 --- /dev/null +++ b/users/willifan/Lillie/default.nix @@ -0,0 +1,4 @@ +{ ... }: +{ + +}