nixos-config/user/home.nix

212 lines
4.6 KiB
Nix
Raw Normal View History

2023-08-08 12:43:24 -03:00
{ config, pkgs, lib, inputs, osConfig, ... }: {
2022-08-07 23:58:05 -03:00
imports = [
2022-12-01 00:08:54 -03:00
./controller.nix
2023-05-04 19:51:18 -03:00
./waybar
2022-08-07 23:58:05 -03:00
./helix.nix
2023-01-27 10:12:12 -03:00
./kakoune
2023-08-16 11:09:25 -03:00
./vscode
2023-01-25 10:17:26 -03:00
./fish
2022-10-18 22:41:40 -03:00
./firefox.nix
2024-01-21 00:03:50 -03:00
./hyprland
2022-09-16 23:50:28 -03:00
./alacritty.nix
2022-08-07 23:58:05 -03:00
./git.nix
2023-10-26 17:34:27 -03:00
./ssh.nix
2022-08-07 23:58:05 -03:00
./qutebrowser
2022-08-08 21:16:45 -03:00
./gpg.nix
2022-08-12 23:35:42 -03:00
./rofi.nix
2022-10-18 22:41:40 -03:00
./mpv.nix
./mangohud.nix
2023-09-18 12:26:34 -03:00
./pipewire.nix
2022-10-18 23:30:35 -03:00
./mimeapps.nix
./desktop-entries.nix
2022-10-24 20:16:41 -03:00
./chat.nix
2023-01-22 02:13:10 -03:00
./email.nix
2022-10-24 20:31:23 -03:00
./syncthing.nix
2023-01-25 00:26:39 -03:00
./vdir.nix
2022-10-24 20:31:23 -03:00
./bmenu.nix
2022-10-24 20:36:18 -03:00
./fzf.nix
2022-10-24 23:04:34 -03:00
./ranger
2022-12-16 17:52:58 -03:00
./lf
2022-11-07 19:35:50 -03:00
./pass.nix
2023-01-22 16:44:35 -03:00
./pqiv.nix
2022-12-19 14:17:47 -03:00
./zathura.nix
2022-11-07 23:57:34 -03:00
./man.nix
2023-01-18 01:13:47 -03:00
./mpd.nix
2023-02-25 17:05:24 -03:00
./sway
2023-04-19 00:25:28 -03:00
./gnome.nix
2023-01-24 09:39:19 -03:00
./thunar.nix
2023-06-06 10:04:14 -03:00
./xdg-dirs.nix
2024-01-15 22:37:11 -03:00
# inputs.hyprland.homeManagerModules.default
inputs.nix-index-database.hmModules.nix-index
];
2022-11-07 11:24:40 -03:00
2022-06-05 01:43:16 -03:00
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "lelgenio";
home.homeDirectory = "/home/lelgenio";
2022-10-18 22:41:40 -03:00
2022-06-05 01:43:16 -03:00
# Let Home Manager install and manage itself.
# programs.home-manager.enable = true;
2022-06-05 01:43:16 -03:00
home.packages = with pkgs; [
# home-manager
2022-08-06 11:10:31 -03:00
terminal # see flake.nix
2022-10-18 22:41:40 -03:00
2022-10-21 20:21:51 -03:00
pulse_sink
pulseaudio
2022-10-18 22:41:40 -03:00
## CLI
2023-09-13 23:20:27 -03:00
eza
2022-06-05 01:43:16 -03:00
fd
2022-10-18 22:41:40 -03:00
bc
2023-05-02 00:19:23 -03:00
file
jq
2022-10-18 22:41:40 -03:00
du-dust
2022-08-22 12:48:03 -03:00
p7zip
2022-10-17 00:18:10 -03:00
tealdeer
2022-10-18 22:41:40 -03:00
micro
2022-08-05 21:09:52 -03:00
_diffr
2022-08-09 09:57:54 -03:00
br # bulk rename
2022-10-18 22:41:40 -03:00
comma
2023-08-03 21:06:46 -03:00
# System monitors
btop
amdgpu_top
inxi
dmidecode
ncdu
2022-10-18 22:41:40 -03:00
## text manipulation
2022-07-20 20:07:58 -03:00
sd
2022-06-05 01:43:16 -03:00
ripgrep
2022-08-27 16:14:40 -03:00
translate-shell
2023-02-13 11:02:55 -03:00
lipsum
2024-01-05 11:13:19 -03:00
par
2022-10-18 22:41:40 -03:00
2022-11-07 12:54:19 -03:00
mate.engrampa
2022-10-18 23:30:35 -03:00
# gnome.nautilus
2022-10-18 22:41:40 -03:00
## games
2022-10-17 00:18:10 -03:00
# lutris-unwrapped
# steam # It's enabled in the system config
2023-05-19 17:53:08 -03:00
tlauncher
2023-01-22 00:49:51 -03:00
gamescope
2023-06-02 11:14:54 -03:00
glxinfo
vulkan-tools
2022-10-18 22:41:40 -03:00
## Theming
2022-07-20 22:14:36 -03:00
orchis_theme_compact
papirus_red
2022-07-21 00:29:12 -03:00
libsForQt5.qtstyleplugins
qt5.qtsvg
2022-10-18 22:41:40 -03:00
2022-10-17 00:18:10 -03:00
## Network
2022-10-18 22:41:40 -03:00
speedtest-cli
2022-10-17 00:18:10 -03:00
nmap
2022-11-16 15:24:28 -03:00
httpie
2022-10-17 00:18:10 -03:00
miniupnpc
2022-10-18 22:41:40 -03:00
deluge
2023-08-07 13:00:26 -03:00
nicotine-plus
2022-10-18 22:41:40 -03:00
2022-12-23 11:22:58 -03:00
## Nix secrets management
2023-02-07 20:03:04 -03:00
inputs.agenix.packages.x86_64-linux.default
2022-12-23 11:22:58 -03:00
2022-10-18 22:41:40 -03:00
## Programming
2023-04-24 12:16:47 -03:00
# rustup
2022-10-18 22:41:40 -03:00
docker-compose
gnumake
mariadb
2023-08-10 12:49:11 -03:00
2022-10-18 22:41:40 -03:00
nodePackages.intelephense
nodePackages.typescript-language-server
2022-11-10 17:42:10 -03:00
flow # js lsp server
nil # nix lsp server
2023-08-10 12:49:11 -03:00
rnix-lsp # nix lsp
2022-12-03 20:35:55 -03:00
clang-tools # c/c++ lsp server
2023-08-10 12:49:11 -03:00
rust-analyzer # rust analyzer
2022-11-10 17:42:10 -03:00
2023-01-22 18:10:53 -03:00
nixpkgs-fmt
2022-06-05 01:43:16 -03:00
];
2022-08-04 23:25:17 -03:00
2023-02-23 15:48:19 -03:00
fonts.fontconfig.enable = true;
home.file = {
".local/share/backgrounds" = {
source = ./backgrounds;
recursive = true;
};
};
2022-08-02 22:33:21 -03:00
home.sessionVariables = {
VOLUME_CHANGE_SOUND =
"${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/audio-volume-change.oga";
2022-08-02 00:07:04 -03:00
};
2022-08-12 23:35:42 -03:00
programs.bash = { enable = true; };
2022-10-24 20:16:41 -03:00
2023-01-16 21:11:09 -03:00
services.nextcloud-client = {
2023-01-22 18:12:04 -03:00
enable = true;
startInBackground = true;
2023-01-16 21:11:09 -03:00
};
xdg.defaultApplications = {
enable = true;
text-editor = lib.mkDefault "kak.desktop";
image-viewer = lib.mkDefault "pqiv.desktop";
video-player = lib.mkDefault "mpv.desktop";
web-browser = lib.mkDefault ({
firefox = lib.mkDefault "firefox.desktop";
qutebrowser = lib.mkDefault "org.qutebrowser.qutebrowser.desktop";
}.${pkgs.uservars.browser});
document-viewer = lib.mkDefault "org.pwmt.zathura.desktop";
file-manager = lib.mkDefault "thunar.desktop";
2023-10-27 09:13:08 -03:00
archive-manager = "engrampa.desktop";
email-client = lib.mkDefault "thunderbird.desktop";
torrent-client = lib.mkDefault "torrent.desktop";
};
2023-08-08 12:43:24 -03:00
wayland.windowManager.sway.extraConfig = lib.optionalString (osConfig.networking.hostName or "" == "monolith") ''
exec steam
exec obs --startreplaybuffer
exec deluge-gtk
exec nicotine
'';
2024-01-21 01:24:23 -03:00
wayland.windowManager.hyprland.extraConfig = lib.optionalString (osConfig.networking.hostName or "" == "monolith") ''
exec-once = steam
exec-once = obs --startreplaybuffer
exec-once = deluge-gtk
exec-once = nicotine
'';
systemd.user.services.rm-target = {
Unit = {
Description = "Remove directories named 'target'";
};
Service = {
Type = "oneshot";
ExecStart = pkgs.writeShellScript "rm-target" ''
sudo ${pkgs.fd}/bin/fd -td -u '^\.?target$' "$HOME" -x rm -vrf --
'';
};
};
systemd.user.timers.rm-target = {
Unit = { Description = "Remove directories named 'target'"; };
Timer = {
OnCalendar = "weekly";
Unit = "rm-target.service";
};
Install = { WantedBy = [ "timers.target" ]; };
};
2022-10-18 22:41:40 -03:00
# 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 can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "22.05";
2022-07-21 00:32:09 -03:00
}