diff options
Diffstat (limited to 'home-config/nix-home-manager')
| -rw-r--r-- | home-config/nix-home-manager/home.nix | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/home-config/nix-home-manager/home.nix b/home-config/nix-home-manager/home.nix new file mode 100644 index 0000000..39a8c0e --- /dev/null +++ b/home-config/nix-home-manager/home.nix | |||
| @@ -0,0 +1,83 @@ | |||
| 1 | { config, pkgs, ... }: | ||
| 2 | |||
| 3 | { | ||
| 4 | # Home Manager needs a bit of information about you and the paths it should | ||
| 5 | # manage. | ||
| 6 | home.username = "ryan"; | ||
| 7 | home.homeDirectory = "/home/ryan"; | ||
| 8 | |||
| 9 | # This value determines the Home Manager release that your configuration is | ||
| 10 | # compatible with. This helps avoid breakage when a new Home Manager release | ||
| 11 | # introduces backwards incompatible changes. | ||
| 12 | # | ||
| 13 | # You should not change this value, even if you update Home Manager. If you do | ||
| 14 | # want to update the value, then make sure to first check the Home Manager | ||
| 15 | # release notes. | ||
| 16 | home.stateVersion = "22.11"; # Please read the comment before changing. | ||
| 17 | |||
| 18 | # This value will set some environment variables to allow home-manager to | ||
| 19 | # function better outside of NixOS | ||
| 20 | nixpkgs.config.allowUnfree = true; | ||
| 21 | targets.genericLinux.enable = true; | ||
| 22 | fonts.fontconfig.enable = true; | ||
| 23 | |||
| 24 | # The home.packages option allows you to install Nix packages into your | ||
| 25 | # environment. | ||
| 26 | home.packages = with pkgs; [ | ||
| 27 | # # Adds the 'hello' command to your environment. It prints a friendly | ||
| 28 | # # "Hello, world!" when run. | ||
| 29 | # pkgs.hello | ||
| 30 | firefox | ||
| 31 | dejavu_fonts | ||
| 32 | cantarell-fonts | ||
| 33 | liberation_ttf | ||
| 34 | noto-fonts | ||
| 35 | noto-fonts-cjk | ||
| 36 | noto-fonts-emoji | ||
| 37 | |||
| 38 | # # It is sometimes useful to fine-tune packages, for example, by applying | ||
| 39 | # # overrides. You can do that directly here, just don't forget the | ||
| 40 | # # parentheses. Maybe you want to install Nerd Fonts with a limited number of | ||
| 41 | # # fonts? | ||
| 42 | # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) | ||
| 43 | |||
| 44 | # # You can also create simple shell scripts directly inside your | ||
| 45 | # # configuration. For example, this adds a command 'my-hello' to your | ||
| 46 | # # environment: | ||
| 47 | # (pkgs.writeShellScriptBin "my-hello" '' | ||
| 48 | # echo "Hello, ${config.home.username}!" | ||
| 49 | # '') | ||
| 50 | ]; | ||
| 51 | |||
| 52 | # Home Manager is pretty good at managing dotfiles. The primary way to manage | ||
| 53 | # plain files is through 'home.file'. | ||
| 54 | home.file = { | ||
| 55 | # # Building this configuration will create a copy of 'dotfiles/screenrc' in | ||
| 56 | # # the Nix store. Activating the configuration will then make '~/.screenrc' a | ||
| 57 | # # symlink to the Nix store copy. | ||
| 58 | # ".screenrc".source = dotfiles/screenrc; | ||
| 59 | |||
| 60 | # # You can also set the file content immediately. | ||
| 61 | # ".gradle/gradle.properties".text = '' | ||
| 62 | # org.gradle.console=verbose | ||
| 63 | # org.gradle.daemon.idletimeout=3600000 | ||
| 64 | # ''; | ||
| 65 | }; | ||
| 66 | |||
| 67 | # You can also manage environment variables but you will have to manually | ||
| 68 | # source | ||
| 69 | # | ||
| 70 | # ~/.nix-profile/etc/profile.d/hm-session-vars.sh | ||
| 71 | # | ||
| 72 | # or | ||
| 73 | # | ||
| 74 | # /etc/profiles/per-user/ryan/etc/profile.d/hm-session-vars.sh | ||
| 75 | # | ||
| 76 | # if you don't want to manage your shell through Home Manager. | ||
| 77 | home.sessionVariables = { | ||
| 78 | # EDITOR = "emacs"; | ||
| 79 | }; | ||
| 80 | |||
| 81 | # Let Home Manager install and manage itself. | ||
| 82 | programs.home-manager.enable = true; | ||
| 83 | } | ||
