| author | |
| committer | |
| log | 17abc9277d2a40bf37b56e8c0e1123fd0b4f743b |
| tree | 67853484b369e29337eb5396ef060012c96d8776 |
| parent | 0ccc341bda018a59bfa5331d4742a7fef6fc0e8c |
| parent | e9844c71c462397a4c9042ae064b13385b761e45 |
| signature | Commit is signed but in an unrecognized format. |
11 files changed, 80 insertions(+), 30 deletions(-)
hosts/desktop/configuration.nix+7-5| ... | ... | @@ -1,6 +1,7 @@ |
| 1 | 1 | { |
| 2 | 2 | pkgs, |
| 3 | 3 | userSettings, |
| 4 | systemSettings, | |
| 4 | 5 | ... |
| 5 | 6 | }: { |
| 6 | 7 | imports = [ |
| ... | ... | @@ -30,9 +31,9 @@ |
| 30 | 31 | |
| 31 | 32 | nh = { |
| 32 | 33 | enable = true; |
| 33 | clean.enable = true; | |
| 34 | clean.extraArgs = "--keep-since 4d --keep 3"; | |
| 35 | flake = "/home/nmarks/.dotfiles"; | |
| 34 | # clean.enable = true; | |
| 35 | # clean.extraArgs = "--keep-since 4d --keep 3"; | |
| 36 | flake = "/home/nmarks/.dotfiles#nixosConfigurations.nixos"; | |
| 36 | 37 | }; |
| 37 | 38 | |
| 38 | 39 | neovim = { |
| ... | ... | @@ -132,8 +133,9 @@ |
| 132 | 133 | # services.xserver.libinput.enable = true; |
| 133 | 134 | |
| 134 | 135 | # Define a user account. Don't forget to set a password with ‘passwd’. |
| 135 | users.defaultUserShell = pkgs.fish; | |
| 136 | # users.defaultUserShell = pkgs.fish; | |
| 136 | 137 | users.users.${userSettings.username} = { |
| 138 | shell = pkgs.fish; | |
| 137 | 139 | isNormalUser = true; |
| 138 | 140 | description = "Natalie Marks"; |
| 139 | 141 | extraGroups = ["networkmanager" "wheel" "docker"]; |
| ... | ... | @@ -156,7 +158,7 @@ |
| 156 | 158 | }; |
| 157 | 159 | |
| 158 | 160 | networking = { |
| 159 | hostName = userSettings.hostname; # Define your hostname. | |
| 161 | hostName = systemSettings.host; # Define your hostname. | |
| 160 | 162 | # wireless.enable = true; # Enables wireless support via wpa_supplicant. |
| 161 | 163 | networkmanager.enable = true; |
| 162 | 164 | firewall = { |
hosts/desktop/home.nix+11-4| ... | ... | @@ -3,16 +3,22 @@ |
| 3 | 3 | config, |
| 4 | 4 | pkgs, |
| 5 | 5 | lib, |
| 6 | zls, | |
| 6 | userSettings, | |
| 7 | systemSettings, | |
| 7 | 8 | ... |
| 8 | 9 | }: let |
| 9 | shared-programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib;}; | |
| 10 | shared-programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;}; | |
| 10 | 11 | in { |
| 12 | imports = [ | |
| 13 | inputs.nixvim.homeManagerModules.nixvim | |
| 14 | #set up nixvim | |
| 15 | # ../../modules/nixvim | |
| 16 | ]; | |
| 11 | 17 | home = { |
| 12 | 18 | stateVersion = "23.05"; # Please read the comment before changing. |
| 13 | 19 | |
| 14 | 20 | packages = with pkgs; let |
| 15 | shared-packages = import ../../modules/shared/packages.nix {inherit pkgs;}; | |
| 21 | shared-packages = import ../../modules/shared/packages.nix {inherit pkgs systemSettings;}; | |
| 16 | 22 | in |
| 17 | 23 | shared-packages |
| 18 | 24 | ++ [ |
| ... | ... | @@ -51,9 +57,10 @@ in { |
| 51 | 57 | calibre |
| 52 | 58 | mpv |
| 53 | 59 | wireguard-tools |
| 60 | signal-desktop | |
| 54 | 61 | ] |
| 55 | 62 | ++ [ |
| 56 | zls.packages.x86_64-linux.zls | |
| 63 | inputs.zls.packages.x86_64-linux.zls | |
| 57 | 64 | rust-bin.stable.latest.default |
| 58 | 65 | ]; |
| 59 | 66 | # programs.mangohud.enable = true; |
hosts/laptop/configuration.nix+1| ... | ... | @@ -6,6 +6,7 @@ |
| 6 | 6 | environment.systemPackages = with pkgs; [ |
| 7 | 7 | neovim |
| 8 | 8 | pinentry_mac |
| 9 | signal-desktop-bin | |
| 9 | 10 | ]; |
| 10 | 11 | |
| 11 | 12 | # Create /etc/zshrc that loads the nix-darwin environment. |
modules/nixos/boot.nix+1-1| ... | ... | @@ -10,7 +10,7 @@ |
| 10 | 10 | grub = { |
| 11 | 11 | enable = true; |
| 12 | 12 | device = "nodev"; |
| 13 | theme = pkgs.catppuccin-grub; | |
| 13 | # theme = pkgs.catppuccin-grub; | |
| 14 | 14 | useOSProber = true; |
| 15 | 15 | efiSupport = true; |
| 16 | 16 | }; |
modules/nixos/nvidia.nix+14-14| ... | ... | @@ -19,6 +19,19 @@ in { |
| 19 | 19 | |
| 20 | 20 | # Blacklist nouveau to avoid conflicts |
| 21 | 21 | boot.blacklistedKernelModules = ["nouveau"]; |
| 22 | environment.variables = { | |
| 23 | LIBVA_DRIVER_NAME = "nvidia"; # Hardware video acceleration | |
| 24 | XDG_SESSION_TYPE = "wayland"; # Force Wayland | |
| 25 | GBM_BACKEND = "nvidia-drm"; # Graphics backend for Wayland | |
| 26 | __GLX_VENDOR_LIBRARY_NAME = "nvidia"; # Use Nvidia driver for GLX | |
| 27 | WLR_NO_HARDWARE_CURSORS = "1"; # Fix for cursors on Wayland | |
| 28 | NIXOS_OZONE_WL = "1"; # Wayland support for Electron apps | |
| 29 | __GL_GSYNC_ALLOWED = "1"; # Enable G-Sync if available | |
| 30 | __GL_VRR_ALLOWED = "1"; # Enable VRR (Variable Refresh Rate) | |
| 31 | WLR_DRM_NO_ATOMIC = "1"; # Fix for some issues with Hyprland | |
| 32 | NVD_BACKEND = "direct"; # Configuration for new driver | |
| 33 | MOZ_ENABLE_WAYLAND = "1"; # Wayland support for Firefox | |
| 34 | }; | |
| 22 | 35 | |
| 23 | 36 | hardware = { |
| 24 | 37 | nvidia = { |
| ... | ... | @@ -28,7 +41,7 @@ in { |
| 28 | 41 | |
| 29 | 42 | powerManagement = { |
| 30 | 43 | enable = true; # Power management |
| 31 | finegrained = true; # More precise power consumption control | |
| 44 | # finegrained = true; # More precise power consumption control | |
| 32 | 45 | }; |
| 33 | 46 | |
| 34 | 47 | # Use the NVidia open source kernel module (not to be confused with the |
| ... | ... | @@ -37,19 +50,6 @@ in { |
| 37 | 50 | open = false; |
| 38 | 51 | |
| 39 | 52 | # Environment variables for better compatibility |
| 40 | environment.variables = { | |
| 41 | LIBVA_DRIVER_NAME = "nvidia"; # Hardware video acceleration | |
| 42 | XDG_SESSION_TYPE = "wayland"; # Force Wayland | |
| 43 | GBM_BACKEND = "nvidia-drm"; # Graphics backend for Wayland | |
| 44 | __GLX_VENDOR_LIBRARY_NAME = "nvidia"; # Use Nvidia driver for GLX | |
| 45 | WLR_NO_HARDWARE_CURSORS = "1"; # Fix for cursors on Wayland | |
| 46 | NIXOS_OZONE_WL = "1"; # Wayland support for Electron apps | |
| 47 | __GL_GSYNC_ALLOWED = "1"; # Enable G-Sync if available | |
| 48 | __GL_VRR_ALLOWED = "1"; # Enable VRR (Variable Refresh Rate) | |
| 49 | WLR_DRM_NO_ATOMIC = "1"; # Fix for some issues with Hyprland | |
| 50 | NVD_BACKEND = "direct"; # Configuration for new driver | |
| 51 | MOZ_ENABLE_WAYLAND = "1"; # Wayland support for Firefox | |
| 52 | }; | |
| 53 | 53 | |
| 54 | 54 | # Enable the Nvidia settings menu, |
| 55 | 55 | # accessible via `nvidia-settings`. |
modules/nixos/services.nix+1-2| ... | ... | @@ -25,10 +25,9 @@ |
| 25 | 25 | displayManager.cosmic-greeter.enable = true; |
| 26 | 26 | |
| 27 | 27 | # Auto mount devices |
| 28 | udiskie = { | |
| 28 | udisks2 = { | |
| 29 | 29 | enable = true; |
| 30 | 30 | }; |
| 31 | ||
| 32 | 31 | # Configure keymap in X11 |
| 33 | 32 | xserver = { |
| 34 | 33 | xkb.layout = "us"; |
modules/nixvim/plugins/blink.nix+30-1| ... | ... | @@ -25,7 +25,13 @@ |
| 25 | 25 | settings = { |
| 26 | 26 | keymap.preset = "super-tab"; |
| 27 | 27 | completion = { |
| 28 | ghost_test.enabled = true; | |
| 28 | accept.auto_brackets.enabled = false; | |
| 29 | ghost_test.enabled = false; | |
| 30 | ||
| 31 | list.selection = { | |
| 32 | preselect = true; | |
| 33 | auto_insert = false; | |
| 34 | }; | |
| 29 | 35 | |
| 30 | 36 | documentation = { |
| 31 | 37 | auto_show = true; |
| ... | ... | @@ -33,6 +39,29 @@ |
| 33 | 39 | window.border = "rounded"; |
| 34 | 40 | }; |
| 35 | 41 | }; |
| 42 | ||
| 43 | menu.draw.components = { | |
| 44 | kind_icon.text.__raw = '' | |
| 45 | function(ctx) | |
| 46 | local kind_icon, _, _ = require('mini.icons').get('lsp', ctx.kind) | |
| 47 | -- Check for both nil and the default fallback icon | |
| 48 | if not kind_icon or kind_icon == '' then | |
| 49 | -- Use our configured kind_icons | |
| 50 | return require('blink.cmp.config').appearance.kind_icons[ctx.kind] or "" | |
| 51 | end | |
| 52 | return kind_icon | |
| 53 | end, | |
| 54 | -- Optionally, you may also use the highlights from mini.icons | |
| 55 | highlight = function(ctx) | |
| 56 | local _, hl, _ = require('mini.icons').get('lsp', ctx.kind) | |
| 57 | return hl | |
| 58 | end | |
| 59 | ''; | |
| 60 | }; | |
| 61 | }; | |
| 62 | ||
| 63 | fuzzy = { | |
| 64 | implementation = "prefer_rust_with_warning"; | |
| 36 | 65 | }; |
| 37 | 66 | }; |
| 38 | 67 | }; |
modules/nixvim/plugins/default.nix+1| ... | ... | @@ -1,5 +1,6 @@ |
| 1 | 1 | {pkgs, ...}: { |
| 2 | 2 | imports = [ |
| 3 | 3 | ./blink.nix |
| 4 | ./lz-n.nix | |
| 4 | 5 | ]; |
| 5 | 6 | } |
modules/nixvim/plugins/lz-n.nix created+7| ... | ... | @@ -0,0 +1,7 @@ |
| 1 | {pkgs, ...}: { | |
| 2 | programs.nixvim.plugins = { | |
| 3 | lz-n = { | |
| 4 | enable = true; | |
| 5 | }; | |
| 6 | }; | |
| 7 | } |
modules/shared/homeManagerPrograms.nix+1-1| ... | ... | @@ -59,9 +59,9 @@ |
| 59 | 59 | reboot-windows = "sudo efibootmgr --bootnext 0000; sudo reboot -h now"; |
| 60 | 60 | }; |
| 61 | 61 | shellInit = '' |
| 62 | test -r '/Users/${userSettings.username}/.opam/opam-init/init.fish' && source '/Users/${userSettings.username}/.opam/opam-init/init.fish' > /dev/null 2> /dev/null; or true | |
| 63 | 62 | batman --export-env | source |
| 64 | 63 | ''; |
| 64 | ##test -r '/Users/${userSettings.username}/.opam/opam-init/init.fish' && source '/Users/${userSettings.username}/.opam/opam-init/init.fish' > /dev/null 2> /dev/null; or true | |
| 65 | 65 | }; |
| 66 | 66 | home-manager.enable = true; |
| 67 | 67 | } |
modules/shared/packages.nix+6-2| ... | ... | @@ -1,4 +1,8 @@ |
| 1 | {pkgs, ...}: | |
| 1 | { | |
| 2 | pkgs, | |
| 3 | systemSettings, | |
| 4 | ... | |
| 5 | }: | |
| 2 | 6 | with pkgs; [ |
| 3 | 7 | #general development |
| 4 | 8 | just |
| ... | ... | @@ -59,7 +63,6 @@ with pkgs; [ |
| 59 | 63 | withMoonlight = true; |
| 60 | 64 | }) |
| 61 | 65 | vesktop |
| 62 | signal-desktop-bin | |
| 63 | 66 | |
| 64 | 67 | #media |
| 65 | 68 | spotify |
| ... | ... | @@ -108,6 +111,7 @@ with pkgs; [ |
| 108 | 111 | |
| 109 | 112 | #math |
| 110 | 113 | texlive.combined.scheme-full |
| 114 | zathura | |
| 111 | 115 | |
| 112 | 116 | #fun things |
| 113 | 117 | cowsay |