2021-11-29 04:11:58 -08:00
|
|
|
{ pkgs, config, lib, ... }:
|
2021-10-10 06:59:41 -07:00
|
|
|
|
2021-10-04 08:22:19 -07:00
|
|
|
{
|
2021-11-17 04:50:18 -08:00
|
|
|
# TODO modularize
|
2021-10-12 05:35:18 -07:00
|
|
|
#imports = [ ./xdg.nix ];
|
2021-10-04 08:22:19 -07:00
|
|
|
|
2021-12-11 17:45:31 -08:00
|
|
|
services = {
|
|
|
|
gnome.gnome-keyring.enable = true;
|
|
|
|
upower.enable = true;
|
|
|
|
|
|
|
|
dbus = {
|
|
|
|
enable = true;
|
|
|
|
packages = [ pkgs.gnome3.dconf ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
security.pam.services.sddm.enableGnomeKeyring = true;
|
|
|
|
|
2021-10-13 05:52:50 -07:00
|
|
|
home-manager.users.anish.xdg.enable = true; # This doesn't seem to do anything so we have below
|
2021-11-13 09:47:38 -08:00
|
|
|
home-manager.users.anish.xdg.configHome = "/home/anish/.config"; # TODO bad hard coded
|
2021-10-13 05:52:50 -07:00
|
|
|
environment.sessionVariables = rec {
|
2021-11-17 04:50:18 -08:00
|
|
|
XDG_CACHE_HOME = "\${HOME}/.cache";
|
2021-10-13 05:52:50 -07:00
|
|
|
XDG_CONFIG_HOME = "\${HOME}/.config";
|
2021-11-17 04:50:18 -08:00
|
|
|
XDG_BIN_HOME = "\${HOME}/.local/bin";
|
|
|
|
XDG_DATA_HOME = "\${HOME}/.local/share";
|
2021-10-13 05:52:50 -07:00
|
|
|
|
2021-11-17 04:50:18 -08:00
|
|
|
PATH = [
|
2021-10-13 05:52:50 -07:00
|
|
|
"\${XDG_BIN_HOME}"
|
|
|
|
];
|
|
|
|
};
|
2021-11-29 04:11:58 -08:00
|
|
|
|
|
|
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
|
|
"ripcord"
|
|
|
|
"vcv-rack"
|
|
|
|
];
|
|
|
|
|
2021-10-13 05:52:50 -07:00
|
|
|
environment.systemPackages = with pkgs; [
|
2021-11-13 09:47:38 -08:00
|
|
|
# TODO move somewhere meaningful
|
|
|
|
tdesktop # TODO get rid of this once bridged on sealight
|
2021-11-29 04:11:58 -08:00
|
|
|
ripcord
|
2021-12-27 00:27:49 -08:00
|
|
|
feh
|
|
|
|
mupdf
|
2021-11-13 09:47:38 -08:00
|
|
|
sublime-music
|
2021-11-29 04:11:58 -08:00
|
|
|
calibre
|
2021-11-17 04:50:18 -08:00
|
|
|
nheko
|
2021-12-11 17:45:31 -08:00
|
|
|
scrot
|
2021-11-13 09:47:38 -08:00
|
|
|
newsflash
|
|
|
|
zeal
|
2021-10-13 05:52:50 -07:00
|
|
|
xclip
|
|
|
|
xdotool
|
|
|
|
rofi
|
|
|
|
lightdm
|
|
|
|
dunst
|
|
|
|
libnotify
|
|
|
|
(polybar.override {
|
|
|
|
pulseSupport = true;
|
|
|
|
nlSupport = true;
|
|
|
|
})
|
2021-10-12 05:35:18 -07:00
|
|
|
];
|
2021-10-04 08:22:19 -07:00
|
|
|
|
2021-10-13 05:52:50 -07:00
|
|
|
|
|
|
|
location.provider = "geoclue2";
|
|
|
|
services = {
|
|
|
|
redshift = {
|
|
|
|
enable = true;
|
|
|
|
temperature = {
|
|
|
|
day = 5500;
|
|
|
|
night = 3700;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
xserver = {
|
|
|
|
enable = true;
|
|
|
|
desktopManager.wallpaper.mode = "fill";
|
|
|
|
displayManager = {
|
|
|
|
defaultSession = "none+bspwm";
|
|
|
|
sessionCommands = ''
|
|
|
|
${pkgs.xorg.xrdb}/bin/xrdb -merge <<EOF
|
|
|
|
*.foreground: #e6e1cf
|
|
|
|
*.background: #0f1419
|
|
|
|
*.cursorColor: #f29718
|
|
|
|
! Black
|
|
|
|
*.color0: #000000
|
|
|
|
*.color8: #323232
|
|
|
|
! Red
|
|
|
|
*.color1: #ff3333
|
|
|
|
*.color9: #ff6565
|
|
|
|
! Green
|
|
|
|
*.color2: #b8cc52
|
|
|
|
*.color10: #eafe84
|
|
|
|
! Yellow
|
|
|
|
*.color3: #e7c547
|
|
|
|
*.color11: #fff779
|
|
|
|
! Blue
|
|
|
|
*.color4: #36a3d9
|
|
|
|
*.color12: #68d5ff
|
|
|
|
! Magenta
|
|
|
|
*.color5: #f07178
|
|
|
|
*.color13: #ffa3aa
|
|
|
|
! Cyan
|
|
|
|
*.color6: #95e6cb
|
|
|
|
*.color14: #c7fffd
|
|
|
|
! White
|
|
|
|
*.color7: #ffffff
|
|
|
|
*.color15: #ffffff
|
|
|
|
! Bold, Italic, Underline
|
|
|
|
*.colorBD: #e6e1cf
|
|
|
|
!*.colorIT:
|
|
|
|
!*.colorUL:
|
|
|
|
EOF
|
|
|
|
'';
|
|
|
|
lightdm.enable = true;
|
|
|
|
lightdm.greeters.mini.enable = true;
|
|
|
|
lightdm.greeters.mini.user = "anish"; # TODO hardcoded
|
|
|
|
lightdm.background = "/etc/nixos/users/profiles/desktop/background.jpg";
|
|
|
|
lightdm.greeters.mini.extraConfig = ''
|
|
|
|
text-color = "#ff79c6"
|
|
|
|
password-background-color = "#1E2029"
|
|
|
|
window-color = "#181a23"
|
|
|
|
border-color = "#181a23"
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
windowManager.bspwm.enable = true;
|
|
|
|
#windowManager.bspwm.configFile = "/home/anish/.bspwm/bspwmrc";
|
|
|
|
windowManager.bspwm.sxhkd.configFile = "/home/anish/.config/sxhkdrc";
|
2021-10-12 05:35:18 -07:00
|
|
|
};
|
2021-10-10 06:59:41 -07:00
|
|
|
};
|
2021-10-04 08:22:19 -07:00
|
|
|
|
2021-10-13 05:52:50 -07:00
|
|
|
fonts.fonts = with pkgs; [
|
|
|
|
fira-code
|
|
|
|
fira-code-symbols
|
|
|
|
hermit
|
|
|
|
#hack
|
|
|
|
siji
|
|
|
|
font-awesome-ttf
|
|
|
|
proggyfonts
|
|
|
|
(nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; })
|
|
|
|
];
|
2021-10-04 08:22:19 -07:00
|
|
|
|
2021-10-13 05:52:50 -07:00
|
|
|
home-manager.users.anish = {
|
2021-10-12 05:35:18 -07:00
|
|
|
# Install themes
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
dracula-theme
|
|
|
|
paper-icon-theme
|
|
|
|
];
|
2021-10-04 08:22:19 -07:00
|
|
|
|
2021-10-13 05:52:50 -07:00
|
|
|
xresources.properties = {
|
2021-11-17 04:50:18 -08:00
|
|
|
"Xcursor.theme" = "Paper";
|
2021-10-13 05:52:50 -07:00
|
|
|
#"Xcursor.size"= 64;
|
2021-11-17 04:50:18 -08:00
|
|
|
"*.foreground" = "#e6e1cf";
|
|
|
|
"*.background" = "#0f1419";
|
|
|
|
"*.cursorColor" = "#f29718";
|
2021-10-13 05:52:50 -07:00
|
|
|
# Black
|
2021-11-17 04:50:18 -08:00
|
|
|
"*.color0" = "#000000";
|
|
|
|
"*.color8" = "#323232";
|
2021-10-13 05:52:50 -07:00
|
|
|
# Red
|
2021-11-17 04:50:18 -08:00
|
|
|
"*.color1" = "#ff3333";
|
|
|
|
"*.color9" = "#ff6565";
|
2021-10-13 05:52:50 -07:00
|
|
|
# Green
|
2021-11-17 04:50:18 -08:00
|
|
|
"*.color2" = "#b8cc52";
|
|
|
|
"*.color10" = "#eafe84";
|
2021-10-13 05:52:50 -07:00
|
|
|
# Yellow
|
2021-11-17 04:50:18 -08:00
|
|
|
"*.color3" = "#e7c547";
|
|
|
|
"*.color11" = "#fff779";
|
2021-10-13 05:52:50 -07:00
|
|
|
# Blue
|
2021-11-17 04:50:18 -08:00
|
|
|
"*.color4" = "#36a3d9";
|
|
|
|
"*.color12" = "#68d5ff";
|
2021-10-13 05:52:50 -07:00
|
|
|
# Magenta
|
2021-11-17 04:50:18 -08:00
|
|
|
"*.color5" = "#f07178";
|
|
|
|
"*.color13" = "#ffa3aa";
|
2021-10-13 05:52:50 -07:00
|
|
|
# Cyan
|
2021-11-17 04:50:18 -08:00
|
|
|
"*.color6" = "#95e6cb";
|
|
|
|
"*.color14" = "#c7fffd";
|
2021-10-13 05:52:50 -07:00
|
|
|
# White
|
2021-11-17 04:50:18 -08:00
|
|
|
"*.color7" = "#ffffff";
|
|
|
|
"*.color15" = "#ffffff";
|
2021-10-13 05:52:50 -07:00
|
|
|
# Bold, Italic, Underline
|
2021-11-17 04:50:18 -08:00
|
|
|
"*.colorBD" = "#e6e1cf";
|
2021-10-13 05:52:50 -07:00
|
|
|
};
|
2021-10-04 08:22:19 -07:00
|
|
|
|
2021-10-12 05:35:18 -07:00
|
|
|
# Move required config files around
|
|
|
|
home.file = {
|
|
|
|
".config/bspwm/rc.d/polybar".source = ./run.sh;
|
|
|
|
".config/bspwm/bspwmrc".source = ./bspwmrc;
|
|
|
|
".config/sxhkdrc".source = ./sxhkdrc;
|
|
|
|
".config/rofi/theme" = {
|
|
|
|
source = ./rofi;
|
|
|
|
recursive = true;
|
|
|
|
};
|
|
|
|
".config/polybar" = {
|
|
|
|
source = ./polybar;
|
|
|
|
recursive = true;
|
|
|
|
};
|
|
|
|
".config/dunst/dunstrc".source = ./dunstrc;
|
|
|
|
".config/kitty/kitty.conf".source = ./kitty.conf;
|
|
|
|
".config/kitty/ayu.conf".source = ./ayu-kitty.conf;
|
2021-10-13 05:52:50 -07:00
|
|
|
".background-image".source = ./background.jpg;
|
|
|
|
# gtk3 theme
|
|
|
|
".config/gtk-3.0/settings.ini".text = ''
|
|
|
|
[Settings]
|
|
|
|
gtk-theme-name=Dracula
|
|
|
|
gtk-icon-theme-name=Paper
|
|
|
|
gtk-cursor-theme-name=Paper
|
|
|
|
gtk-fallback-icon-theme=gnome
|
|
|
|
gtk-application-prefer-dark-theme=true
|
|
|
|
gtk-xft-hinting=1
|
|
|
|
gtk-xft-hintstyle=hintfull
|
|
|
|
gtk-xft-rgba=none
|
|
|
|
'';
|
2021-11-17 04:50:18 -08:00
|
|
|
# GTK2 global theme (widget and icon theme)
|
2021-10-13 05:52:50 -07:00
|
|
|
".config/gtk-2.0/gtkrc".text = ''
|
|
|
|
gtk-theme-name=Dracula
|
|
|
|
gtk-icon-theme-name=Paper
|
|
|
|
gtk-font-name="Sans 10"
|
|
|
|
'';
|
2021-11-13 09:47:38 -08:00
|
|
|
"$XDG_BIN_HOME/passmenu".source = ./bin/passmenu;
|
|
|
|
"$XDG_BIN_HOME/powermenu".source = ./bin/powermenu;
|
2021-10-04 08:22:19 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2021-11-17 04:50:18 -08:00
|
|
|
# Compositor
|
|
|
|
services.picom = {
|
|
|
|
enable = true;
|
|
|
|
fade = true;
|
|
|
|
fadeDelta = 1;
|
|
|
|
fadeSteps = [ "0.01" "0.022" ];
|
|
|
|
shadow = true;
|
|
|
|
shadowOffsets = [ (-10) (-10) ];
|
|
|
|
shadowOpacity = "0.22";
|
|
|
|
# activeOpacity = "1.00";
|
|
|
|
# inactiveOpacity = "0.92";
|
|
|
|
extraOptions = ''
|
2021-10-12 05:35:18 -07:00
|
|
|
shadow-radius = 12;
|
|
|
|
# blur-background = true;
|
|
|
|
# blur-background-frame = true;
|
|
|
|
# blur-background-fixed = true;
|
|
|
|
blur-kern = "7x7box";
|
|
|
|
blur-strength = 320;
|
2021-11-17 04:50:18 -08:00
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
programs.autorandr.enable = true;
|
|
|
|
services.udiskie.automount = true;
|
2021-10-04 08:25:59 -07:00
|
|
|
|
2021-11-17 04:50:18 -08:00
|
|
|
services.mpris-proxy.enable = true; # bluetooth media control
|
2021-10-12 05:35:18 -07:00
|
|
|
};
|
2021-10-04 08:22:19 -07:00
|
|
|
}
|