nvim stuff

This commit is contained in:
2025-08-05 15:51:08 +02:00
parent 4ef46d14a1
commit df513eb640
14 changed files with 72 additions and 212 deletions

20
flake.lock generated
View File

@@ -321,12 +321,26 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": {
"locked": {
"lastModified": 1754340878,
"narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cab778239e705082fe97bb4990e0d24c50924c04",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": [ "nixpkgs": "nixpkgs_4",
"nixpkgs"
],
"nuschtosSearch": "nuschtosSearch", "nuschtosSearch": "nuschtosSearch",
"systems": "systems_3" "systems": "systems_3"
}, },

View File

@@ -29,7 +29,6 @@
}; };
nixvim = { nixvim = {
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
}; };
secrets = { secrets = {
url = "git+ssh://git@github.com/cschmatzler/nixos-config-secrets.git"; url = "git+ssh://git@github.com/cschmatzler/nixos-config-secrets.git";
@@ -38,18 +37,18 @@
}; };
outputs = outputs =
{ {
self,
darwin,
nix-homebrew,
homebrew-bundle,
homebrew-core,
homebrew-cask,
home-manager,
nixpkgs,
disko,
agenix, agenix,
darwin,
disko,
home-manager,
homebrew-bundle,
homebrew-cask,
homebrew-core,
nix-homebrew,
nixpkgs,
nixvim, nixvim,
secrets, secrets,
self,
}@inputs: }@inputs:
let let
systemLib = import ./lib/systems.nix inputs; systemLib = import ./lib/systems.nix inputs;

View File

@@ -16,8 +16,4 @@
home-manager.users.${user} = { home-manager.users.${user} = {
programs.git.userEmail = "christoph@schmatzler.com"; programs.git.userEmail = "christoph@schmatzler.com";
}; };
environment.systemPackages = with pkgs; [
slack
];
} }

View File

@@ -35,7 +35,6 @@ in
"sd_mod" "sd_mod"
]; ];
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages_latest;
kernelModules = [ "uinput" ];
}; };
time.timeZone = "UTC"; time.timeZone = "UTC";
@@ -50,33 +49,17 @@ in
programs = { programs = {
gnupg.agent.enable = true; gnupg.agent.enable = true;
dconf.enable = true;
fish.enable = true; fish.enable = true;
}; };
services = { services = {
displayManager.defaultSession = "none+bspwm"; openssh = {
xserver = {
enable = true; enable = true;
settings = {
displayManager.lightdm = { PermitRootLogin = "yes";
enable = true; PasswordAuthentication = false;
greeters.slick.enable = true;
background = ../../profiles/nixos/config/login-wallpaper.png;
};
windowManager.bspwm = {
enable = true;
};
xkb = {
layout = "us";
options = "ctrl:nocaps";
}; };
}; };
libinput.enable = true;
openssh.enable = true;
syncthing = { syncthing = {
enable = true; enable = true;
openDefaultPorts = true; openDefaultPorts = true;
@@ -94,138 +77,14 @@ in
}; };
}; };
# Picom, my window compositor with fancy effects
#
# Notes on writing exclude rules:
#
# class_g looks up index 1 in WM_CLASS value for an application
# class_i looks up index 0
#
# To find the value for a specific application, use `xprop` at the
# terminal and then click on a window of the application in question
#
picom = {
enable = true;
settings = {
animations = true;
animation-stiffness = 300.0;
animation-dampening = 35.0;
animation-clamping = false;
animation-mass = 1;
animation-for-workspace-switch-in = "auto";
animation-for-workspace-switch-out = "auto";
animation-for-open-window = "slide-down";
animation-for-menu-window = "none";
animation-for-transient-window = "slide-down";
corner-radius = 12;
rounded-corners-exclude = [
"class_i = 'polybar'"
"class_g = 'i3lock'"
];
round-borders = 3;
round-borders-exclude = [ ];
round-borders-rule = [ ];
shadow = true;
shadow-radius = 8;
shadow-opacity = 0.4;
shadow-offset-x = -8;
shadow-offset-y = -8;
fading = false;
inactive-opacity = 0.8;
frame-opacity = 0.7;
inactive-opacity-override = false;
active-opacity = 1.0;
focus-exclude = [
];
opacity-rule = [
"100:class_g = 'i3lock'"
"60:class_g = 'Dunst'"
"100:class_g = 'Alacritty' && focused"
"90:class_g = 'Alacritty' && !focused"
];
blur-kern = "3x3box";
blur = {
method = "kernel";
strength = 8;
background = false;
background-frame = false;
background-fixed = false;
kern = "3x3box";
};
shadow-exclude = [
"class_g = 'Dunst'"
];
blur-background-exclude = [
"class_g = 'Dunst'"
];
backend = "glx";
vsync = false;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = false;
detect-transient = true;
detect-client-leader = true;
use-damage = true;
log-level = "info";
wintypes = {
normal = {
fade = true;
shadow = false;
};
tooltip = {
fade = true;
shadow = false;
opacity = 0.75;
focus = true;
full-shadow = false;
};
dock = {
shadow = false;
};
dnd = {
shadow = false;
};
popup_menu = {
opacity = 1.0;
};
dropdown_menu = {
opacity = 1.0;
};
};
};
};
gvfs.enable = true; # Mount, trash, and other functionalities
tumbler.enable = true; # Thumbnail support for images
}; };
# Enable CUPS to print documents # Enable CUPS to print documents
# services.printing.enable = true; # services.printing.enable = true;
# services.printing.drivers = [ pkgs.brlaser ]; # Brother printer driver # services.printing.drivers = [ pkgs.brlaser ]; # Brother printer driver
# Enable sound
# sound.enable = true;
# hardware.pulseaudio.enable = true;
# Video support
hardware = {
graphics.enable = true;
# nvidia.modesetting.enable = true;
# Enable Xbox support
# xone.enable = true;
# Crypto wallet support # Crypto wallet support
ledger.enable = true; hardware.ledger.enable = true;
};
# Add docker daemon # Add docker daemon
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
@@ -261,16 +120,6 @@ in
]; ];
}; };
fonts.packages = with pkgs; [
dejavu_fonts
emacs-all-the-icons-fonts
feather-font # from overlay
jetbrains-mono
font-awesome
noto-fonts
noto-fonts-emoji
];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
agenix.packages."${pkgs.system}".default # "x86_64-linux" agenix.packages."${pkgs.system}".default # "x86_64-linux"
gitAndTools.gitFull gitAndTools.gitFull

