diff --git a/luci/modules/home-manager/home.nix b/luci/modules/home-manager/home.nix index e69de29..91e414a 100644 --- a/luci/modules/home-manager/home.nix +++ b/luci/modules/home-manager/home.nix @@ -0,0 +1,107 @@ +{ lib, config, pkgs, ... }: +let + homeConfig = config.homeConfig; +in +{ + # nixpkgs.overlays = [ + # inputs.nur.overlay + # ]; + + # nixpkgs.config.allowUnfree = true; + # inputs.nixpkgs-stable.config.allowUnfree = true; + options.homeConfig = { + userName = lib.mkOption { + type = lib.types.str; + description = "Main username for system"; + }; + hostName = lib.mkOption { + type = lib.types.str; + description = "Hostname for system"; + }; + fullName = lib.mkOption { + type = lib.types.str; + description = "Hostname for system"; + }; + }; + + config = { + home.username = homeConfig.userName; + home.homeDirectory = "/home/${homeConfig.userName}"; + + programs.home-manager.enable = true; + + home.stateVersion = "23.11"; # Please read the comment before changing. + + fonts.fontconfig.enable = true; + home.packages = with pkgs; [ + helix + jq + + # + # Better Unix + # + bat + duf + fd + fzf + lsd + ripgrep + tre-command + gtop + htop + neofetch + + # Normies + unzip + + imv + mpv + ffmpeg + ]; + + home.file."${config.xdg.configHome}" = { + source = ../../dotfiles; + recursive = true; + }; + + home.sessionVariables = { + EDITOR = "hx"; + }; + + # Git setup + programs.git = { + enable = true; + userEmail = homeConfig.email; + userName = homeConfig.fullName; + }; + + programs = { + direnv = { + enable = true; + enableZshIntegration = true; # see note on other shells below + nix-direnv.enable = true; + }; + bash.enable = true; # see note on other shells below + }; + + # Zsh setup + programs.zsh = { + enable = true; + oh-my-zsh = { + enable = true; + plugins = [ "git" ]; + theme = "half-life"; + }; + initExtra = '' + eval "$(direnv hook zsh)" + + alias ls="lsd" + alias l="lsd --almost-all --long" + alias llm="lsd --timesort --long" + alias lS="lsd --oneline --classic" + alias lt="lsd --tree --depth=2" + alias grep="rg" + ''; + }; + }; +} diff --git a/shared/server-configuration.nix b/shared/server-configuration.nix index 60adf57..bc6a8dd 100644 --- a/shared/server-configuration.nix +++ b/shared/server-configuration.nix @@ -58,6 +58,11 @@ in isDesktopUser = false; }; + environment.systemPackages = with pkgs; [ + docker + docker-compose + ]; + services.openssh = lib.mkIf srvConfig.sshEnable { enable = true; };