diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..7e9c2509 --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +.PHONY: update clean +update: + home-manager switch --flake .#functionalhacker + +clean: + nix-collect-garbage -d diff --git a/nixos_common.nix b/common.nix similarity index 86% rename from nixos_common.nix rename to common.nix index 515eba41..03519a6d 100644 --- a/nixos_common.nix +++ b/common.nix @@ -64,17 +64,16 @@ enable = true; nativeMessagingHosts.packages = [ pkgs.browserpass ]; }; - zsh.enable = true; + zsh = { enable = true; }; }; - environment = { - shells = [ pkgs.zsh ]; - systemPackages = with pkgs; - [ - neovim - telegram-desktop - usbutils - wl-clipboard - ]; - }; + environment.systemPackages = with pkgs; [ + git + gnumake + home-manager + neovim + telegram-desktop + usbutils + wl-clipboard + ]; } diff --git a/flake.nix b/flake.nix index 2df7ebe8..b5779311 100644 --- a/flake.nix +++ b/flake.nix @@ -11,21 +11,24 @@ }; outputs = { nixpkgs, home-manager, ... }: + let + system = "x86_64-linux"; + pkgs = import nixpkgs { inherit system; }; + in { nixosConfigurations.Mirkwood = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ + ./common.nix ./hosts/Mirkwood/configuration.nix - ./nixos_common.nix - - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.functionalhacker = - import ./users/functionalhacker/home.nix; - } ]; }; + + homeConfigurations = { + functionalhacker = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + modules = [ ./users/functionalhacker/home.nix ]; + }; + }; }; } diff --git a/gpg.nix b/gpg.nix index b7046d0f..9161c53a 100644 --- a/gpg.nix +++ b/gpg.nix @@ -15,4 +15,10 @@ pkgs.yubikey-personalization ]; }; + + environment.shellInit = '' + gpg-connect-agent /bye + export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) + export MARKON_MUUTTUJA="test" + ''; } diff --git a/hosts/Mirkwood/hardware-configuration.nix b/hosts/Mirkwood/hardware-configuration.nix index fa60be88..3c105ff4 100644 --- a/hosts/Mirkwood/hardware-configuration.nix +++ b/hosts/Mirkwood/hardware-configuration.nix @@ -1,7 +1,7 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, modulesPath, ... }: +{ config, lib, pkgs, modulesPath, ... }: { imports = diff --git a/users/functionalhacker/home.nix b/users/functionalhacker/home.nix index b0cc916c..ee2f93f3 100644 --- a/users/functionalhacker/home.nix +++ b/users/functionalhacker/home.nix @@ -1,64 +1,6 @@ { config, pkgs, ... }: { - home = { - username = "functionalhacker"; - homeDirectory = "/home/functionalhacker"; - stateVersion = "24.05"; - - packages = with pkgs; [ - bat - cargo - fd - gcc - neovide - nerdfonts - nodejs - pass - ripgrep - tree-sitter - yarn - ]; - - sessionVariables = { - - # key timeout - KEYTIMEOUT = 1; - - # prompt customization - PURE_PROMPT_SYMBOL = "λ"; - PURE_PROMPT_VICMD_SYMBOL = "y"; - - # history settings - HISTFILE = "~/.zsh_history"; - HISTSIZE = 10000; - SAVEHIST = 10000; - - # fzf settings - FD_COMMAND = "fd -HLt"; - FZF_DEFAULT_COMMAND = "fd -HLt f"; - FZF_ALT_C_COMMAND = "fd -HLt d"; - FZF_ALT_C_OPTS = "--preview 'eza -l {}'"; - FZF_DEFAULT_OPTS = "-m --ansi --bind ctrl-a:toggle-all,ctrl-d:deselect-all,ctrl-t:toggle-all"; - FZF_COMPLETION_TRIGGER = "**"; - FZF_CTRL_T_COMMAND = "fd -HLt f --strip-cwd-prefix"; - FZF_CTRL_T_OPTS = "--preview 'bat --color=always --style=numbers --line-range=:500 {}'"; - - # nvim ftw! - PAGER = "nvim -R +\"lua require 'pager'\""; - GIT_PAGER = "nvim -c 'set ft=git' -R +\"lua require 'pager'\""; - MANPAGER = "nvim +\"lua require 'pager'\" +Man!"; - SYSTEMD_PAGER = "less"; - - MARKON_NIXOS = "cool"; - }; - - # Just symlink neovim configuration for now. - # Declarative configuration coming soon™ - file.".config/nvim".source = - config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/git/dotfiles/home/.config/nvim"; - }; - programs = { neovim = { enable = true; @@ -67,8 +9,6 @@ zsh = { enable = true; - syntaxHighlighting.enable = true; - enableCompletion = false; zplug = { enable = true; plugins = [ @@ -81,20 +21,33 @@ { name = "zsh-users/zsh-history-substring-search"; } { name = "wfxr/forgit"; } { name = "zsh-users/zsh-completions"; } + { name = "zdharma-continuum/fast-syntax-highlighting"; } { name = "RobSis/zsh-completion-generator"; } ]; }; }; + }; - fzf = { - enable = true; - enableZshIntegration = true; - }; + home = { + username = "functionalhacker"; + homeDirectory = "/home/functionalhacker"; + stateVersion = "24.05"; - git = { - enable = true; - userName = "Marko Korhonen"; - userEmail = "marko@korhonen.cc"; - }; + file.".config/nvim".source = + config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/git/dotfiles/home/.config/nvim"; + + packages = with pkgs; [ + cargo + fd + fzf + gcc + neovide + nerdfonts + nodejs + pass + ripgrep + tree-sitter + yarn + ]; }; }