helm/hosts/curve/default.nix
Henrik Lissner cde23cb718 hmm
2021-09-26 21:23:46 +10:00

130 lines
3.3 KiB
Nix

{ pkgs, config, lib, ... }:
{
imports = [
../home.nix
./hardware-configuration.nix
./configuration.nix
];
## Modules
modules = {
desktop = {
bspwm.enable = true;
apps = {
discord.enable = true;
rofi.enable = true;
# godot.enable = true;
signal.enable = true;
};
browsers = {
default = "brave";
brave.enable = true;
firefox.enable = true;
qutebrowser.enable = true;
};
gaming = {
steam.enable = true;
# emulators.enable = true;
# emulators.psx.enable = true;
};
media = {
daw.enable = true;
documents.enable = true;
graphics.enable = true;
mpv.enable = true;
recording.enable = true;
spotify.enable = true;
};
term = {
default = "xst";
st.enable = true;
};
vm = {
qemu.enable = true;
};
};
dev = {
node.enable = true;
rust.enable = true;
python.enable = true;
};
editors = {
default = "emacs";
emacs.enable = true;
#vim.enable = true;
};
shell = {
adl.enable = true;
vaultwarden.enable = true;
direnv.enable = true;
git.enable = true;
gnupg.enable = true;
tmux.enable = true;
zsh.enable = true;
};
services = {
ssh.enable = true;
docker.enable = true;
# Needed occasionally to help the parental units with PC problems
# teamviewer.enable = true;
};
theme.active = "alucard";
};
## Local config
programs.ssh.startAgent = true;
# services.openssh.startWhenNeeded = true;
networking.networkmanager.enable = true;
# The global useDHCP flag is deprecated, therefore explicitly set to false
# here. Per-interface useDHCP will be mandatory in the future, so this
# generated config replicates the default behaviour.
networking.useDHCP = false;
programs.neovim.enable = true;
## Personal backups
# Syncthing is a bit heavy handed for my needs, so rsync to my NAS instead.
# systemd = {
# services.backups = {
# description = "Backup /usr/store to NAS";
# wants = [ "usr-drive.mount" ];
# path = [ pkgs.rsync ];
# environment = {
# SRC_DIR = "/usr/store";
# DEST_DIR = "/usr/drive";
# };
# script = ''
# rcp() {
# if [[ -d "$1" && -d "$2" ]]; then
# echo "---- BACKUPING UP $1 TO $2 ----"
# rsync -rlptPJ --chmod=go= --delete --delete-after \
# --exclude=lost+found/ \
# --exclude=@eaDir/ \
# --include=.git/ \
# --filter=':- .gitignore' \
# --filter=':- $XDG_CONFIG_HOME/git/ignore' \
# "$1" "$2"
# fi
# }
# rcp "$HOME/projects/" "$DEST_DIR/projects"
# rcp "$SRC_DIR/" "$DEST_DIR"
# '';
# serviceConfig = {
# Type = "oneshot";
# Nice = 19;
# IOSchedulingClass = "idle";
# User = config.user.name;
# Group = config.user.group;
# };
# };
# timers.backups = {
# wantedBy = [ "timers.target" ];
# partOf = [ "backups.service" ];
# timerConfig.OnCalendar = "*-*-* 00,12:00:00";
# timerConfig.Persistent = true;
# };
# };
}