diff --git a/flake.nix b/flake.nix index ff61f92..cb89b1f 100644 --- a/flake.nix +++ b/flake.nix @@ -6,15 +6,27 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; nixos-generators.url = "github:nix-community/nixos-generators"; + home-manager.url = "github:nix-community/home-manager"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, nixpkgs, flake-utils, nixos-generators, ... }: + outputs = { self, nixpkgs, flake-utils, nixos-generators, home-manager, ... }: flake-utils.lib.eachDefaultSystem (system: let iso = nixos-generators.nixosGenerate { inherit system; format = "install-iso"; - modules = [ ./installer.nix ]; + modules = [ + ./installer.nix + home-manager.nixosModules.home-manager + + # Configure home-manager for nixos user + { + home-manager.useUserPackages = true; + home-manager.useGlobalPkgs = true; + home-manager.users.nixos = import ./home.nix; + } + ]; }; in { packages.default = iso; diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..6733dd9 --- /dev/null +++ b/home.nix @@ -0,0 +1,55 @@ +{ config, pkgs, lib, ... }: + +let + remote = "root@proxmox-ip:/var/lib/vz/template/iso"; + localMount = "${config.home.homeDirectory}/proxmox-iso"; +in { + + imports = [ + ./aliases.nix + ]; + + home.username = "nixos"; # your actual username + home.homeDirectory = "/home/nixos"; + home.stateVersion = "25.05"; # match your NixOS stateVersion + + programs.home-manager.enable = true; # mandatory to activate HM + +programs.bash.enable = true; + + home.file = { + ".config/nix/nix.conf".text = '' + access-tokens = github.com=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 + ''; + }; + + # Optional: packages + home.packages = with pkgs; [ + git + vim + tmux + nano + sshfs + ]; + + # Optional: set environment vars + home.sessionVariables = { + EDITOR = "nano"; + }; + + home.file.".bashrc".text = '' + if [ -n "$PS1" ] && [ ! -e ~/.auto_install_ran ]; then + sudo /etc/auto-install.sh + touch ~/.auto_install_ran + fi + ''; + + # Optional: enable bash (or zsh, fish...) +# programs.bash.enable = true; + + # Optional: manage dotfiles via symlinks +# home.file = { +# ".tmux.conf".source = ./dotfiles/tmux.conf; +# ".config/nvim/init.vim".source = ./dotfiles/init.vim; +# }; +}