mirror of
https://github.com/ItsDrike/nixdots
synced 2025-06-29 20:00:42 +00:00
Use roles properly
Originally, I was including all role configurations for all hosts, and controlling which get applied in the role configs with a check in each file. This is a very repetetive and annoying approach. Instead, now the role directory is included manually from the hosts config for devices which meet that role, removing the role options.
This commit is contained in:
parent
c6c3ecb1e9
commit
00016063fe
27 changed files with 375 additions and 610 deletions
|
@ -1,28 +1,18 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf;
|
||||
deviceType = config.myOptions.device.roles.type;
|
||||
acceptedTypes = ["laptop" "desktop"];
|
||||
in {
|
||||
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
||||
programs = {
|
||||
# allow non-root users to mount fuse filesystems with allow_other
|
||||
fuse.userAllowOther = true;
|
||||
programs = {
|
||||
# allow non-root users to mount fuse filesystems with allow_other
|
||||
fuse.userAllowOther = true;
|
||||
|
||||
# show network usage
|
||||
bandwhich.enable = true;
|
||||
# show network usage
|
||||
bandwhich.enable = true;
|
||||
|
||||
# network inspection utility
|
||||
wireshark.enable = true;
|
||||
# network inspection utility
|
||||
wireshark.enable = true;
|
||||
|
||||
# gnome's keyring manager
|
||||
seahorse.enable = true;
|
||||
# gnome's keyring manager
|
||||
seahorse.enable = true;
|
||||
|
||||
# registry for linux (thanks to Gnome)
|
||||
dconf.enable = true;
|
||||
};
|
||||
# registry for linux (thanks to Gnome)
|
||||
dconf.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,27 +1,17 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf;
|
||||
deviceType = config.myOptions.device.roles.type;
|
||||
acceptedTypes = ["laptop" "desktop"];
|
||||
in {
|
||||
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
||||
# Screen locker which works across all virtual terminals
|
||||
# Use `systemctl start physlock` to securely lock the screen
|
||||
services.physlock = {
|
||||
enable = true;
|
||||
lockMessage = "System is locked...";
|
||||
# Screen locker which works across all virtual terminals
|
||||
# Use `systemctl start physlock` to securely lock the screen
|
||||
services.physlock = {
|
||||
enable = true;
|
||||
lockMessage = "System is locked...";
|
||||
|
||||
# I only use physlock manually in some circumstances
|
||||
lockOn = {
|
||||
# Don't auto-lock the system with physlock on suspend, I prefer other (gui) lockers
|
||||
suspend = false;
|
||||
# Do use physlock on resuming from hibernation though, as this just restored RAM,
|
||||
# potentially bypassing the login screen and even initial disk encryption password
|
||||
hibernate = true;
|
||||
};
|
||||
# I only use physlock manually in some circumstances
|
||||
lockOn = {
|
||||
# Don't auto-lock the system with physlock on suspend, I prefer other (gui) lockers
|
||||
suspend = false;
|
||||
# Do use physlock on resuming from hibernation though, as this just restored RAM,
|
||||
# potentially bypassing the login screen and even initial disk encryption password
|
||||
hibernate = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,10 +5,8 @@
|
|||
}: let
|
||||
inherit (lib) mkIf;
|
||||
cfg = config.myOptions.home-manager.programs.games.steam;
|
||||
deviceType = config.myOptions.device.roles.type;
|
||||
acceptedTypes = ["laptop" "desktop"];
|
||||
in {
|
||||
config = mkIf ((builtins.elem deviceType acceptedTypes) && cfg.enable) {
|
||||
config = mkIf cfg.enable {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = false;
|
||||
|
|
|
@ -1,36 +1,25 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf;
|
||||
deviceType = config.myOptions.device.roles.type;
|
||||
acceptedTypes = ["laptop" "desktop"];
|
||||
in {
|
||||
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
||||
# Unconditionally enable thunar file manager here as a relatively
|
||||
# lightweight fallback option for my default file manager.
|
||||
programs.thunar = {
|
||||
enable = true;
|
||||
{pkgs, ...}: {
|
||||
# Unconditionally enable thunar file manager here as a relatively
|
||||
# lightweight fallback option for my default file manager.
|
||||
programs.thunar = {
|
||||
enable = true;
|
||||
|
||||
plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-media-tags-plugin
|
||||
];
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
# packages necessery for thunar thumbnails
|
||||
xfce.tumbler
|
||||
libgsf # odf files
|
||||
ffmpegthumbnailer
|
||||
ark # GUI archiver for thunar archive plugin
|
||||
];
|
||||
};
|
||||
|
||||
# thumbnail support on thunar
|
||||
services.tumbler.enable = true;
|
||||
plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-media-tags-plugin
|
||||
];
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
# packages necessery for thunar thumbnails
|
||||
xfce.tumbler
|
||||
libgsf # odf files
|
||||
ffmpegthumbnailer
|
||||
ark # GUI archiver for thunar archive plugin
|
||||
];
|
||||
};
|
||||
|
||||
# thumbnail support on thunar
|
||||
services.tumbler.enable = true;
|
||||
}
|
||||
|
|
|
@ -6,10 +6,8 @@
|
|||
inherit (lib) mkIf;
|
||||
cfgUser = config.myOptions.system.username;
|
||||
cfg = config.myOptions.home-manager.programs.applications.virtualbox;
|
||||
deviceType = config.myOptions.device.roles.type;
|
||||
acceptedTypes = ["laptop" "desktop"];
|
||||
in {
|
||||
config = mkIf ((builtins.elem deviceType acceptedTypes) && cfg.enable) {
|
||||
config = mkIf cfg.enable {
|
||||
virtualisation.virtualbox.host = {
|
||||
enable = true;
|
||||
|
||||
|
|
|
@ -7,10 +7,8 @@
|
|||
inherit (lib) mkIf;
|
||||
cfgUser = config.myOptions.system.username;
|
||||
cfg = config.myOptions.home-manager.programs.applications.wireshark;
|
||||
deviceType = config.myOptions.device.roles.type;
|
||||
acceptedTypes = ["laptop" "desktop"];
|
||||
in {
|
||||
config = mkIf ((builtins.elem deviceType acceptedTypes) && cfg.enable) {
|
||||
config = mkIf cfg.enable {
|
||||
programs.wireshark = {
|
||||
enable = true;
|
||||
package = pkgs.wireshark;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue