diff --git a/home-manager/pfke_at_errol.nix b/home-manager/pfke_at_errol.nix new file mode 100644 index 0000000..fb65fad --- /dev/null +++ b/home-manager/pfke_at_errol.nix @@ -0,0 +1,100 @@ +{ config, pkgs, ... }: + +let + mkPersistentLink = path: pkgs.runCommand "persistent-link" {} '' + ln -s /home/pfke/.local/share/pfke/nix-config/${path} $out + ''; +in { + imports = [ + ./modules/cli/bat.nix + ./modules/cli/fish.nix + ./modules/keychain.nix + ./modules/cli/starship.nix + ]; + + home.file.".config/nvim".source = mkPersistentLink "dot_files/.config/nvim"; + # home.file.".config/nvim".onChange = "nvim --headless \"+Lazy! sync\" +qa"; + + # Home Manager needs a bit of information about you and the + # paths it should manage. + home.username = "pfke"; + home.homeDirectory = "/home/pfke"; + + fonts = { + fonts = with pkgs; [ + noto-fonts + noto-fonts-emoji + font-awesome + source-han-sans + (nerdfonts.override { fonts = [ "Meslo" ]}) + ]; + fontconfig = { + enable = true; + defaultFonts = { + monospace = [ "Meslo LG M Regular Nerd Font Complete Mono" ]; + serif = [ "Noto Serif" "Source Han Serif" ]; + sansSerif = [ "Nono Sans" "Source Han Sans" ]; + }; + } + } + + # Packages that should be installed to the user profile. + home.packages = with pkgs; [ + (pkgs.nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; }) + + exa + fasd + fd + htop + fortune + python3 + ranger + ripgrep + rsync + + clang + ]; + + # This value determines the Home Manager release that your + # configuration is compatible with. This helps avoid breakage + # when a new Home Manager release introduces backwards + # incompatible changes. + # + # You can update Home Manager without changing this value. See + # the Home Manager release notes for a list of state version + # changes in each release. + home.stateVersion = "23.05"; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; + + # git + programs.git = { + enable = true; + userName = "pfke"; + userEmail = "heiko.blobner@pfke.de"; + aliases = { + st = "status"; + }; + }; + + programs.neovim = { + enable = true; + vimAlias = true; + }; + + home.sessionPath = [ "/home/pfke/.gu/bin" ]; + home.sessionVariables = { + EDITOR = "nvim"; + PERL5LIB = "/home/pfke/.gu/lib/perl"; + GU_ENV = "1"; + MAKE_J_OPTION = "$(nproc)"; + MAKEFLAGS = "-j$(nproc)"; + }; + + services.gpg-agent = { + enable = true; + defaultCacheTtl = 1800; + enableSshSupport = true; + }; +}