diff --git a/nixos/flake.nix b/nixos/flake.nix index 4cb7431..dcaa942 100644 --- a/nixos/flake.nix +++ b/nixos/flake.nix @@ -1,6 +1,7 @@ { inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + nixpkgs-unstable.url = "nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager/release-24.05"; @@ -12,12 +13,25 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + nixvim-flake = { + url = "path:./nixvim"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + nixos-06cb-009a-fingerprint-sensor = { url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { nixpkgs, home-manager, myHomeManagerConfiguration, nixos-06cb-009a-fingerprint-sensor, ... }: + outputs = { + nixpkgs, + home-manager, + + myHomeManagerConfiguration, + nixvim-flake, + + nixos-06cb-009a-fingerprint-sensor, + ... }: { nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -26,7 +40,10 @@ home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.khais = myHomeManagerConfiguration.homeConfigurations.t470; + home-manager.users.khais = ./home.nix; + extraSpecialArgs = { + inherit nixvim-flake; + }; } nixos-06cb-009a-fingerprint-sensor.nixosModules.open-fprintd nixos-06cb-009a-fingerprint-sensor.nixosModules.python-validity diff --git a/nixos/home.nix b/nixos/home.nix new file mode 100644 index 0000000..4a1312b --- /dev/null +++ b/nixos/home.nix @@ -0,0 +1,94 @@ +{ pkgs, nixvim-flake, river-shifttags, ... }: let + username = "khais"; +in { + home = { + packages = with pkgs; [ + # system tools & bragging + htop neofetch ripgrep usbutils wget curl ncdu + # remote working + remmina + # audio + audacity + # communication + discord + # passwords + bitwarden-desktop + # editors + zed-editor + # nixvim + nixvim-flake.packages.${system}.default + # make clipboard yanking work in neovim + # https://superuser.com/a/1803183 + wl-clipboard + # wm river utils + playerctl brightnessctl + river-shifttags.packages.${system}.default + # dev tools + gitu lnav + # music + cmus + # file sending + magic-wormhole-rs + # drawing apps + krita inkscape + ]; + + file = { + # konsole configuration + ".local/share/konsole/Nixos.profile".source = ./konsole/Nixos.profile; + }; + + sessionVariables = { + EDITOR = "nvim"; + }; + + inherit username; + homeDirectory = "/home/${username}"; + + stateVersion = "23.11"; + }; + + nixpkgs.config.allowUnfree = true; + + programs.git = { + enable = true; + userEmail = "khais.colin@gmail.com"; + userName = "Khaïs COLIN"; + # better diffs + diff-so-fancy.enable = true; + # set editor + extraConfig.core.editor = "nvim"; + # always show diff in commits + extraConfig.commit.verbose = true; + }; + + programs.zsh = { + enable = true; + enableVteIntegration = true; + prezto = { + enable = true; + }; + shellAliases = { + gc = "git commit -v"; + ga = "git add"; + gst = "git status"; + gp = "git push"; + gd = "git diff"; + gds = "git diff --staged"; + + vim = "nvim"; + vi = "nvim"; + }; + }; + + programs.kitty = { + enable = true; + keybindings = { + "super+shift+enter" = "new_os_window_with_cwd"; + }; + settings = { + text_fg_override_threshold = 10; + }; + }; + programs.fuzzel.enable = true; +} diff --git a/nixos/konsole/Nixos.profile b/nixos/konsole/Nixos.profile new file mode 100644 index 0000000..35bfc4f --- /dev/null +++ b/nixos/konsole/Nixos.profile @@ -0,0 +1,9 @@ +[Appearance] +Font=VictorMono Nerd Font,10,-1,5,600,0,0,0,0,0,0,0,0,0,0,1,SemiBold + +[General] +Name=Nixos +Parent=FALLBACK/ + +[Scrolling] +HistoryMode=2