/ home.nix
home.nix
  1  { config, pkgs, ... }:
  2  
  3  {
  4    imports = [
  5      ./wm/mako.nix
  6      ./wm/niri/niri.nix
  7      ./wm/waybar/waybar.nix # You might have to change the temperature module
  8      ./wm/wallpaper/wallpaper.nix
  9      ./cli/sh.nix
 10      ./cli/tilix.nix
 11      ./cli/fetch.nix
 12      ./cli/ranger.nix
 13      ./cli/alacritty.nix
 14      ./cli/fzf.nix
 15      ./cli/fd.nix
 16      ./cli/radicle.nix
 17      ./cli/fonts.nix
 18      ./cli/libarchive.nix
 19      ./cli/btop.nix
 20      ./cli/ncspot.nix
 21      ./cli/fortune.nix
 22      ./cli/openvpn.nix
 23      ./cli/xeyes.nix
 24      ./cli/netcat.nix
 25      ./cli/putty.nix
 26      # ./cli/neomutt.nix
 27      ./cli/screen.nix
 28      ./cli/picocom.nix
 29      ./cli/bluetooth.nix
 30      # ./cli/proton.nix
 31      ./cli/tree.nix
 32      ./cli/make.nix
 33      ./cli/gammastep.nix
 34      ./cli/metasploit.nix
 35      ./cli/autocpufreq.nix
 36      ./cli/kitty/kitty.nix
 37      ./cli/neovim/neovim.nix
 38      ./cli/zathura/zathura.nix
 39      ./applications/browser.nix
 40      ./applications/godot.nix
 41      ./applications/cursor.nix
 42      # ./applications/unity.nix
 43      ./applications/burpsuite.nix
 44      ./applications/zenity.nix
 45      ./applications/thunderbird.nix
 46      ./applications/zed.nix
 47      ./applications/overskride.nix
 48      ./applications/steam.nix # needed for launching steam in wayland environment
 49      ./applications/ldtk.nix
 50      ./applications/immich.nix
 51      # ./applications/vscode.nix
 52      ./applications/vlc.nix
 53      ./applications/qbit.nix
 54      ./applications/pavu.nix
 55      ./applications/bottles.nix
 56      ./applications/saber.nix
 57      # ./applications/lutris.nix
 58      # ./applications/heroic.nix
 59      ./applications/krita.nix
 60      ./applications/xournalpp.nix
 61      ./applications/stremio.nix
 62      ./applications/obs.nix
 63      ./applications/inkscape.nix
 64      ./applications/keepassxc.nix
 65      ./applications/tor.nix
 66      ./applications/impression.nix
 67      ./applications/aseprite.nix
 68      ./applications/jellyfin.nix
 69      ./applications/onlyoffice.nix
 70      # ./applications/flatpak.nix # Put unfree applications here(in you can find it)
 71      ./applications/zen.nix
 72      ./applications/hyprlock/hyprlock.nix
 73      ./applications/rofi/rofi.nix
 74      # ./dev/cargo.nix
 75      ./dev/jetbrains.nix # not free obviously
 76      ./dev/npm.nix
 77      ./dev/insomnia.nix
 78      ./dev/openssl.nix
 79      ./dev/proglang.nix
 80      ./dev/docker.nix
 81      ./dev/nmap.nix
 82    ];
 83  
 84    # Home Manager needs a bit of information about you and the paths it should
 85    # manage.
 86    home.username = "mrkrebs";
 87    home.homeDirectory = "/home/mrkrebs";
 88  
 89    # This value determines the Home Manager release that your configuration is
 90    # compatible with. This helps avoid breakage when a new Home Manager release
 91    # introduces backwards incompatible changes.
 92    #
 93    # You should not change this value, even if you update Home Manager. If you do
 94    # want to update the value, then make sure to first check the Home Manager
 95    # release notes.
 96    home.stateVersion = "25.05"; # Please read the comment before changing.
 97  
 98    # The home.packages option allows you to install Nix packages into your
 99    # environment.
100    home.packages = [
101      # # Adds the 'hello' command to your environment. It prints a friendly
102      # # "Hello, world!" when run.
103      # pkgs.hello
104  
105      # # It is sometimes useful to fine-tune packages, for example, by applying
106      # # overrides. You can do that directly here, just don't forget the
107      # # parentheses. Maybe you want to install Nerd Fonts with a limited number of
108      # # fonts?
109      # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
110  
111      # # You can also create simple shell scripts directly inside your
112      # # configuration. For example, this adds a command 'my-hello' to your
113      # # environment:
114      # (pkgs.writeShellScriptBin "my-hello" ''
115      #   echo "Hello, ${config.home.username}!"
116      # '')
117      pkgs.pulseaudio
118      pkgs.playerctl
119    ];
120  
121    # Home Manager is pretty good at managing dotfiles. The primary way to manage
122    # plain files is through 'home.file'.
123    home.file = {
124      # # Building this configuration will create a copy of 'dotfiles/screenrc' in
125      # # the Nix store. Activating the configuration will then make '~/.screenrc' a
126      # # symlink to the Nix store copy.
127      # ".screenrc".source = dotfiles/screenrc;
128  
129      # # You can also set the file content immediately.
130      # ".gradle/gradle.properties".text = ''
131      #   org.gradle.console=verbose
132      #   org.gradle.daemon.idletimeout=3600000
133      # '';
134    };
135  
136    # Home Manager can also manage your environment variables through
137    # 'home.sessionVariables'. These will be explicitly sourced when using a
138    # shell provided by Home Manager. If you don't want to manage your shell
139    # through Home Manager then you have to manually source 'hm-session-vars.sh'
140    # located at either
141    #
142    #  ~/.nix-profile/etc/profile.d/hm-session-vars.sh
143    #
144    # or
145    #
146    #  ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
147    #
148    # or
149    #
150    #  /etc/profiles/per-user/mrkrebs/etc/profile.d/hm-session-vars.sh
151    #
152    # home.sessionVariables = {
153    #   EDITOR = "vim";
154    # };
155  
156    # Let Home Manager install and manage itself.
157    programs.home-manager.enable = true;
158  
159    # Setting xdg.mime
160    xdg.mimeApps = {
161      enable = true;
162      defaultApplications = {
163        "inode/directory" = "pcmanfm.desktop";
164        "text/x-csharp" = "rider.desktop";
165      };
166    };
167  
168  
169  }