create gui and game profiles

This commit is contained in:
Daniel Olsen 2020-07-11 04:08:58 +02:00
parent f652dd6d90
commit 9ad890a27b
9 changed files with 92 additions and 47 deletions

View File

@ -10,6 +10,7 @@
profiles.xsession.enable = true; profiles.xsession.enable = true;
profiles.zsh.enable = true; profiles.zsh.enable = true;
profiles.games.enable = true;
programs.home-manager = { programs.home-manager = {
enable = true; enable = true;

View File

@ -7,9 +7,11 @@
eth = "enp0s25"; eth = "enp0s25";
}; };
profiles.base.enable = true; profiles.base.enable = true;
profiles.gui.enable = true;
profiles.xsession.enable = true; profiles.xsession.enable = true;
profiles.zsh.enable = true; profiles.zsh.enable = true;
profiles.games.enable = true;
programs.home-manager = { programs.home-manager = {
enable = true; enable = true;

View File

@ -19,26 +19,35 @@ in {
home.packages = with pkgs; [ home.packages = with pkgs; [
#libguestfs #libguestfs
#virtmanager
#virt-viewer
#ansible #ansible
nixops #nixops
ldns ldns
lsof
htop htop
file file
tmux tmux
# danstable.mangohud unzip
p7zip
parallel
sshfs
jq
steam ncdu
# dolphinEmuMaster
#dwarf-fortress-packages.dwarf-fortress-full bat
multimc ripgrep
#superTuxKart
# warsow mkvtoolnix
# minetest # unstable.youtubeDL
ffmpeg-full
] ++ lib.optionals config.profiles.gui.enable [
# virtmanager
# virt-viewer
mpv mpv
sxiv sxiv
@ -55,23 +64,10 @@ in {
kdeFrameworks.kio kdeFrameworks.kio
kdeApplications.kio-extras kdeApplications.kio-extras
unzip
p7zip
parallel
sshfs
jq
ncdu
bat
ripgrep
dan.rank_photos dan.rank_photos
# ***REMOVED*** # ***REMOVED***
# dan.photini
gnome3.gedit gnome3.gedit
unstable.vscode unstable.vscode
# texlive.combined.scheme-full # texlive.combined.scheme-full
@ -85,26 +81,22 @@ in {
# godot # godot
# blender # blender
# audacity # audacity
#mixxx # mixxx
# ardour # ardour
kdenlive kdenlive
frei0r frei0r
mkvtoolnix
# unstable.youtubeDL
ffmpeg-full
geogebra geogebra
]; ];
programs.firefox = { programs.firefox = {
enable = true; enable = config.profiles.gui.enable;
package = pkgs.firefox.override { extraNativeMessagingHosts = [ pkgs.dan.radical-native ]; }; package = pkgs.firefox.override { extraNativeMessagingHosts = [ pkgs.dan.radical-native ]; };
}; };
programs.obs-studio = { programs.obs-studio = {
enable = true; enable = config.profiles.gui.enable;
}; };

View File

@ -1 +1 @@
{ imports = [ ./base ./xsession ./zsh ]; } { imports = [ ./base ./xsession ./zsh ./gui.nix ./games ]; }

View File

@ -0,0 +1,32 @@
{ config, lib, pkgs, ... }:
let
cfg = config.profiles.games;
gui = config.profiles.gui;
in {
options.profiles.games = {
enable = lib.mkEnableOption "Whether or not to install video game software";
};
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
fortune
lolcat
neofetch
pipes
] ++ lib.optionals config.profiles.gui.enable [
steam
multimc
# minetest
# dwarf-fortress-packages.dwarf-fortress-full
# superTuxKart
# warsow
xonotic
zeroad
# dolphinEmuMaster
];
};
}

11
profiles/gui.nix Normal file
View File

@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }:
let
cfg = config.profiles.base;
in {
options.profiles.gui = {
enable = lib.mkEnableOption "Whether or not to install programs with user-interfaces";
};
}

View File

@ -4,6 +4,8 @@
config = lib.mkIf config.profiles.xsession.enable { config = lib.mkIf config.profiles.xsession.enable {
home.packages = [ home.packages = [
pkgs.jack2 pkgs.jack2
] ++ lib.optionals config.profiles.gui.enable [
pkgs.pavucontrol
pkgs.qjackctl pkgs.qjackctl
]; ];

View File

@ -12,6 +12,8 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
profiles.gui.enable = true;
home.keyboard = { home.keyboard = {
layout = "no-latin1"; layout = "no-latin1";
}; };
@ -102,7 +104,6 @@ in
home.packages = [ home.packages = [
pkgs.brightnessctl pkgs.brightnessctl
pkgs.pavucontrol
pkgs.xorg.xkill pkgs.xorg.xkill
pkgs.arandr pkgs.arandr

View File

@ -96,7 +96,9 @@ in
ramp-signal-4 = ""; ramp-signal-4 = "";
ramp-signal-foreground = "\${colors.foreground-alt}"; ramp-signal-foreground = "\${colors.foreground-alt}";
}; };
"module/eth" = { "module/eth" = if config.machine.eth != null
then
{
type = "internal/network"; type = "internal/network";
interface = "${config.machine.eth}"; interface = "${config.machine.eth}";
interval = "3.0"; interval = "3.0";
@ -107,7 +109,9 @@ in
label-connected = "%local_ip%"; label-connected = "%local_ip%";
format-disconnected = ""; format-disconnected = "";
}; }
else
null;
"module/filesystem" = { "module/filesystem" = {
type = "internal/fs"; type = "internal/fs";
interval = 25; interval = 25;