/ 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 }