Merge branch 'main' of github.com:nmarks413/nix-config

This commit is contained in:
Natalie 2025-04-30 12:38:32 -07:00
commit 17abc9277d
No known key found for this signature in database
GPG key ID: 61F4EAEB0C9C3D5F
11 changed files with 80 additions and 30 deletions

View file

@ -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 = {

View file

@ -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;

View file

@ -6,6 +6,7 @@
environment.systemPackages = with pkgs; [
neovim
pinentry_mac
signal-desktop-bin
];
# Create /etc/zshrc that loads the nix-darwin environment.

View file

@ -10,7 +10,7 @@
grub = {
enable = true;
device = "nodev";
theme = pkgs.catppuccin-grub;
# theme = pkgs.catppuccin-grub;
useOSProber = true;
efiSupport = true;
};

View file

@ -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`.

View file

@ -25,10 +25,9 @@
displayManager.cosmic-greeter.enable = true;
# Auto mount devices
udiskie = {
udisks2 = {
enable = true;
};
# Configure keymap in X11
xserver = {
xkb.layout = "us";

View file

@ -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";
};
};
};

View file

@ -1,5 +1,6 @@
{pkgs, ...}: {
imports = [
./blink.nix
./lz-n.nix
];
}

View file

@ -0,0 +1,7 @@
{pkgs, ...}: {
programs.nixvim.plugins = {
lz-n = {
enable = true;
};
};
}

View file

@ -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;
}

View file

@ -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