diff --git a/flake.nix b/flake.nix index 94a614e..b26a817 100644 --- a/flake.nix +++ b/flake.nix @@ -14,26 +14,21 @@ }; }; - outputs = inputs: - let - system = "x86_64-linux"; - pkgs = inputs.nixpkgs.legacyPackages.${system}; - in { - homeConfigurations."tacocat" = inputs.home-manager.lib.homeManagerConfiguration { - inherit pkgs; + outputs = inputs: let + system = "x86_64-linux"; + pkgs = inputs.nixpkgs.legacyPackages.${system}; + in { + homeConfigurations."tacocat" = inputs.home-manager.lib.homeManagerConfiguration { + inherit pkgs; - # Specify your home configuration modules here, for example, - # the path to your home.nix. - modules = [ - ./home.nix - ./shell - ./programs - ./helix - ]; + modules = [ + ./home.nix + ./shell + ./programs + ./helix + ]; - # Optionally use extraSpecialArgs - # to pass through arguments to home.nix - extraSpecialArgs = {inherit inputs system;}; - }; + extraSpecialArgs = {inherit inputs system;}; }; + }; } diff --git a/helix/default.nix b/helix/default.nix index 87b6990..350c180 100644 --- a/helix/default.nix +++ b/helix/default.nix @@ -25,8 +25,6 @@ marksman nil nodePackages.bash-language-server - # nodePackages.vscode-css-languageserver-bin - # nodePackages.vscode-langservers-extracted shellcheck ]) ]; diff --git a/home.nix b/home.nix index 34bd3bf..e2e1787 100644 --- a/home.nix +++ b/home.nix @@ -1,43 +1,41 @@ -{ config, pkgs, ... }: +{pkgs, ...}: { + home = { + username = "tacocat"; + homeDirectory = "/home/tacocat"; + stateVersion = "23.11"; + sessionVariables = { + EDITOR = "hx"; + BAT_THEME = "ansi"; + }; + packages = with pkgs; [ + wineWowPackages.unstable + eza + bat + pandoc + ]; + }; -{ - home = { - username = "tacocat"; - homeDirectory = "/home/tacocat"; - stateVersion = "23.11"; - sessionVariables = { - EDITOR = "hx"; - BAT_THEME = "ansi"; - }; - packages = with pkgs; [ - wineWowPackages.unstable - eza - bat - pandoc - ]; - }; - - # # You can also create simple shell scripts directly inside your - # # configuration. For example, this adds a command 'my-hello' to your - # # environment: - # (pkgs.writeShellScriptBin "my-hello" '' - # echo "Hello, ${config.home.username}!" - # '') + # # You can also create simple shell scripts directly inside your + # # configuration. For example, this adds a command 'my-hello' to your + # # environment: + # (pkgs.writeShellScriptBin "my-hello" '' + # echo "Hello, ${config.home.username}!" + # '') # ]; # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. # home.file = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; # }; # Let Home Manager install and manage itself. diff --git a/programs/default.nix b/programs/default.nix index 82c0af1..7b8cdbf 100644 --- a/programs/default.nix +++ b/programs/default.nix @@ -1,5 +1,5 @@ { - imports = [ - ./kitty.nix - ]; + imports = [ + ./kitty.nix + ]; } diff --git a/programs/kitty.nix b/programs/kitty.nix index 3ac4506..7f69d93 100644 --- a/programs/kitty.nix +++ b/programs/kitty.nix @@ -1,34 +1,32 @@ -{ config, pkgs, ... }: - -{ - programs.kitty = { - enable = true; - package = pkgs.runCommandLocal "no-kitty" {} "mkdir $out"; - # use kitty provided by your distro's package manager - # can cause weird behaviour if anyhting depends on this package - font.name = "FiraCode Nerd Font Mono"; - # font.package = pkgs.maple-mono-NF; - font.package = pkgs.nerdfonts.override {fonts = ["FiraCode"];}; - font.size = 12.0; - shellIntegration.enableZshIntegration = true; - theme = "Rosé Pine Moon"; - settings = { - cursor = "none"; - cursor_shape = "block"; - cursor_blink_interval = 0; - shell = "/home/tacocat/.nix-profile/bin/zsh"; - shell_integration = "no-cursor"; - background_opacity = "0.9"; - tab_bar_style = "powerline"; - tab_separator = " |"; - tab_powerline_style = "slanted"; - enable_audio_bell = "no"; - # allow_remote_control = "password"; - update_check_interval = 0; - linux_display_server = "wayland"; - }; - keybindings = { - "kitty_mod+b" = "select_tab"; - }; - }; +{pkgs, ...}: { + programs.kitty = { + enable = true; + package = pkgs.runCommandLocal "no-kitty" {} "mkdir $out"; + # use kitty provided by your distro's package manager + # can cause weird behaviour if anyhting depends on this package + font.name = "FiraCode Nerd Font Mono"; + # font.package = pkgs.maple-mono-NF; + font.package = pkgs.nerdfonts.override {fonts = ["FiraCode"];}; + font.size = 12.0; + shellIntegration.enableZshIntegration = true; + theme = "Rosé Pine Moon"; + settings = { + cursor = "none"; + cursor_shape = "block"; + cursor_blink_interval = 0; + shell = "/home/tacocat/.nix-profile/bin/zsh"; + shell_integration = "no-cursor"; + background_opacity = "0.9"; + tab_bar_style = "powerline"; + tab_separator = " |"; + tab_powerline_style = "slanted"; + enable_audio_bell = "no"; + # allow_remote_control = "password"; + update_check_interval = 0; + linux_display_server = "wayland"; + }; + keybindings = { + "kitty_mod+b" = "select_tab"; + }; + }; } diff --git a/shell/bash.nix b/shell/bash.nix index a7fad5c..6bb4e0e 100644 --- a/shell/bash.nix +++ b/shell/bash.nix @@ -1,27 +1,26 @@ -{ config, pkgs, ... }: -{ - programs.bash = { - enable = true; - enableCompletion = true; - bashrcExtra = '' +{...}: { + programs.bash = { + enable = true; + enableCompletion = true; + bashrcExtra = '' -if [ -d "$HOME/.local/bin" ] ; then - PATH="$HOME/.local/bin:$PATH" -fi + if [ -d "$HOME/.local/bin" ] ; then + PATH="$HOME/.local/bin:$PATH" + fi -# DotNet -PATH=$PATH:~/.dotnet -export DOTNET_ROOT=~/.dotnet + # DotNet + PATH=$PATH:~/.dotnet + export DOTNET_ROOT=~/.dotnet - ''; # this should be changed to use home.sessionVariables - - profileExtra = '' + ''; # this should be changed to use home.sessionVariables -eval "$(ssh-agent -s)" -ssh-add ~/.ssh/git_school -ssh-add ~/.ssh/git_personal -ssh-add ~/.ssh/id_ed25519 + profileExtra = '' - ''; - }; + eval "$(ssh-agent -s)" + ssh-add ~/.ssh/git_school + ssh-add ~/.ssh/git_personal + ssh-add ~/.ssh/id_ed25519 + + ''; + }; } diff --git a/shell/default.nix b/shell/default.nix index 76ffca9..57f580b 100644 --- a/shell/default.nix +++ b/shell/default.nix @@ -1,8 +1,6 @@ { - -imports = [ - ./zsh.nix - ./bash.nix -]; - + imports = [ + ./zsh.nix + ./bash.nix + ]; } diff --git a/shell/zsh.nix b/shell/zsh.nix index 447e6fa..e2ab43e 100644 --- a/shell/zsh.nix +++ b/shell/zsh.nix @@ -1,75 +1,65 @@ -{ config, pkgs, ... }: - { - programs.zsh = { - enable = true; - enableAutosuggestions = true; - enableCompletion = true; - syntaxHighlighting.enable = true; - autocd = true; - defaultKeymap = null; - dotDir = ".config/zsh"; - history = { - ignoreSpace = true; - path = "${config.xdg.dataHome}/zsh/zsh_history"; - save = 10000; - }; - historySubstringSearch.enable = true; - plugins = [ + config, + pkgs, + ... +}: { + programs.zsh = { + enable = true; + enableAutosuggestions = true; + enableCompletion = true; + syntaxHighlighting.enable = true; + autocd = true; + defaultKeymap = null; + dotDir = ".config/zsh"; + history = { + ignoreSpace = true; + path = "${config.xdg.dataHome}/zsh/zsh_history"; + save = 10000; + }; + historySubstringSearch.enable = true; + plugins = [ + { + name = "powerlevel10k"; + file = "powerlevel10k.zsh-theme"; + src = pkgs.fetchFromGitHub { + owner = "romkatv"; + repo = "powerlevel10k"; + rev = "v1.19.0"; + sha256 = "+hzjSbbrXr0w1rGHm6m2oZ6pfmD6UUDBfPd7uMg5l5c="; + }; + } - { - name = "powerlevel10k"; - file = "powerlevel10k.zsh-theme"; - src = pkgs.fetchFromGitHub { - owner = "romkatv"; - repo = "powerlevel10k"; - rev = "v1.19.0"; - sha256 = "+hzjSbbrXr0w1rGHm6m2oZ6pfmD6UUDBfPd7uMg5l5c="; - }; - } + { + name = "z.lua"; + src = pkgs.fetchFromGitHub { + owner = "skywind3000"; + repo = "z.lua"; + rev = "1.8.16"; + sha256 = "VVJXBVENXlJXVj831Hx4sa7AzGHXpsui6tga9uA6ZnE="; + }; + } - # { - # name = "zsh-bat"; - # src = pkgs.fetchFromGitHub { - # owner = "fdellwing"; - # repo = "zsh-bat"; - # rev = "d7d5df4f6c7dd380e49b47e4da840226a828968a"; - # sha256 = "4DQ/qSznM4A9IyM6W0bncHUa4jTIAdBxL16YJgMccHE="; - # }; - # } - - { - name = "z.lua"; - src = pkgs.fetchFromGitHub { - owner = "skywind3000"; - repo = "z.lua"; - rev = "1.8.16"; - sha256 = "VVJXBVENXlJXVj831Hx4sa7AzGHXpsui6tga9uA6ZnE="; - }; - } - - { - name = "zsh-vi-mode"; - src = pkgs.fetchFromGitHub { - owner = "jeffreytse"; - repo = "zsh-vi-mode"; - rev = "v0.10.0"; - sha256 = "QE6ZwwM2X0aPqNnbVrj0y7w9hmuRf0H1j8nXYwyoLo4="; - }; - } - - ]; - shellAliases = { - ls = "eza"; - la = "eza -la"; - l = "eza -l"; - }; - initExtra = '' - source ~/.config/zsh/.p10k.zsh - ''; - localVariables = { - POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD = true; - }; - }; - home.file.".config/zsh/.p10k.zsh".source = ./.p10k.zsh; + { + name = "zsh-vi-mode"; + src = pkgs.fetchFromGitHub { + owner = "jeffreytse"; + repo = "zsh-vi-mode"; + rev = "v0.10.0"; + sha256 = "QE6ZwwM2X0aPqNnbVrj0y7w9hmuRf0H1j8nXYwyoLo4="; + }; + } + ]; + shellAliases = { + ls = "eza"; + la = "eza -la"; + l = "eza -l"; + }; + initExtra = '' + source ~/.config/zsh/.p10k.zsh + ''; + localVariables = { + POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD = true; + }; + }; + home.file.".config/zsh/.p10k.zsh".source = ./.p10k.zsh; }