225 lines
5.6 KiB
Nix
225 lines
5.6 KiB
Nix
{ self, config, pkgs, lib, ... }:
|
|
let
|
|
tex = (pkgs.texlive.combine {
|
|
inherit (pkgs.texlive)
|
|
scheme-basic dvisvgm dvipng # for preview and export as html
|
|
wrapfig amsmath ulem hyperref capt-of;
|
|
#(setq org-latex-compiler "lualatex")
|
|
#(setq org-preview-latex-default-process 'dvisvgm)
|
|
});
|
|
dracula-gtk = pkgs.fetchFromGitHub {
|
|
owner = "dracula";
|
|
repo = "gtk";
|
|
rev = "502f212d83bc67e8f0499574546b99ec6c8e16f9";
|
|
sha256 = "1wx9nzq7cqyvpaq4j60bs8g7gh4jk8qg4016yi4c331l4iw1ymsa";
|
|
};
|
|
in {
|
|
# TODO modularize
|
|
imports = [ ./battery-low-timer.nix ./cal-alarms.nix ];
|
|
|
|
# Secrets used by home-manager modules
|
|
age.secrets.fastmail.file = "${self}/secrets/fastmail.age";
|
|
age.secrets.fastmail.owner = "anish";
|
|
|
|
age.secrets.mossnet.file = "${self}/secrets/mossnet.age";
|
|
age.secrets.mossnet.owner = "anish";
|
|
|
|
# Taskwarrior private key
|
|
age.secrets.taskwarrior-private.file =
|
|
"${self}/secrets/taskwarrior-private.age";
|
|
age.secrets.taskwarrior-private.owner = "anish";
|
|
|
|
# We don't plug USBs into servers
|
|
services.devmon.enable = true;
|
|
|
|
services = {
|
|
gnome.gnome-keyring.enable = true;
|
|
upower.enable = true;
|
|
|
|
dbus = {
|
|
enable = true;
|
|
packages = [ pkgs.dconf ];
|
|
};
|
|
};
|
|
programs.dconf.enable = true;
|
|
|
|
security.pam.services.Default.enableGnomeKeyring = true;
|
|
security.pam.services.Login.enableGnomeKeyring = true;
|
|
security.pam.services.sddm.enableGnomeKeyring = true;
|
|
|
|
environment.sessionVariables = rec {
|
|
XDG_CACHE_HOME = "\${HOME}/.cache";
|
|
XDG_CONFIG_HOME = "\${HOME}/.config";
|
|
XDG_BIN_HOME = "\${HOME}/.local/bin";
|
|
XDG_DATA_HOME = "\${HOME}/.local/share";
|
|
|
|
PATH = [ "\${XDG_BIN_HOME}" ];
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
#unstable.sublime-music
|
|
# olm-3.2.16 is now insecure
|
|
# some reason I can't set insecure packages that will be respected
|
|
nheko
|
|
unstable.signal-desktop
|
|
unstable.tuba
|
|
unstable.newsflash
|
|
unstable.liferea
|
|
unstable.gh
|
|
unstable.flyctl
|
|
|
|
kooha
|
|
light
|
|
xfce.orage
|
|
feh
|
|
sxiv
|
|
xkblayout-state
|
|
zathura
|
|
calibre
|
|
mpv
|
|
zeal
|
|
xclip
|
|
xdotool
|
|
rofi
|
|
rofimoji
|
|
rofi-calc
|
|
obs-studio
|
|
lightdm
|
|
dunst
|
|
libnotify
|
|
(polybar.override {
|
|
pulseSupport = true;
|
|
nlSupport = true;
|
|
})
|
|
papirus-icon-theme
|
|
calendar-cli
|
|
wyrd
|
|
# tic-80
|
|
ytfzf
|
|
yt-dlp
|
|
];
|
|
|
|
xdg.portal = {
|
|
# Breaks link clicking in nheko
|
|
# Portal doesn't seem to find Firefox as an acceptable app to open links?
|
|
enable = false;
|
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
xdgOpenUsePortal = false;
|
|
};
|
|
|
|
location.provider = "geoclue2";
|
|
services = {
|
|
redshift = {
|
|
enable = true;
|
|
temperature = {
|
|
day = 5500;
|
|
night = 3700;
|
|
};
|
|
};
|
|
displayManager.defaultSession = "none+bspwm";
|
|
xserver = {
|
|
enable = true;
|
|
# TODO should be xkb.layout
|
|
xkb.layout = "us";
|
|
# xkb.variant = "dvorak";
|
|
desktopManager.wallpaper.mode = "fill";
|
|
displayManager = {
|
|
# startx.enable = true;
|
|
sessionCommands = ''
|
|
${pkgs.xorg.xrdb}/bin/xrdb -merge <<EOF
|
|
#define blk #1F2430
|
|
#define bblk #F28779
|
|
#define red #A6CC70
|
|
#define bred #FFCC66
|
|
#define grn #5CCFE6
|
|
#define bgrn #F29E74
|
|
#define ylw #77A8D9
|
|
#define bylw #5C6773
|
|
#define blu #707A8C
|
|
#define bblu #F27983
|
|
#define mag #BAE67E
|
|
#define bmag #FFD580
|
|
#define cyn #73D0FF
|
|
#define bcyn #FFA759
|
|
#define wht #95E6CB
|
|
#define bwht #CBCCC6
|
|
#define bg blk
|
|
#define fg wht
|
|
|
|
*.foreground: fg
|
|
*.background: bg
|
|
*.cursorColor: mag
|
|
|
|
*.color0: blk
|
|
*.color8: bblk
|
|
*.color1: red
|
|
*.color9: bred
|
|
*.color2: grn
|
|
*.color10: bgrn
|
|
*.color3: ylw
|
|
*.color11: bylw
|
|
*.color4: blu
|
|
*.color12: bblu
|
|
*.color5: mag
|
|
*.color13: bmag
|
|
*.color6: cyn
|
|
*.color14: bcyn
|
|
*.color7: wht
|
|
*.color15: bwht
|
|
|
|
! greys
|
|
*.color234: #1E2029
|
|
*.color235: #282a36
|
|
*.color236: #373844
|
|
*.color237: #44475a
|
|
*.color239: #565761
|
|
*.color240: #6272a4
|
|
*.color241: #b6b6b2
|
|
|
|
# hotplug
|
|
connect() {
|
|
# Turn it on if it was off
|
|
xrandr --output HDMI-2 --auto
|
|
xrandr --output HDMI-2 --same-as eDP-1
|
|
}
|
|
|
|
disconnect() {
|
|
xrandr --output HDMI-2 --off
|
|
}
|
|
|
|
xrandr | grep "HDMI-2 connected" &>>/dev/null && connect || disconnect
|
|
EOF
|
|
'';
|
|
lightdm = {
|
|
enable = true;
|
|
background = "/etc/nixos/users/profiles/desktop/background.jpg";
|
|
greeters.mini = {
|
|
enable = true;
|
|
user = "anish";
|
|
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";
|
|
};
|
|
};
|
|
|
|
fonts.packages = with pkgs; [
|
|
fira-code
|
|
fira-code-symbols
|
|
hermit
|
|
#hack
|
|
siji
|
|
font-awesome
|
|
proggyfonts
|
|
(nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "Iosevka" ]; })
|
|
];
|
|
}
|