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
|
2022-08-20 17:46:03 -03:00
|
|
|
./hyprland.nix
|
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
|
2023-10-26 22:03:27 -03:00
|
|
|
./desktop-entries.nix
|
2022-10-24 20:16:41 -03:00
|
|
|
./chat.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
|
2022-08-20 17:46:03 -03:00
|
|
|
inputs.hyprland.homeManagerModules.default
|
2023-01-19 09:20:27 -03:00
|
|
|
inputs.nix-index-database.hmModules.nix-index
|
2023-01-23 00:35:40 -03:00
|
|
|
];
|
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.
|
2023-01-23 20:56:18 -03:00
|
|
|
# programs.home-manager.enable = true;
|
2022-06-05 01:43:16 -03:00
|
|
|
home.packages = with pkgs; [
|
2023-01-23 20:56:18 -03:00
|
|
|
# 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
|
2024-03-11 18:02:58 -03:00
|
|
|
gavin-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
|
|
|
|
2023-01-19 09:20:27 -03:00
|
|
|
comma
|
|
|
|
|
2023-08-03 21:06:46 -03:00
|
|
|
# System monitors
|
2024-02-28 01:00:29 -03:00
|
|
|
(btop.override {
|
|
|
|
cudaSupport = true;
|
|
|
|
})
|
2023-08-03 21:06:46 -03:00
|
|
|
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
|
2023-01-27 17:56:03 -03:00
|
|
|
# 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
|
2023-05-02 16:13:40 -03:00
|
|
|
nil # nix lsp server
|
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
|
|
|
|
2024-04-01 11:57:17 -03:00
|
|
|
blade-formatter
|
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;
|
|
|
|
|
2023-08-16 00:31:01 -03:00
|
|
|
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
|
|
|
};
|
|
|
|
|
2023-10-26 22:03:27 -03:00
|
|
|
xdg.defaultApplications = {
|
|
|
|
enable = true;
|
|
|
|
text-editor = lib.mkDefault "kak.desktop";
|
|
|
|
image-viewer = lib.mkDefault "pqiv.desktop";
|
|
|
|
video-player = lib.mkDefault "mpv.desktop";
|
2024-03-23 12:41:45 -03:00
|
|
|
web-browser = lib.mkDefault (
|
|
|
|
{
|
|
|
|
firefox = lib.mkDefault "firefox.desktop";
|
|
|
|
qutebrowser = lib.mkDefault "org.qutebrowser.qutebrowser.desktop";
|
|
|
|
}.${pkgs.uservars.browser}
|
|
|
|
);
|
2023-10-26 22:03:27 -03:00
|
|
|
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";
|
2023-10-26 22:03:27 -03:00
|
|
|
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
|
2024-02-22 21:09:06 -03:00
|
|
|
exec obs --startreplaybuffer --disable-shutdown-check
|
2023-08-08 12:43:24 -03:00
|
|
|
exec deluge-gtk
|
|
|
|
exec nicotine
|
|
|
|
'';
|
|
|
|
|
2023-08-08 17:55:13 -03:00
|
|
|
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
|
|
|
}
|