···11+{ config, pkgs, ... }:
22+33+# NOTE: I use nix as a package manager, not to make revisions for my entire dotfiles
44+# I want nix to organize files and automate symlinking
55+66+{
77+ # Home Manager needs a bit of information about you and the paths it should
88+ # manage.
99+ home.username = "ubuntu";
1010+ home.homeDirectory = "/home/ubuntu";
1111+1212+ # This value determines the Home Manager release that your configuration is
1313+ # compatible with. This helps avoid breakage when a new Home Manager release
1414+ # introduces backwards incompatible changes.
1515+ #
1616+ # You should not change this value, even if you update Home Manager. If you do
1717+ # want to update the value, then make sure to first check the Home Manager
1818+ # release notes.
1919+ home.stateVersion = "24.05"; # Please read the comment before changing.
2020+2121+ # The home.packages option allows you to install Nix packages into your
2222+ # environment.
2323+ home.packages = [
2424+ # # Adds the 'hello' command to your environment. It prints a friendly
2525+ # # "Hello, world!" when run.
2626+ # pkgs.hello
2727+ # pkgs.neovim
2828+ pkgs.sumneko-lua-language-server
2929+ pkgs.janet
3030+ # pkgs.jpm
3131+ pkgs.cachix
3232+ pkgs.helix
3333+ # pkgs.emscripten
3434+ # pkgs.neovim-nightly
3535+3636+ # # It is sometimes useful to fine-tune packages, for example, by applying
3737+ # # overrides. You can do that directly here, just don't forget the
3838+ # # parentheses. Maybe you want to install Nerd Fonts with a limited number of
3939+ # # fonts?
4040+ # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
4141+4242+ # # You can also create simple shell scripts directly inside your
4343+ # # configuration. For example, this adds a command 'my-hello' to your
4444+ # # environment:
4545+ # (pkgs.writeShellScriptBin "my-hello" ''
4646+ # echo "Hello, ${config.home.username}!"
4747+ # '')
4848+ ];
4949+5050+ # Home Manager is pretty good at managing dotfiles. The primary way to manage
5151+ # plain files is through 'home.file'.
5252+ home.file = {
5353+ # # Building this configuration will create a copy of 'dotfiles/screenrc' in
5454+ # # the Nix store. Activating the configuration will then make '~/.screenrc' a
5555+ # # symlink to the Nix store copy.
5656+ # ".screenrc".source = dotfiles/screenrc;
5757+5858+ # # You can also set the file content immediately.
5959+ # ".gradle/gradle.properties".text = ''
6060+ # org.gradle.console=verbose
6161+ # org.gradle.daemon.idletimeout=3600000
6262+ # '';
6363+ };
6464+6565+ # Home Manager can also manage your environment variables through
6666+ # 'home.sessionVariables'. These will be explicitly sourced when using a
6767+ # shell provided by Home Manager. If you don't want to manage your shell
6868+ # through Home Manager then you have to manually source 'hm-session-vars.sh'
6969+ # located at either
7070+ #
7171+ # ~/.nix-profile/etc/profile.d/hm-session-vars.sh
7272+ #
7373+ # or
7474+ #
7575+ # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
7676+ #
7777+ # or
7878+ #
7979+ # /etc/profiles/per-user/ubuntu/etc/profile.d/hm-session-vars.sh
8080+ #
8181+ home.sessionVariables = {
8282+ # EDITOR = "nvim";
8383+ # JANET_MODPATH = "${pkgs.janet}/lib/janet";
8484+ # JANET_SYSPATH = "${pkgs.janet}/lib/janet";
8585+ # JANET_LIBPATH = "${pkgs.janet}/lib";
8686+ # JANET_HEADERPATH = "${pkgs.janet}/include/janet";
8787+8888+ # JANET_MODPATH = "/home/ubuntu/.local/lib/janet";
8989+ # JANET_SYSPATH = "/home/ubuntu/.local/lib/janet";
9090+ # JANET_LIBPATH = "/home/ubuntu/.local/lib";
9191+ # JANET_MANPATH = "/home/ubuntu/.local/man/man1";
9292+ # JANET_HEADERPATH = "/home/ubuntu/.local/include/janet";
9393+ };
9494+9595+ # Let Home Manager install and manage itself.
9696+ programs.home-manager.enable = true;
9797+}