2022-08-30 22:01:06 -03:00
|
|
|
{ config, pkgs, lib, inputs, ... }:
|
|
|
|
let inherit (import ./variables.nix) key theme color accent font;
|
2022-08-04 23:46:59 -03:00
|
|
|
|
2022-07-20 22:14:36 -03:00
|
|
|
in {
|
2022-08-07 23:58:05 -03:00
|
|
|
imports = [
|
|
|
|
./waybar.nix
|
|
|
|
./helix.nix
|
|
|
|
./kakoune.nix
|
2022-08-23 23:42:36 -03:00
|
|
|
./fish.nix
|
2022-08-07 23:58:05 -03:00
|
|
|
./sway.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-08-13 14:25:32 -03:00
|
|
|
./rnnoise.nix
|
2022-08-20 17:46:03 -03:00
|
|
|
inputs.hyprland.homeManagerModules.default
|
2022-08-07 23:58:05 -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";
|
|
|
|
# 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";
|
|
|
|
# Let Home Manager install and manage itself.
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
alacritty
|
2022-08-06 11:10:31 -03:00
|
|
|
terminal # see flake.nix
|
2022-10-04 11:56:29 -03:00
|
|
|
btop
|
2022-06-05 01:43:16 -03:00
|
|
|
exa
|
|
|
|
fd
|
2022-08-22 12:48:03 -03:00
|
|
|
p7zip
|
2022-09-15 11:30:55 -03:00
|
|
|
speedtest-cli
|
2022-08-22 12:48:03 -03:00
|
|
|
deluge
|
2022-08-05 21:09:52 -03:00
|
|
|
_diffr
|
|
|
|
kak-pager
|
2022-08-09 09:57:54 -03:00
|
|
|
br # bulk rename
|
2022-07-20 22:14:36 -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-07-20 22:14:36 -03:00
|
|
|
# desktop
|
|
|
|
kanshi
|
2022-09-16 23:50:28 -03:00
|
|
|
# xfce.thunar
|
|
|
|
gnome.nautilus
|
2022-07-20 22:44:41 -03:00
|
|
|
pass
|
2022-08-08 20:05:06 -03:00
|
|
|
wpass
|
2022-08-08 21:16:45 -03:00
|
|
|
_gpg-unlock
|
2022-07-20 22:14:36 -03:00
|
|
|
# media
|
2022-06-12 23:47:05 -03:00
|
|
|
yt-dlp
|
2022-06-09 23:16:20 -03:00
|
|
|
ffmpeg
|
|
|
|
imagemagick
|
|
|
|
mpv
|
2022-07-21 10:36:38 -03:00
|
|
|
mpc-cli
|
2022-08-13 14:25:32 -03:00
|
|
|
helvum
|
|
|
|
gimp
|
2022-09-05 10:44:07 -03:00
|
|
|
inkscape
|
2022-08-18 13:58:35 -03:00
|
|
|
kdenlive
|
|
|
|
blender
|
2022-08-16 09:36:14 -03:00
|
|
|
libreoffice
|
2022-09-16 12:44:17 -03:00
|
|
|
godot
|
2022-08-05 11:20:13 -03:00
|
|
|
# pulse_sink
|
2022-08-02 21:36:25 -03:00
|
|
|
#games
|
|
|
|
lutris
|
|
|
|
steam
|
2022-07-20 20:07:58 -03:00
|
|
|
# chat
|
|
|
|
tdesktop
|
2022-08-02 21:36:25 -03:00
|
|
|
# discord # I'm using webcord, see home.activation
|
2022-08-03 11:56:30 -03:00
|
|
|
thunderbird
|
2022-07-20 20:07:58 -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-07-20 22:14:36 -03:00
|
|
|
## fonts
|
2022-06-13 10:34:47 -03:00
|
|
|
liberation_ttf
|
|
|
|
hack-font
|
|
|
|
font-awesome_5
|
|
|
|
fira-code
|
2022-07-21 00:32:09 -03:00
|
|
|
nerdfonts_fira_hack
|
2022-08-11 11:53:39 -03:00
|
|
|
material-wifi-icons
|
2022-07-20 20:07:58 -03:00
|
|
|
# Programming
|
|
|
|
vscode
|
2022-08-04 11:58:56 -03:00
|
|
|
rustup
|
|
|
|
# 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-08-18 13:58:35 -03:00
|
|
|
pkgs.unstable.rust-analyzer
|
2022-07-20 20:07:58 -03:00
|
|
|
gcc
|
2022-07-21 10:36:38 -03:00
|
|
|
nixfmt
|
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 = {
|
2022-09-16 23:47:35 -03:00
|
|
|
MOZ_ENABLE_WAYLAND = "1";
|
2022-08-12 21:28:12 -03:00
|
|
|
QT_QPA_PLATFORMTHEME = "gtk3";
|
2022-08-02 22:33:21 -03:00
|
|
|
VOLUME_CHANGE_SOUND =
|
|
|
|
"${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/audio-volume-change.oga";
|
2022-08-09 09:23:07 -03:00
|
|
|
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}";
|
2022-08-02 00:07:04 -03:00
|
|
|
};
|
2022-08-12 23:35:42 -03:00
|
|
|
programs.bash = { enable = true; };
|
2022-06-05 01:43:16 -03:00
|
|
|
programs.firefox = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.firefox;
|
2022-07-19 23:43:50 -03:00
|
|
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
|
|
darkreader
|
|
|
|
ublock-origin
|
|
|
|
tree-style-tab
|
|
|
|
sponsorblock
|
|
|
|
duckduckgo-privacy-essentials
|
|
|
|
];
|
2022-06-13 20:10:58 -03:00
|
|
|
profiles = {
|
|
|
|
main = {
|
|
|
|
isDefault = true;
|
|
|
|
settings = {
|
|
|
|
"devtools.theme" = "dark";
|
|
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
|
|
"browser.tabs.inTitlebar" = 0;
|
2022-08-08 15:59:52 -03:00
|
|
|
|
|
|
|
"media.ffmpeg.vaapi.enabled" = true;
|
|
|
|
"media.ffvpx.enabled" = false;
|
|
|
|
"media.av1.enabled" = false;
|
|
|
|
"gfx.webrender.all" = true;
|
2022-06-13 20:10:58 -03:00
|
|
|
};
|
|
|
|
userChrome = ''
|
2022-07-16 02:12:18 -03:00
|
|
|
#tabbrowser-tabs { visibility: collapse !important; }
|
2022-06-13 20:10:58 -03:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
2022-06-05 01:43:16 -03:00
|
|
|
};
|
2022-08-02 21:17:03 -03:00
|
|
|
home.activation = {
|
2022-08-02 22:33:21 -03:00
|
|
|
install_flatpaks = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
2022-08-10 22:29:51 -03:00
|
|
|
$DRY_RUN_CMD flatpak $VERBOSE_ARG remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo || true
|
|
|
|
$DRY_RUN_CMD flatpak $VERBOSE_ARG install -y flathub io.github.spacingbat3.webcord || true
|
2022-08-02 21:17:03 -03:00
|
|
|
'';
|
2022-06-12 23:47:05 -03:00
|
|
|
};
|
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;
|
|
|
|
musicDirectory = "~/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-07-19 22:20:55 -03:00
|
|
|
home.pointerCursor = {
|
|
|
|
name = "capitaine-cursors";
|
2022-08-07 22:00:01 -03:00
|
|
|
size = 32;
|
2022-07-19 22:20:55 -03:00
|
|
|
package = pkgs.capitaine-cursors;
|
|
|
|
};
|
2022-06-13 22:21:47 -03:00
|
|
|
gtk = {
|
|
|
|
enable = true;
|
|
|
|
theme = {
|
|
|
|
name = "Orchis-Red-Dark-Compact";
|
2022-08-23 23:42:36 -03:00
|
|
|
package = pkgs.orchis_theme_compact;
|
2022-06-13 22:21:47 -03:00
|
|
|
};
|
|
|
|
iconTheme = {
|
|
|
|
name = "Papirus-Dark";
|
2022-08-23 23:42:36 -03:00
|
|
|
package = pkgs.papirus_red;
|
2022-06-13 22:21:47 -03:00
|
|
|
};
|
|
|
|
};
|
2022-08-12 21:28:12 -03:00
|
|
|
# qt = {
|
|
|
|
# enable = true;
|
|
|
|
# platformTheme = "gtk";
|
|
|
|
# # style.package = pkgs.libsForQt5.qtstyleplugins;
|
|
|
|
# # style.name = "gtk2";
|
|
|
|
# };
|
2022-07-21 00:29:12 -03:00
|
|
|
|
2022-08-06 17:14:38 -03:00
|
|
|
programs.mangohud = {
|
|
|
|
enable = true;
|
|
|
|
enableSessionWide = true;
|
|
|
|
settings = {
|
2022-08-06 18:32:34 -03:00
|
|
|
toggle_fps_limit = "F1";
|
2022-08-06 17:14:38 -03:00
|
|
|
|
2022-08-06 18:32:34 -03:00
|
|
|
legacy_layout = "false";
|
2022-08-06 17:14:38 -03:00
|
|
|
gpu_stats = true;
|
|
|
|
gpu_temp = true;
|
|
|
|
gpu_core_clock = true;
|
|
|
|
gpu_mem_clock = true;
|
|
|
|
gpu_power = true;
|
|
|
|
gpu_load_change = true;
|
2022-08-06 18:32:34 -03:00
|
|
|
gpu_load_value = "50,90";
|
|
|
|
gpu_load_color = "FFFFFF,FFAA7F,CC0000";
|
|
|
|
gpu_text = "GPU";
|
2022-08-06 17:14:38 -03:00
|
|
|
cpu_stats = true;
|
|
|
|
cpu_temp = true;
|
|
|
|
cpu_power = true;
|
|
|
|
cpu_mhz = true;
|
|
|
|
cpu_load_change = true;
|
|
|
|
core_load_change = true;
|
2022-08-06 18:32:34 -03:00
|
|
|
cpu_load_value = "50,90";
|
|
|
|
cpu_load_color = "FFFFFF,FFAA7F,CC0000";
|
|
|
|
cpu_color = "2e97cb";
|
|
|
|
cpu_text = "CPU";
|
2022-08-06 17:14:38 -03:00
|
|
|
io_stats = true;
|
|
|
|
io_read = true;
|
|
|
|
io_write = true;
|
2022-08-06 18:32:34 -03:00
|
|
|
io_color = "a491d3";
|
2022-08-06 17:14:38 -03:00
|
|
|
swap = true;
|
|
|
|
vram = true;
|
2022-08-06 18:32:34 -03:00
|
|
|
vram_color = "ad64c1";
|
2022-08-06 17:14:38 -03:00
|
|
|
ram = true;
|
2022-08-06 18:32:34 -03:00
|
|
|
ram_color = "c26693";
|
2022-08-06 17:14:38 -03:00
|
|
|
fps = true;
|
2022-08-06 18:32:34 -03:00
|
|
|
engine_color = "eb5b5b";
|
|
|
|
gpu_color = "2e9762";
|
|
|
|
wine_color = "eb5b5b";
|
|
|
|
frame_timing = "1";
|
|
|
|
frametime_color = "00ff00";
|
|
|
|
media_player_color = "ffffff";
|
|
|
|
background_alpha = "0.8";
|
|
|
|
font_size = "24";
|
2022-08-06 17:14:38 -03:00
|
|
|
|
2022-08-06 18:32:34 -03:00
|
|
|
background_color = "020202";
|
|
|
|
position = "top-left";
|
|
|
|
text_color = "ffffff";
|
|
|
|
round_corners = "10";
|
|
|
|
toggle_hud = "Shift_R+F12";
|
|
|
|
toggle_logging = "Shift_L+F12";
|
|
|
|
output_folder = "/home/lelgenio";
|
2022-08-06 17:14:38 -03:00
|
|
|
};
|
|
|
|
};
|
2022-07-20 20:07:58 -03:00
|
|
|
systemd.user.services = {
|
|
|
|
discord = {
|
|
|
|
Unit = {
|
|
|
|
Description = "Discord Internet voice chat";
|
|
|
|
PartOf = [ "graphical-session.target" ];
|
|
|
|
After = [ "graphical-session.target" ];
|
|
|
|
};
|
|
|
|
Service = {
|
2022-08-02 21:17:03 -03:00
|
|
|
ExecStart = "/usr/bin/env flatpak run io.github.spacingbat3.webcord";
|
2022-07-20 20:07:58 -03:00
|
|
|
Restart = "on-failure";
|
|
|
|
};
|
|
|
|
Install = { WantedBy = [ "sway-session.target" ]; };
|
|
|
|
};
|
|
|
|
telegram = {
|
|
|
|
Unit = {
|
|
|
|
Description = "Telegram Internet chat";
|
|
|
|
PartOf = [ "graphical-session.target" ];
|
|
|
|
After = [ "graphical-session.target" ];
|
|
|
|
};
|
|
|
|
Service = {
|
|
|
|
ExecStart = "${pkgs.tdesktop}/bin/telegram-desktop";
|
|
|
|
Restart = "on-failure";
|
|
|
|
};
|
|
|
|
Install = { WantedBy = [ "sway-session.target" ]; };
|
|
|
|
};
|
|
|
|
};
|
2022-09-25 00:12:58 -03:00
|
|
|
programs.mpv.enable = true;
|
|
|
|
programs.mpv.config = {
|
|
|
|
# ytdl-format='best';
|
|
|
|
ytdl_path="yt-dlp";
|
|
|
|
ytdl-format="bestvideo[height<=1080][vcodec!=vp9]+bestaudio/best";
|
|
|
|
ytdl-raw-options="cookies=~/.cache/cookies-youtube-com.txt,mark-watched=";
|
|
|
|
osd-fractions=true;
|
|
|
|
save-position-on-quit=true;
|
|
|
|
keep-open=true;
|
|
|
|
|
|
|
|
cache=true;
|
|
|
|
cache-pause-initial=true;
|
|
|
|
cache-pause-wait=10;
|
|
|
|
};
|
2022-07-21 00:32:09 -03:00
|
|
|
}
|