Guest User

Untitled

a guest
Mar 8th, 2024
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1. { config, pkgs, inputs, ... }:
  2. let
  3. inherit (inputs) nixgl;
  4. homePath = "/home/shareni";
  5. in {
  6. # Home Manager needs a bit of information about you and the paths it should
  7. # manage.
  8. home.username = "shareni";
  9. home.homeDirectory = "${homePath}";
  10.  
  11. # This value determines the Home Manager release that your configuration is
  12. # compatible with. This helps avoid breakage when a new Home Manager release
  13. # introduces backwards incompatible changes.
  14. #
  15. # You should not change this value, even if you update Home Manager. If you do
  16. # want to update the value, then make sure to first check the Home Manager
  17. # release notes.
  18. home.stateVersion = "24.05"; # Please read the comment before changing.
  19.  
  20. # The home.packages option allows you to install Nix packages into your
  21. # environment.
  22. home.packages = with pkgs;
  23. ([
  24. # # Adds the 'hello' command to your environment. It prints a friendly
  25. # # "Hello, world!" when run.
  26. # pkgs.hello
  27.  
  28. # # It is sometimes useful to fine-tune packages, for example, by applying
  29. # # overrides. You can do that directly here, just don't forget the
  30. # # parentheses. Maybe you want to install Nerd Fonts with a limited number of
  31. # # fonts?
  32. # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
  33.  
  34. # # You can also create simple shell scripts directly inside your
  35. # # configuration. For example, this adds a command 'my-hello' to your
  36. # # environment:
  37. # (pkgs.writeShellScriptBin "my-hello" ''
  38. # echo "Hello, ${config.home.username}!"
  39. # '')
  40.  
  41. nixgl.packages.${system}.nixGLDefault
  42. nixgl.packages.${system}.nixGLNvidia
  43. nixgl.packages.${system}.nixVulkanNvidia
  44. wine
  45. lutris
  46.  
  47. zoxide
  48.  
  49. docker
  50. fuse-overlayfs
  51. slirp4netns
  52. dockfmt
  53. # installed uidmap through apt because su didn't provide it
  54. # add dockerd-rootless to startup
  55. ]);
  56.  
  57. # Home Manager is pretty good at managing dotfiles. The primary way to manage
  58. # plain files is through 'home.file'.
  59. home.file = {
  60. # # Building this configuration will create a copy of 'dotfiles/screenrc' in
  61. # # the Nix store. Activating the configuration will then make '~/.screenrc' a
  62. # # symlink to the Nix store copy.
  63. # ".screenrc".source = dotfiles/screenrc;
  64.  
  65. # # You can also set the file content immediately.
  66. # ".gradle/gradle.properties".text = ''
  67. # org.gradle.console=verbose
  68. # org.gradle.daemon.idletimeout=3600000
  69. # '';
  70. };
  71.  
  72. # Home Manager can also manage your environment variables through
  73. # 'home.sessionVariables'. If you don't want to manage your shell through Home
  74. # Manager then you have to manually source 'hm-session-vars.sh' located at
  75. # either
  76. #
  77. # ~/.nix-profile/etc/profile.d/hm-session-vars.sh
  78. #
  79. # or
  80. #
  81. # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
  82. #
  83. # or
  84. #
  85. # /etc/profiles/per-user/shareni/etc/profile.d/hm-session-vars.sh
  86. #
  87. home.sessionVariables = {
  88. EDITOR = "nvim";
  89. DOCKER_HOST = "unix:///run/user/1000/docker.sock";
  90. PATH="~/go/bin:$PATH";
  91. };
  92.  
  93. # Let Home Manager install and manage itself.
  94. programs.home-manager.enable = true;
  95.  
  96. programs.bash = {
  97. enable = true;
  98. bashrcExtra = ''
  99. . ~/.default-bashrc
  100. . ~/.nix-profile/etc/profile.d/hm-session-vars.sh
  101. eval "$(zoxide init --cmd cd bash)"
  102. '';
  103. };
  104.  
  105. programs.zsh = {
  106. enable = true;
  107. initExtra = ''
  108. . ~/.nix-profile/etc/profile.d/hm-session-vars.sh
  109. eval "$(zoxide init --cmd cd zsh)"
  110. '';
  111. enableCompletion = true;
  112. enableAutosuggestions = true;
  113. syntaxHighlighting.enable = true;
  114. };
  115. programs.fzf = {
  116. enable = true;
  117. };
  118.  
Advertisement
Add Comment
Please, Sign In to add comment