nixos-config/user/home.nix

211 lines
4.3 KiB
Nix
Raw Normal View History

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-11-30 12:31:31 -03:00
./gnome.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;
};
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";
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
}