diff --git a/flake.lock b/flake.lock index 7926b5a..c2d1ec2 100644 --- a/flake.lock +++ b/flake.lock @@ -321,12 +321,26 @@ "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": { "inputs": { "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ], + "nixpkgs": "nixpkgs_4", "nuschtosSearch": "nuschtosSearch", "systems": "systems_3" }, diff --git a/flake.nix b/flake.nix index 2f4740e..57616f7 100644 --- a/flake.nix +++ b/flake.nix @@ -29,7 +29,6 @@ }; nixvim = { url = "github:nix-community/nixvim"; - inputs.nixpkgs.follows = "nixpkgs"; }; secrets = { url = "git+ssh://git@github.com/cschmatzler/nixos-config-secrets.git"; @@ -38,18 +37,18 @@ }; outputs = { - self, - darwin, - nix-homebrew, - homebrew-bundle, - homebrew-core, - homebrew-cask, - home-manager, - nixpkgs, - disko, agenix, + darwin, + disko, + home-manager, + homebrew-bundle, + homebrew-cask, + homebrew-core, + nix-homebrew, + nixpkgs, nixvim, secrets, + self, }@inputs: let systemLib = import ./lib/systems.nix inputs; diff --git a/hosts/darwin/jason/default.nix b/hosts/darwin/jason/default.nix index 4429ff7..0b8b3dd 100644 --- a/hosts/darwin/jason/default.nix +++ b/hosts/darwin/jason/default.nix @@ -16,8 +16,4 @@ home-manager.users.${user} = { programs.git.userEmail = "christoph@schmatzler.com"; }; - - environment.systemPackages = with pkgs; [ - slack - ]; } diff --git a/hosts/nixos/default.nix b/hosts/nixos/default.nix index ab10773..1a3b168 100644 --- a/hosts/nixos/default.nix +++ b/hosts/nixos/default.nix @@ -35,7 +35,6 @@ in "sd_mod" ]; kernelPackages = pkgs.linuxPackages_latest; - kernelModules = [ "uinput" ]; }; time.timeZone = "UTC"; @@ -50,33 +49,17 @@ in programs = { gnupg.agent.enable = true; - dconf.enable = true; fish.enable = true; }; services = { - displayManager.defaultSession = "none+bspwm"; - xserver = { + openssh = { enable = true; - - displayManager.lightdm = { - enable = true; - greeters.slick.enable = true; - background = ../../profiles/nixos/config/login-wallpaper.png; - }; - - windowManager.bspwm = { - enable = true; - }; - - xkb = { - layout = "us"; - options = "ctrl:nocaps"; + settings = { + PermitRootLogin = "yes"; + PasswordAuthentication = false; }; }; - - libinput.enable = true; - openssh.enable = true; syncthing = { enable = 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 # services.printing.enable = true; # 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 - ledger.enable = true; - }; + # Crypto wallet support + hardware.ledger.enable = true; # Add docker daemon 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; [ agenix.packages."${pkgs.system}".default # "x86_64-linux" gitAndTools.gitFull diff --git a/lib/systems.nix b/lib/systems.nix index 865a9ab..9675e34 100644 --- a/lib/systems.nix +++ b/lib/systems.nix @@ -7,6 +7,7 @@ homebrew-core, homebrew-cask, disko, + nixvim, self, ... }@inputs: diff --git a/profiles/base/home-manager/default.nix b/profiles/base/home-manager/default.nix index 318be6a..883cbcd 100644 --- a/profiles/base/home-manager/default.nix +++ b/profiles/base/home-manager/default.nix @@ -1,16 +1,18 @@ { imports = [ - ./home-manager/atuin.nix - ./home-manager/bat.nix - ./home-manager/eza.nix - ./home-manager/fish.nix - ./home-manager/git.nix - ./home-manager/jujutsu.nix - ./home-manager/neovim - ./home-manager/ssh.nix - ./home-manager/starship.nix - ./home-manager/zellij.nix - ./home-manager/zoxide.nix - ./home-manager/zsh.nix + ./atuin.nix + ./bat.nix + ./eza.nix + ./fish.nix + ./git.nix + ./jujutsu.nix + ./neovim + ./ssh.nix + ./starship.nix + ./zellij.nix + ./zoxide.nix + ./zsh.nix ]; + + programs.home-manager.enable = true; } diff --git a/profiles/base/home-manager/neovim/default.nix b/profiles/base/home-manager/neovim/default.nix index c807623..7b992f7 100644 --- a/profiles/base/home-manager/neovim/default.nix +++ b/profiles/base/home-manager/neovim/default.nix @@ -1,10 +1,8 @@ -{ nixvim, ... }: - { imports = [ - nixvim.homeManagerModules.nixvim ./options.nix - ./plugins + ./plugins/oil.nix + ./plugins/which-key.nix ]; home.shellAliases.v = "nvim"; @@ -12,12 +10,15 @@ programs.nixvim = { enable = true; defaultEditor = true; - - nixpkgs.useGlobalPackages = true; - - viAlias = true; - vimAlias = true; - luaLoader.enable = true; + + colorschemes.catppuccin = { + enable = true; + settings = { + flavour = "latte"; + }; + }; + + clipboard.register = "unnamedplus"; }; } diff --git a/profiles/base/home-manager/neovim/options.nix b/profiles/base/home-manager/neovim/options.nix index ca71744..ffcd441 100644 --- a/profiles/base/home-manager/neovim/options.nix +++ b/profiles/base/home-manager/neovim/options.nix @@ -1,5 +1 @@ -{ - programs.nixvim = { - colorschemes.catppuccin.enable = true; - }; -} +{ } diff --git a/profiles/base/home-manager/neovim/plugins/default.nix b/profiles/base/home-manager/neovim/plugins/default.nix deleted file mode 100644 index b1bf589..0000000 --- a/profiles/base/home-manager/neovim/plugins/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - imports = [ - ./oil.nix - ]; -} diff --git a/profiles/base/home-manager/neovim/plugins/which-key.nix b/profiles/base/home-manager/neovim/plugins/which-key.nix new file mode 100644 index 0000000..3841b71 --- /dev/null +++ b/profiles/base/home-manager/neovim/plugins/which-key.nix @@ -0,0 +1,5 @@ +{ + programs.nixvim.plugins.which-key = { + enable = true; + }; +} diff --git a/profiles/base/home-manager/zellij.nix b/profiles/base/home-manager/zellij.nix index 28a3c8a..ccf8527 100644 --- a/profiles/base/home-manager/zellij.nix +++ b/profiles/base/home-manager/zellij.nix @@ -1,3 +1,4 @@ +{ pkgs, ... }: { programs.zellij = { enable = true; @@ -5,6 +6,7 @@ settings = { theme = "catppuccin-latte"; default_layout = "compact"; + default_shell = "${pkgs.fish}/bin/fish"; show_startup_tips = false; show_release_notes = false; }; diff --git a/profiles/base/packages.nix b/profiles/base/packages.nix index 4453a72..e0f3806 100644 --- a/profiles/base/packages.nix +++ b/profiles/base/packages.nix @@ -13,7 +13,6 @@ with pkgs; jq killall libfido2 - neovim nerd-fonts.iosevka nixfmt nodejs_24 diff --git a/profiles/darwin/default.nix b/profiles/darwin/default.nix index 5302a77..032a0c2 100644 --- a/profiles/darwin/default.nix +++ b/profiles/darwin/default.nix @@ -33,15 +33,16 @@ ... }: { - _module.args = { inherit user nixvim; }; + _module.args = { inherit user; }; imports = [ + nixvim.homeModules.nixvim ../base/home-manager ./home-manager/ghostty.nix ]; fonts.fontconfig.enable = true; home = { packages = pkgs.callPackage ./packages.nix { } ++ pkgs.callPackage ../base/packages.nix { }; - stateVersion = "23.11"; + stateVersion = "24.05"; }; }; }; diff --git a/profiles/nixos/default.nix b/profiles/nixos/default.nix index 89176ec..2017796 100644 --- a/profiles/nixos/default.nix +++ b/profiles/nixos/default.nix @@ -3,6 +3,7 @@ pkgs, lib, home-manager, + nixvim, user, ... }: @@ -24,8 +25,6 @@ in extraGroups = [ "wheel" "sudo" - "audio" - "video" "network" "systemd-journal" ]; @@ -44,7 +43,8 @@ in { _module.args = { inherit user; }; imports = [ - ../base/home-manager.nix + nixvim.homeModules.nixvim + ../base/home-manager ]; home = { packages = pkgs.callPackage ./packages.nix { };