{ config, lib, pkgs, ... }: { xsession = { enable = true; windowManager.xmonad = { enable = true; enableContribAndExtras = true; config = ./files/xmonad.hs; }; initExtra = '' keepassxc & ''; numlock.enable = true; }; nixpkgs.config.packageOverrides = pkgs: { ncmpcpp = pkgs.ncmpcpp.override {visualizerSupport = true;}; firefox = pkgs.firefox.override { pkcs11Modules = [ pkgs.eid-mw ]; }; }; home = { sessionVariables = { EDITOR = "vim"; QT_AUTO_SCREEN_SCALE_FACTOR = "0"; }; packages = with pkgs; [ haskellPackages.xmobar ncmpcpp mpc_cli pulsemixer feh xorg.xbacklight xorg.xinit xorg.xwininfo xorg.xkill scrot numix-gtk-theme # Ranger preview utils w3m xclip odt2txt ]; keyboard = { layout = "fr"; options = ["caps:escape"]; }; file = { ".wallpaper.png".source = ./files/wallpaper.png; ".xmonad/xmobarrc".source = ./files/xmobarrc; ".config/ncmpcpp" = { source = ./files/ncmpcpp; recursive = true; }; ".xmonad/scripts" = { source = ./files/scripts; recursive = true; }; ".themes/oomox-gruvmox-dark-medium-default" = { source = ./files/oomox-gruvmox-dark-medium-default; recursive = true; }; }; }; gtk = { enable = true; theme.name = "oomox-gruvmox-dark-medium-default"; iconTheme.name = "oomox-gruvmox-dark-medium-default"; }; qt = { enable = true; platformTheme = "gtk"; }; services = { mpd = { enable = true; network.listenAddress = "any"; musicDirectory = "${config.home.homeDirectory}/Nextcloud/Media/Music"; playlistDirectory = "${config.home.homeDirectory}/Nextcloud/Playlists"; extraConfig = '' max_output_buffer_size "16384" auto_update "yes" audio_output { type "pulse" name "pulse audio" device "pulse" mixer_type "hardware" } audio_output { type "fifo" name "toggle_visualizer" path "/tmp/mpd.fifo" format "44100:16:2" } ''; }; stalonetray = { enable = true; config = { geometry = "1x1-5+0"; background = "#000000"; transparent = true; grow_gravity = "E"; icon_gravity = "E"; icon_size = "24"; kludges = "force_icons_size"; }; }; unclutter.enable = true; pasystray.enable = true; dunst = { enable = true; settings = { global = { monitor = 0; geometry = "350x5-30+50"; transparency = 10; font = "monospace 14"; idle_threshold = 120; allow_markup = "yes"; format = "%s\n%b"; show_age_threshold = 300; word_wrap = "yes"; sticky_history = "yes"; sort = "yes"; }; frame = { width = 3; color = "#ebdbb2"; }; shortcuts = { close = "ctrl+space"; close_all = "ctrl+shift+space"; history = "ctrl+grave"; context = "ctrl+shift+period"; }; urgency_low = { foreground = "#ebdbb2"; background = "#32302f"; timeout = 10; }; urgency_normal = { foreground = "#ebdbb2"; background = "#32302f"; timeout = 10; }; urgency_critical = { foreground = "#ebdbb2"; background = "#32302f"; timeout = 10; }; }; }; screen-locker = { enable = true; inactiveInterval = 5; lockCmd = "${pkgs.i3lock}/bin/i3lock -e -f -c 000000 -i ~/.wallpaper.png"; }; }; programs = { rofi = { enable = true; theme = "gruvbox-dark"; terminal = "urxvt"; }; urxvt = { enable = true; package = pkgs.rxvt_unicode-with-plugins; fonts = ["xft:monospace:size=12:antialias=true"]; scroll = { bar.enable = false; lines = 65535; }; keybindings = { "Shift-Control-C" = "eval:selection_to_clipboard"; "Shift-Control-V" = "eval:paste_clipboard"; }; extraConfig = { "perl-ext-common" = "default,clipboard,matcher,resize-font"; "background" = "rgba:28ff/28ff/28ff/cf00"; "foreground" = "#ebdbb2"; "color0" = "#282828"; "color8" = "#928374"; "color1" = "#cc241d"; "color9" = "#fb4934"; "color2" = "#98971a"; "color10" = "#b8bb26"; "color3" = "#d79921"; "color11" = "#fabd2f"; "color4" = "#458588"; "color12" = "#83a598"; "color5" = "#b16286"; "color13" = "#d3869b"; "color6" = "#689d6a"; "color14" = "#8ec07c"; "color7" = "#a89984"; "color15" = "#ebdbb2"; "termName" = "rxvt-256color"; "letterSpace" = "-1"; "internalBorder" = "10"; "depth" = "32"; "resize-font.smaller" = "C-Down"; "resize-font.bigger" = "C-Up"; }; }; }; }