diff --git a/ubuntu-home.nix b/ubuntu-home.nix new file mode 100644 index 0000000..ac503ed --- /dev/null +++ b/ubuntu-home.nix @@ -0,0 +1,87 @@ +{ config, pkgs, ... }: + +{ + # Home Manager needs a bit of information about you and the + # paths it should manage. + home.username = "aaronh"; + home.homeDirectory = "/home/aaronh"; + + # 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 = "24.05"; + + nixpkgs.config = { + allowUnfree = true; + }; + + home.packages = with pkgs; [ + # GUI +# libreoffice-fresh +# signal-desktop +# tuba + + # VM +# quickemu +# spice-gtk + + # CLI +# freshfetch +# gcc + ]; + + programs.bash = { + enable = true; + shellAliases = { + home-upgrade = "home-manager switch"; + }; +# bashrcExtra = "eval `ssh-agent`"; + }; + + programs.git = { + enable = true; + lfs.enable = true; + userName = "Aaron Honeycutt"; + userEmail = "aaronhoneycutt@protonmail.com"; + aliases = { + undo = "reset HEAD~1 --mixed"; + amend = "commit -a --amend"; + feature = "commit -m feat: -m new-feature"; + fix = "commit -m fix: -m issue#"; + }; + extraConfig = { + color = { + ui = "auto"; + }; + color.status = { + added = "green bold"; + changed = "yellow bold"; + untracked = "red bold"; + }; + push = { + autoSetupRemote = "true"; + }; + init = { + defaultBranch = "main"; + }; + }; + }; + + programs.gh.enable = true; + + programs.helix = { + enable = true; + settings = { + theme = "onedark"; + }; + }; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; + +}