2022-08-30 22:01:06 -03:00
|
|
|
{ config, pkgs, lib, inputs, ... }:
|
2022-12-01 23:13:00 -03:00
|
|
|
let inherit (import ./variables.nix) desktop;
|
2022-07-20 22:14:36 -03:00
|
|
|
in {
|
2022-08-07 23:58:05 -03:00
|
|
|
imports = [
|
2022-12-01 00:08:54 -03:00
|
|
|
./controller.nix
|
2022-08-07 23:58:05 -03:00
|
|
|
./waybar.nix
|
|
|
|
./helix.nix
|
|
|
|
./kakoune.nix
|
2022-08-23 23:42:36 -03:00
|
|
|
./fish.nix
|
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
|
|
|
|
./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
|
2022-08-13 14:25:32 -03:00
|
|
|
./rnnoise.nix
|
2022-10-18 23:30:35 -03:00
|
|
|
./mimeapps.nix
|
2022-10-24 20:16:41 -03:00
|
|
|
./chat.nix
|
2022-10-24 20:31:23 -03:00
|
|
|
./syncthing.nix
|
|
|
|
./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
|
2022-12-19 14:17:47 -03:00
|
|
|
./zathura.nix
|
2022-11-07 23:57:34 -03:00
|
|
|
./man.nix
|
2022-12-30 13:40:18 -03:00
|
|
|
./theme.nix
|
2022-08-20 17:46:03 -03:00
|
|
|
inputs.hyprland.homeManagerModules.default
|
2022-11-07 11:24:40 -03:00
|
|
|
] ++ lib.optional (desktop == "sway") ./sway.nix;
|
|
|
|
|
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;
|
|
|
|
home.packages = with pkgs; [
|
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
|
2022-10-04 11:56:29 -03:00
|
|
|
btop
|
2022-06-05 01:43:16 -03:00
|
|
|
exa
|
|
|
|
fd
|
2022-10-18 22:41:40 -03:00
|
|
|
bc
|
|
|
|
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
|
|
|
|
|
|
|
## 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
|
2022-10-18 22:41:40 -03:00
|
|
|
|
2022-11-07 19:35:50 -03:00
|
|
|
(xfce.thunar.override {
|
|
|
|
thunarPlugins = with pkgs.xfce; [ thunar-volman thunar-archive-plugin ];
|
|
|
|
})
|
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
|
2022-10-18 22:41:40 -03:00
|
|
|
# steam # It's enabled in the system config
|
|
|
|
|
|
|
|
## chat
|
2022-08-03 11:56:30 -03:00
|
|
|
thunderbird
|
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
|
|
|
|
|
2022-12-23 11:22:58 -03:00
|
|
|
## Nix secrets management
|
|
|
|
inputs.agenix.defaultPackage.x86_64-linux
|
|
|
|
|
2022-10-18 22:41:40 -03:00
|
|
|
## Programming
|
2022-07-20 20:07:58 -03:00
|
|
|
vscode
|
2022-08-04 11:58:56 -03:00
|
|
|
rustup
|
2022-10-18 22:41:40 -03:00
|
|
|
|
|
|
|
docker-compose
|
|
|
|
gnumake
|
|
|
|
mariadb
|
2022-12-02 14:40:11 -03:00
|
|
|
# php74
|
2022-10-18 22:41:40 -03:00
|
|
|
nodePackages.intelephense
|
|
|
|
nodePackages.typescript-language-server
|
|
|
|
nodejs
|
|
|
|
nodePackages.yarn
|
|
|
|
nodePackages.less
|
|
|
|
nodePackages.sass
|
|
|
|
nodePackages.less-plugin-clean-css
|
|
|
|
nodePackages.uglify-js
|
|
|
|
|
2022-12-03 20:35:55 -03:00
|
|
|
meson
|
|
|
|
ninja
|
|
|
|
|
2022-11-10 17:42:10 -03:00
|
|
|
flow # js lsp server
|
2022-11-25 16:13:01 -03:00
|
|
|
nil-lsp # nix lsp server
|
2022-12-03 20:35:55 -03:00
|
|
|
clang-tools # c/c++ lsp server
|
2022-11-10 17:42:10 -03:00
|
|
|
|
2022-08-04 11:58:56 -03:00
|
|
|
# cargo
|
2022-08-06 17:14:38 -03:00
|
|
|
cargo-edit
|
|
|
|
cargo-feature
|
|
|
|
cargo-watch
|
2022-10-04 11:56:29 -03:00
|
|
|
cargo-expand
|
2022-10-17 00:18:10 -03:00
|
|
|
cargo-sweep
|
2022-08-18 13:58:35 -03:00
|
|
|
pkgs.unstable.rust-analyzer
|
2022-07-20 20:07:58 -03:00
|
|
|
gcc
|
2022-11-08 17:08:09 -03:00
|
|
|
rnix-lsp
|
2022-07-21 10:36:38 -03:00
|
|
|
nixfmt
|
2022-10-18 22:41:40 -03:00
|
|
|
|
|
|
|
trunk
|
|
|
|
wasm-bindgen-cli
|
2022-11-10 17:41:56 -03:00
|
|
|
sea-orm-cli
|
2022-10-18 22:41:40 -03:00
|
|
|
sqlx-cli
|
2022-06-05 01:43:16 -03:00
|
|
|
];
|
2022-08-04 23:25:17 -03:00
|
|
|
|
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
|
|
|
|
2022-12-22 11:12:06 -03:00
|
|
|
xdg.configFile = {
|
|
|
|
"thunar/".source = ./thunar;
|
|
|
|
};
|
|
|
|
|
2022-12-24 16:53:18 -03:00
|
|
|
xdg.userDirs = let
|
|
|
|
HOME = config.home.homeDirectory;
|
|
|
|
in {
|
|
|
|
enable = true;
|
|
|
|
createDirectories = true;
|
|
|
|
|
|
|
|
desktop = "${HOME}/Área de trabalho";
|
|
|
|
documents = "${HOME}/Documentos";
|
|
|
|
download = "${HOME}/Downloads";
|
|
|
|
music = "${HOME}/Música";
|
|
|
|
pictures = "${HOME}/Imagens";
|
|
|
|
publicShare = "${HOME}/Público";
|
|
|
|
templates = "${HOME}/Modelos";
|
|
|
|
videos = "${HOME}/Vídeos";
|
|
|
|
};
|
|
|
|
|
2022-12-21 21:06:47 -03:00
|
|
|
systemd.user.services = {
|
|
|
|
steam = {
|
|
|
|
Unit = {
|
|
|
|
Description = "Steam client";
|
|
|
|
PartOf = [ "graphical-session.target" ];
|
|
|
|
After = [ "graphical-session.target" ];
|
|
|
|
};
|
|
|
|
Service = {
|
|
|
|
ExecStartPre = "/usr/bin/env sleep 20s";
|
|
|
|
ExecStart = "${pkgs.steam}/bin/steam";
|
|
|
|
Restart = "on-failure";
|
|
|
|
};
|
|
|
|
Install = { WantedBy = [ "sway-session.target" ]; };
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2022-06-13 12:07:08 -03:00
|
|
|
services.kdeconnect = {
|
|
|
|
enable = true;
|
|
|
|
indicator = true;
|
|
|
|
};
|
2022-07-21 10:36:38 -03:00
|
|
|
services.mpd = {
|
|
|
|
enable = true;
|
2022-12-24 16:54:29 -03:00
|
|
|
musicDirectory = config.home.homeDirectory + "/Música";
|
2022-08-12 20:58:53 -03:00
|
|
|
extraConfig = ''
|
|
|
|
restore_paused "yes"
|
|
|
|
auto_update "yes"
|
|
|
|
audio_output {
|
|
|
|
type "pulse"
|
|
|
|
name "My Pulse Output"
|
|
|
|
mixer_type "hardware"
|
|
|
|
}
|
|
|
|
filesystem_charset "UTF-8"
|
|
|
|
'';
|
2022-07-21 10:36:38 -03:00
|
|
|
};
|
2022-12-24 16:54:29 -03:00
|
|
|
services.mpdris2 = {
|
|
|
|
enable = true;
|
|
|
|
multimediaKeys = true;
|
|
|
|
notifications = true;
|
|
|
|
};
|
2022-07-21 00:29:12 -03:00
|
|
|
|
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
|
|
|
}
|