198 lines
4.1 KiB
Nix
198 lines
4.1 KiB
Nix
{ config, pkgs, lib, inputs, ... }:
|
|
let inherit (import ./variables.nix) key theme color accent font;
|
|
|
|
in {
|
|
imports = [
|
|
./waybar.nix
|
|
./helix.nix
|
|
./kakoune.nix
|
|
./fish.nix
|
|
./firefox.nix
|
|
./sway.nix
|
|
./hyprland.nix
|
|
./alacritty.nix
|
|
./git.nix
|
|
./qutebrowser
|
|
./gpg.nix
|
|
./rofi.nix
|
|
./mpv.nix
|
|
./mangohud.nix
|
|
./rnnoise.nix
|
|
./mimeapps.nix
|
|
./chat.nix
|
|
./syncthing.nix
|
|
./bmenu.nix
|
|
inputs.hyprland.homeManagerModules.default
|
|
];
|
|
# Home Manager needs a bit of information about you and the
|
|
# paths it should manage.
|
|
home.username = "lelgenio";
|
|
home.homeDirectory = "/home/lelgenio";
|
|
|
|
# Let Home Manager install and manage itself.
|
|
programs.home-manager.enable = true;
|
|
home.packages = with pkgs; [
|
|
terminal # see flake.nix
|
|
|
|
pulse_sink
|
|
pulseaudio
|
|
|
|
## CLI
|
|
btop
|
|
exa
|
|
fd
|
|
bc
|
|
du-dust
|
|
p7zip
|
|
tealdeer
|
|
micro
|
|
_diffr
|
|
br # bulk rename
|
|
|
|
## text manipulation
|
|
sd
|
|
ripgrep
|
|
translate-shell
|
|
|
|
xfce.thunar
|
|
# gnome.nautilus
|
|
pass
|
|
wpass
|
|
_gpg-unlock
|
|
|
|
## games
|
|
# lutris-unwrapped
|
|
# steam # It's enabled in the system config
|
|
|
|
## chat
|
|
thunderbird
|
|
# discord # I'm using webcord, see home.activation
|
|
|
|
## Theming
|
|
orchis_theme_compact
|
|
papirus_red
|
|
libsForQt5.qtstyleplugins
|
|
qt5.qtsvg
|
|
|
|
## fonts
|
|
liberation_ttf
|
|
hack-font
|
|
font-awesome_5
|
|
fira-code
|
|
nerdfonts_fira_hack
|
|
material-wifi-icons
|
|
|
|
## Network
|
|
speedtest-cli
|
|
nmap
|
|
miniupnpc
|
|
deluge
|
|
|
|
|
|
## Programming
|
|
vscode
|
|
rustup
|
|
|
|
docker-compose
|
|
gnumake
|
|
mariadb
|
|
php74
|
|
nodePackages.intelephense
|
|
nodePackages.typescript-language-server
|
|
nodejs
|
|
nodePackages.yarn
|
|
nodePackages.less
|
|
nodePackages.sass
|
|
nodePackages.less-plugin-clean-css
|
|
nodePackages.uglify-js
|
|
|
|
# cargo
|
|
cargo-edit
|
|
cargo-feature
|
|
cargo-watch
|
|
cargo-expand
|
|
cargo-sweep
|
|
pkgs.unstable.rust-analyzer
|
|
gcc
|
|
nixfmt
|
|
|
|
trunk
|
|
wasm-bindgen-cli
|
|
sqlx-cli
|
|
];
|
|
|
|
home.sessionVariables = {
|
|
QT_QPA_PLATFORMTHEME = "gtk3";
|
|
VOLUME_CHANGE_SOUND =
|
|
"${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/audio-volume-change.oga";
|
|
FZF_DEFAULT_OPTS = let
|
|
colors = {
|
|
"bg+" = color.bg_light;
|
|
"hl+" = color.normal.green;
|
|
gutter = color.bg;
|
|
prompt = accent.color;
|
|
pointer = accent.color;
|
|
spinner = accent.color;
|
|
};
|
|
makeKeyValue = (k: v: "${k}:${v}");
|
|
makeOptList = lib.mapAttrsToList makeKeyValue colors;
|
|
makeColorValue = lib.strings.concatStringsSep "," makeOptList;
|
|
color_opts = "--color=${makeColorValue}";
|
|
preview_opts =
|
|
"--preview '${pkgs.bat}/bin/bat --style=numbers --color=always {}'";
|
|
in "${preview_opts} ${color_opts}";
|
|
};
|
|
programs.bash = { enable = true; };
|
|
|
|
services.kdeconnect = {
|
|
enable = true;
|
|
indicator = true;
|
|
};
|
|
services.mpd = {
|
|
enable = true;
|
|
musicDirectory = "~/Música";
|
|
extraConfig = ''
|
|
restore_paused "yes"
|
|
auto_update "yes"
|
|
audio_output {
|
|
type "pulse"
|
|
name "My Pulse Output"
|
|
mixer_type "hardware"
|
|
}
|
|
filesystem_charset "UTF-8"
|
|
'';
|
|
};
|
|
home.pointerCursor = {
|
|
name = "capitaine-cursors";
|
|
size = 32;
|
|
package = pkgs.capitaine-cursors;
|
|
};
|
|
gtk = {
|
|
enable = true;
|
|
theme = {
|
|
name = "Orchis-Red-Dark-Compact";
|
|
package = pkgs.orchis_theme_compact;
|
|
};
|
|
iconTheme = {
|
|
name = "Papirus-Dark";
|
|
package = pkgs.papirus_red;
|
|
};
|
|
};
|
|
# qt = {
|
|
# enable = true;
|
|
# platformTheme = "gtk";
|
|
# # style.package = pkgs.libsForQt5.qtstyleplugins;
|
|
# # style.name = "gtk2";
|
|
# };
|
|
|
|
# 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";
|
|
}
|