Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- { config, pkgs, inputs, ... }:
- let
- inherit (inputs) nixgl;
- homePath = "/home/shareni";
- in {
- # Home Manager needs a bit of information about you and the paths it should
- # manage.
- home.username = "shareni";
- home.homeDirectory = "${homePath}";
- # 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 should not change this value, even if you update Home Manager. If you do
- # want to update the value, then make sure to first check the Home Manager
- # release notes.
- home.stateVersion = "24.05"; # Please read the comment before changing.
- # The home.packages option allows you to install Nix packages into your
- # environment.
- home.packages = with pkgs;
- ([
- # # Adds the 'hello' command to your environment. It prints a friendly
- # # "Hello, world!" when run.
- # pkgs.hello
- # # It is sometimes useful to fine-tune packages, for example, by applying
- # # overrides. You can do that directly here, just don't forget the
- # # parentheses. Maybe you want to install Nerd Fonts with a limited number of
- # # fonts?
- # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
- # # You can also create simple shell scripts directly inside your
- # # configuration. For example, this adds a command 'my-hello' to your
- # # environment:
- # (pkgs.writeShellScriptBin "my-hello" ''
- # echo "Hello, ${config.home.username}!"
- # '')
- nixgl.packages.${system}.nixGLDefault
- nixgl.packages.${system}.nixGLNvidia
- nixgl.packages.${system}.nixVulkanNvidia
- wine
- lutris
- zoxide
- docker
- fuse-overlayfs
- slirp4netns
- dockfmt
- # installed uidmap through apt because su didn't provide it
- # add dockerd-rootless to startup
- ]);
- # Home Manager is pretty good at managing dotfiles. The primary way to manage
- # plain files is through 'home.file'.
- home.file = {
- # # Building this configuration will create a copy of 'dotfiles/screenrc' in
- # # the Nix store. Activating the configuration will then make '~/.screenrc' a
- # # symlink to the Nix store copy.
- # ".screenrc".source = dotfiles/screenrc;
- # # You can also set the file content immediately.
- # ".gradle/gradle.properties".text = ''
- # org.gradle.console=verbose
- # org.gradle.daemon.idletimeout=3600000
- # '';
- };
- # Home Manager can also manage your environment variables through
- # 'home.sessionVariables'. If you don't want to manage your shell through Home
- # Manager then you have to manually source 'hm-session-vars.sh' located at
- # either
- #
- # ~/.nix-profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # /etc/profiles/per-user/shareni/etc/profile.d/hm-session-vars.sh
- #
- home.sessionVariables = {
- EDITOR = "nvim";
- DOCKER_HOST = "unix:///run/user/1000/docker.sock";
- PATH="~/go/bin:$PATH";
- };
- # Let Home Manager install and manage itself.
- programs.home-manager.enable = true;
- programs.bash = {
- enable = true;
- bashrcExtra = ''
- . ~/.default-bashrc
- . ~/.nix-profile/etc/profile.d/hm-session-vars.sh
- eval "$(zoxide init --cmd cd bash)"
- '';
- };
- programs.zsh = {
- enable = true;
- initExtra = ''
- . ~/.nix-profile/etc/profile.d/hm-session-vars.sh
- eval "$(zoxide init --cmd cd zsh)"
- '';
- enableCompletion = true;
- enableAutosuggestions = true;
- syntaxHighlighting.enable = true;
- };
- programs.fzf = {
- enable = true;
- };
Advertisement
Add Comment
Please, Sign In to add comment