diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index 3d8eb1a..5571838 100644 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -1,6 +1,7 @@ { pkgs, userSettings, + systemSettings, ... }: { imports = [ @@ -30,9 +31,9 @@ nh = { enable = true; - clean.enable = true; - clean.extraArgs = "--keep-since 4d --keep 3"; - flake = "/home/nmarks/.dotfiles"; + # clean.enable = true; + # clean.extraArgs = "--keep-since 4d --keep 3"; + flake = "/home/nmarks/.dotfiles#nixosConfigurations.nixos"; }; neovim = { @@ -132,8 +133,9 @@ # services.xserver.libinput.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. - users.defaultUserShell = pkgs.fish; + # users.defaultUserShell = pkgs.fish; users.users.${userSettings.username} = { + shell = pkgs.fish; isNormalUser = true; description = "Natalie Marks"; extraGroups = ["networkmanager" "wheel" "docker"]; @@ -156,7 +158,7 @@ }; networking = { - hostName = userSettings.hostname; # Define your hostname. + hostName = systemSettings.host; # Define your hostname. # wireless.enable = true; # Enables wireless support via wpa_supplicant. networkmanager.enable = true; firewall = { diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix index 3c3e972..af74a4d 100644 --- a/hosts/desktop/home.nix +++ b/hosts/desktop/home.nix @@ -3,16 +3,22 @@ config, pkgs, lib, - zls, + userSettings, + systemSettings, ... }: let - shared-programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib;}; + shared-programs = import ../../modules/shared/homeManagerPrograms.nix {inherit inputs config pkgs lib userSettings systemSettings;}; in { + imports = [ + inputs.nixvim.homeManagerModules.nixvim + #set up nixvim + # ../../modules/nixvim + ]; home = { stateVersion = "23.05"; # Please read the comment before changing. packages = with pkgs; let - shared-packages = import ../../modules/shared/packages.nix {inherit pkgs;}; + shared-packages = import ../../modules/shared/packages.nix {inherit pkgs systemSettings;}; in shared-packages ++ [ @@ -51,9 +57,10 @@ in { calibre mpv wireguard-tools + signal-desktop ] ++ [ - zls.packages.x86_64-linux.zls + inputs.zls.packages.x86_64-linux.zls rust-bin.stable.latest.default ]; # programs.mangohud.enable = true; diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix index 969c9f5..f1915a0 100644 --- a/hosts/laptop/configuration.nix +++ b/hosts/laptop/configuration.nix @@ -6,6 +6,7 @@ environment.systemPackages = with pkgs; [ neovim pinentry_mac + signal-desktop-bin ]; # Create /etc/zshrc that loads the nix-darwin environment. diff --git a/modules/nixos/boot.nix b/modules/nixos/boot.nix index 55bbe8c..d9e3a89 100644 --- a/modules/nixos/boot.nix +++ b/modules/nixos/boot.nix @@ -10,7 +10,7 @@ grub = { enable = true; device = "nodev"; - theme = pkgs.catppuccin-grub; + # theme = pkgs.catppuccin-grub; useOSProber = true; efiSupport = true; }; diff --git a/modules/nixos/nvidia.nix b/modules/nixos/nvidia.nix index 54945eb..18f6dde 100644 --- a/modules/nixos/nvidia.nix +++ b/modules/nixos/nvidia.nix @@ -19,6 +19,19 @@ in { # Blacklist nouveau to avoid conflicts boot.blacklistedKernelModules = ["nouveau"]; + environment.variables = { + LIBVA_DRIVER_NAME = "nvidia"; # Hardware video acceleration + XDG_SESSION_TYPE = "wayland"; # Force Wayland + GBM_BACKEND = "nvidia-drm"; # Graphics backend for Wayland + __GLX_VENDOR_LIBRARY_NAME = "nvidia"; # Use Nvidia driver for GLX + WLR_NO_HARDWARE_CURSORS = "1"; # Fix for cursors on Wayland + NIXOS_OZONE_WL = "1"; # Wayland support for Electron apps + __GL_GSYNC_ALLOWED = "1"; # Enable G-Sync if available + __GL_VRR_ALLOWED = "1"; # Enable VRR (Variable Refresh Rate) + WLR_DRM_NO_ATOMIC = "1"; # Fix for some issues with Hyprland + NVD_BACKEND = "direct"; # Configuration for new driver + MOZ_ENABLE_WAYLAND = "1"; # Wayland support for Firefox + }; hardware = { nvidia = { @@ -28,7 +41,7 @@ in { powerManagement = { enable = true; # Power management - finegrained = true; # More precise power consumption control + # finegrained = true; # More precise power consumption control }; # Use the NVidia open source kernel module (not to be confused with the @@ -37,19 +50,6 @@ in { open = false; # Environment variables for better compatibility - environment.variables = { - LIBVA_DRIVER_NAME = "nvidia"; # Hardware video acceleration - XDG_SESSION_TYPE = "wayland"; # Force Wayland - GBM_BACKEND = "nvidia-drm"; # Graphics backend for Wayland - __GLX_VENDOR_LIBRARY_NAME = "nvidia"; # Use Nvidia driver for GLX - WLR_NO_HARDWARE_CURSORS = "1"; # Fix for cursors on Wayland - NIXOS_OZONE_WL = "1"; # Wayland support for Electron apps - __GL_GSYNC_ALLOWED = "1"; # Enable G-Sync if available - __GL_VRR_ALLOWED = "1"; # Enable VRR (Variable Refresh Rate) - WLR_DRM_NO_ATOMIC = "1"; # Fix for some issues with Hyprland - NVD_BACKEND = "direct"; # Configuration for new driver - MOZ_ENABLE_WAYLAND = "1"; # Wayland support for Firefox - }; # Enable the Nvidia settings menu, # accessible via `nvidia-settings`. diff --git a/modules/nixos/services.nix b/modules/nixos/services.nix index 395cf0f..b48a52a 100644 --- a/modules/nixos/services.nix +++ b/modules/nixos/services.nix @@ -25,10 +25,9 @@ displayManager.cosmic-greeter.enable = true; # Auto mount devices - udiskie = { + udisks2 = { enable = true; }; - # Configure keymap in X11 xserver = { xkb.layout = "us"; diff --git a/modules/nixvim/plugins/blink.nix b/modules/nixvim/plugins/blink.nix index c066b6c..4768ef2 100644 --- a/modules/nixvim/plugins/blink.nix +++ b/modules/nixvim/plugins/blink.nix @@ -25,7 +25,13 @@ settings = { keymap.preset = "super-tab"; completion = { - ghost_test.enabled = true; + accept.auto_brackets.enabled = false; + ghost_test.enabled = false; + + list.selection = { + preselect = true; + auto_insert = false; + }; documentation = { auto_show = true; @@ -33,6 +39,29 @@ window.border = "rounded"; }; }; + + menu.draw.components = { + kind_icon.text.__raw = '' + function(ctx) + local kind_icon, _, _ = require('mini.icons').get('lsp', ctx.kind) + -- Check for both nil and the default fallback icon + if not kind_icon or kind_icon == '󰞋' then + -- Use our configured kind_icons + return require('blink.cmp.config').appearance.kind_icons[ctx.kind] or "" + end + return kind_icon + end, + -- Optionally, you may also use the highlights from mini.icons + highlight = function(ctx) + local _, hl, _ = require('mini.icons').get('lsp', ctx.kind) + return hl + end + ''; + }; + }; + + fuzzy = { + implementation = "prefer_rust_with_warning"; }; }; }; diff --git a/modules/nixvim/plugins/default.nix b/modules/nixvim/plugins/default.nix index 8ee50a4..997bb04 100644 --- a/modules/nixvim/plugins/default.nix +++ b/modules/nixvim/plugins/default.nix @@ -1,5 +1,6 @@ {pkgs, ...}: { imports = [ ./blink.nix + ./lz-n.nix ]; } diff --git a/modules/nixvim/plugins/lz-n.nix b/modules/nixvim/plugins/lz-n.nix new file mode 100644 index 0000000..695dd3d --- /dev/null +++ b/modules/nixvim/plugins/lz-n.nix @@ -0,0 +1,7 @@ +{pkgs, ...}: { + programs.nixvim.plugins = { + lz-n = { + enable = true; + }; + }; +} diff --git a/modules/shared/homeManagerPrograms.nix b/modules/shared/homeManagerPrograms.nix index 83fcda9..078b1f1 100644 --- a/modules/shared/homeManagerPrograms.nix +++ b/modules/shared/homeManagerPrograms.nix @@ -59,9 +59,9 @@ reboot-windows = "sudo efibootmgr --bootnext 0000; sudo reboot -h now"; }; shellInit = '' - 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 batman --export-env | source ''; + ##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 }; home-manager.enable = true; } diff --git a/modules/shared/packages.nix b/modules/shared/packages.nix index c44b725..f54cdc8 100644 --- a/modules/shared/packages.nix +++ b/modules/shared/packages.nix @@ -1,4 +1,8 @@ -{pkgs, ...}: +{ + pkgs, + systemSettings, + ... +}: with pkgs; [ #general development just @@ -59,7 +63,6 @@ with pkgs; [ withMoonlight = true; }) vesktop - signal-desktop-bin #media spotify @@ -108,6 +111,7 @@ with pkgs; [ #math texlive.combined.scheme-full + zathura #fun things cowsay