{ inputs, config, pkgs, fetchFromGitHub, ... }: { imports = [ ./modules/hyprland/home.nix ./modules/quickshell/home.nix ./modules/chromium/home.nix #./modules/neovim/home.nix ./modules/stylix/home.nix ./modules/nixvim/home.nix ./modules/tmux/home.nix ./modules/theme/home.nix # ./modules/spicetify/home.nix ./modules/obs/home.nix ./modules/blender/home.nix ./modules/fish/home.nix ./modules/ytm/home.nix ./overlays.nix ]; # Home Manager needs a bit of information about you and the paths it should # manage. home.username = "doloro"; home.homeDirectory = "/home/doloro"; programs.git = { enable = true; userName = "Doloro1978"; userEmail = "doloroo@proton.me"; }; # 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 = "25.05"; # Please read the comment before changing. # The home.packages option allows you to install Nix packages into your # environment. home.packages = with pkgs; [ hello vim telegram-desktop vesktop # spotify pavucontrol lazygit btop sops ]; # sops.age.keyFile = "/home/doloro/.config/sops/age/key.txt"; # 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'. These will be explicitly sourced when using a # shell provided by Home Manager. 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/doloro/etc/profile.d/hm-session-vars.sh # home.sessionVariables = { EDITOR = "nvim"; }; services = { dunst = { enable = true; }; arrpc = { enable = true; package = pkgs.arrpc; }; }; # {{{{{ TODO Put in different file systemd.user.services.pw-discordaudio-virtual-device = { Install = { WantedBy = [ "hyprland-session.target" ]; }; Service = { ExecStart = "${pkgs.writeShellScript "discord_audio_virt_device" '' #!/run/current-system/sw/bin/bash pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=DiscordSink' -n DiscordSink ''}"; }; }; systemd.user.services.pw-gameaudio-virtual-device = { Install = { WantedBy = [ "hyprland-session.target" ]; }; Service = { ExecStart = "${pkgs.writeShellScript "game_audio_virt_device" '' #!/run/current-system/sw/bin/bash pw-loopback -m '[ FL FR]' --capture-props='media.class=Audio/Sink node.name=GameAudioSink' -n GameAudioSink ''}"; }; }; # }}}}} # Let Home Manager install and manage itself. programs.home-manager.enable = true; }