View File

@@ -7,6 +7,7 @@
homebrew-core, homebrew-core,
homebrew-cask, homebrew-cask,
disko, disko,
nixvim,
self, self,
... ...
}@inputs: }@inputs:

View File

@@ -1,16 +1,18 @@
{ {
imports = [ imports = [
./home-manager/atuin.nix ./atuin.nix
./home-manager/bat.nix ./bat.nix
./home-manager/eza.nix ./eza.nix
./home-manager/fish.nix ./fish.nix
./home-manager/git.nix ./git.nix
./home-manager/jujutsu.nix ./jujutsu.nix
./home-manager/neovim ./neovim
./home-manager/ssh.nix ./ssh.nix
./home-manager/starship.nix ./starship.nix
./home-manager/zellij.nix ./zellij.nix
./home-manager/zoxide.nix ./zoxide.nix
./home-manager/zsh.nix ./zsh.nix
]; ];
programs.home-manager.enable = true;
} }

View File

@@ -1,10 +1,8 @@
{ nixvim, ... }:
{ {
imports = [ imports = [
nixvim.homeManagerModules.nixvim
./options.nix ./options.nix
./plugins ./plugins/oil.nix
./plugins/which-key.nix
]; ];
home.shellAliases.v = "nvim"; home.shellAliases.v = "nvim";
@@ -12,12 +10,15 @@
programs.nixvim = { programs.nixvim = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
nixpkgs.useGlobalPackages = true;
viAlias = true;
vimAlias = true;
luaLoader.enable = true; luaLoader.enable = true;
colorschemes.catppuccin = {
enable = true;
settings = {
flavour = "latte";
};
};
clipboard.register = "unnamedplus";
}; };
} }

View File

@@ -1,5 +1 @@
{ { }
programs.nixvim = {
colorschemes.catppuccin.enable = true;
};
}

View File

@@ -1,5 +0,0 @@
{
imports = [
./oil.nix
];
}

View File

@@ -0,0 +1,5 @@
{
programs.nixvim.plugins.which-key = {
enable = true;
};
}

View File

@@ -1,3 +1,4 @@
{ pkgs, ... }:
{ {
programs.zellij = { programs.zellij = {
enable = true; enable = true;
@@ -5,6 +6,7 @@
settings = { settings = {
theme = "catppuccin-latte"; theme = "catppuccin-latte";
default_layout = "compact"; default_layout = "compact";
default_shell = "${pkgs.fish}/bin/fish";
show_startup_tips = false; show_startup_tips = false;
show_release_notes = false; show_release_notes = false;
}; };

View File

@@ -13,7 +13,6 @@ with pkgs;
jq jq
killall killall
libfido2 libfido2
neovim
nerd-fonts.iosevka nerd-fonts.iosevka
nixfmt nixfmt
nodejs_24 nodejs_24

View File

@@ -33,15 +33,16 @@
... ...
}: }:
{ {
_module.args = { inherit user nixvim; }; _module.args = { inherit user; };
imports = [ imports = [
nixvim.homeModules.nixvim
../base/home-manager ../base/home-manager
./home-manager/ghostty.nix ./home-manager/ghostty.nix
]; ];
fonts.fontconfig.enable = true; fonts.fontconfig.enable = true;
home = { home = {
packages = pkgs.callPackage ./packages.nix { } ++ pkgs.callPackage ../base/packages.nix { }; packages = pkgs.callPackage ./packages.nix { } ++ pkgs.callPackage ../base/packages.nix { };
stateVersion = "23.11"; stateVersion = "24.05";
}; };
}; };
}; };

View File

@@ -3,6 +3,7 @@
pkgs, pkgs,
lib, lib,
home-manager, home-manager,
nixvim,
user, user,
... ...
}: }:
@@ -24,8 +25,6 @@ in
extraGroups = [ extraGroups = [
"wheel" "wheel"
"sudo" "sudo"
"audio"
"video"
"network" "network"
"systemd-journal" "systemd-journal"
]; ];
@@ -44,7 +43,8 @@ in
{ {
_module.args = { inherit user; }; _module.args = { inherit user; };
imports = [ imports = [
../base/home-manager.nix nixvim.homeModules.nixvim
../base/home-manager
]; ];
home = { home = {
packages = pkgs.callPackage ./packages.nix { }; packages = pkgs.callPackage ./packages.nix { };