Refactor
This commit is contained in:
parent
aaea0f79a4
commit
94613c579e
|
@ -6,12 +6,9 @@ let
|
||||||
graphical = config.this.graphical;
|
graphical = config.this.graphical;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.application.emacs = {
|
this.application.emacs.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = graphical.enable;
|
default = graphical.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
description = "Insert joke about emacs is an operating system.";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,14 +5,12 @@ let
|
||||||
sway_cfg = config.this.application.sway;
|
sway_cfg = config.this.application.sway;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.application.firefox = {
|
this.application.firefox.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = graphical.enable;
|
default = graphical.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
description = "";
|
description = "";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.james = {
|
home-manager.users.james = {
|
||||||
|
|
|
@ -4,13 +4,11 @@ let
|
||||||
graphical = config.this.graphical;
|
graphical = config.this.graphical;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.application.kitty = {
|
this.application.kitty.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = graphical.enable;
|
default = graphical.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.james = {
|
home-manager.users.james = {
|
||||||
|
|
|
@ -4,12 +4,9 @@ let
|
||||||
graphical = config.this.graphical;
|
graphical = config.this.graphical;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.application.nextcloud = {
|
this.application.nextcloud.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = graphical.enable;
|
default = graphical.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
description = "Dropbox for people who don't like dropbox";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -4,13 +4,11 @@ let
|
||||||
sway = config.this.application.sway;
|
sway = config.this.application.sway;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.application.dunst = {
|
this.application.dunst.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = sway.enable;
|
default = sway.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.james = {
|
home-manager.users.james = {
|
||||||
|
|
|
@ -4,13 +4,11 @@ let
|
||||||
sway = config.this.application.sway;
|
sway = config.this.application.sway;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.application.gammastep = {
|
this.application.gammastep.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = sway.enable;
|
default = sway.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.james = {
|
home-manager.users.james = {
|
||||||
|
|
|
@ -4,14 +4,12 @@ let
|
||||||
sway = config.this.application.sway;
|
sway = config.this.application.sway;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.application.mako = {
|
this.application.mako.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
default = false;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
description = "testing one two three";
|
description = "testing one two three";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.james = {
|
home-manager.users.james = {
|
||||||
|
@ -63,21 +61,5 @@ in with lib; {
|
||||||
Restart = "always";
|
Restart = "always";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# systemd.user.services.mako = {
|
|
||||||
# enable = true;
|
|
||||||
# description = "Mako - Notificaitons for Wayland";
|
|
||||||
# documentation = [ "man:mako(5)" ];
|
|
||||||
# partOf = [ "sway-session.target" ];
|
|
||||||
# bindsTo = [ "sway-session.target" ];
|
|
||||||
# environment.PATH = lib.mkForce null;
|
|
||||||
# serviceConfig = {
|
|
||||||
# ExecStart = "${pkgs.mako}/bin/mako";
|
|
||||||
# Restart = "on-failure";
|
|
||||||
# RestartSec = 1;
|
|
||||||
# TimeoutStopSec = 10;
|
|
||||||
# Type = "simple";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,16 +15,13 @@ let
|
||||||
scripts = [ brightness-sh sway-entry volume-sh ];
|
scripts = [ brightness-sh sway-entry volume-sh ];
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.application.sway = {
|
this.application.sway.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = graphical.enable;
|
default = graphical.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
this.graphical.protocol = "Wayland";
|
this.graphical.protocol = "Wayland";
|
||||||
|
|
||||||
home-manager.users.james = {
|
home-manager.users.james = {
|
||||||
|
@ -139,22 +136,21 @@ in with lib; {
|
||||||
wrapperFeatures.gtk = true;
|
wrapperFeatures.gtk = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.user.targets.sway-session = {
|
systemd.user = {
|
||||||
|
targets.sway-session = {
|
||||||
description = "Sway compositor session";
|
description = "Sway compositor session";
|
||||||
documentation = [ "man:systemd.special(7)" ];
|
documentation = [ "man:systemd.special(7)" ];
|
||||||
bindsTo = [ "graphical-session.target" ];
|
bindsTo = [ "graphical-session.target" ];
|
||||||
wants = [ "graphical-session-pre.target" ];
|
wants = [ "graphical-session-pre.target" ];
|
||||||
after = [ "graphical-session-pre.target" ];
|
after = [ "graphical-session-pre.target" ];
|
||||||
};
|
};
|
||||||
systemd.user.services.sway = {
|
services.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
description = "Sway - Wayland window manager";
|
description = "Sway - Wayland window manager";
|
||||||
documentation = [ "man:sway(5)" ];
|
documentation = [ "man:sway(5)" ];
|
||||||
bindsTo = [ "default.target" ];
|
bindsTo = [ "default.target" ];
|
||||||
wants = [ "graphical-session-pre.target" ];
|
wants = [ "graphical-session-pre.target" ];
|
||||||
after = [ "graphical-session-pre.target" ];
|
after = [ "graphical-session-pre.target" ];
|
||||||
# We explicitly unset PATH here, as we want it to be set by
|
|
||||||
# systemctl --user import-environment in startsway
|
|
||||||
environment.PATH = lib.mkForce null;
|
environment.PATH = lib.mkForce null;
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
|
@ -168,6 +164,7 @@ in with lib; {
|
||||||
TimeoutStopSec = 10;
|
TimeoutStopSec = 10;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
users.users.james.extraGroups = [ "video" "audio" ];
|
users.users.james.extraGroups = [ "video" "audio" ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,14 +4,12 @@ let
|
||||||
sway_cfg = config.this.application.sway;
|
sway_cfg = config.this.application.sway;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.application.waybar = {
|
this.application.waybar.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = sway_cfg.enable;
|
default = sway_cfg.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
description = "testing one two three";
|
description = "testing one two three";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.james = { home.packages = with pkgs; [ waybar ]; };
|
home-manager.users.james = { home.packages = with pkgs; [ waybar ]; };
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, lib, ... }:
|
||||||
options.this.graphical.enable = lib.mkOption {
|
with lib;
|
||||||
default = false;
|
let
|
||||||
type = with lib.types; bool;
|
in {
|
||||||
description = "Does this actually need X/Wayland";
|
|
||||||
};
|
options.this.graphical.enable =
|
||||||
|
mkEnableOption "Does this actually need X/Wayland";
|
||||||
|
|
||||||
options.this.graphical.protocol = mkOption {
|
options.this.graphical.protocol = mkOption {
|
||||||
type = types.enum [ "X11" "Wayland" ];
|
type = types.enum [ "X11" "Wayland" ];
|
||||||
|
|
|
@ -4,13 +4,11 @@ let
|
||||||
graphical = config.this.graphical;
|
graphical = config.this.graphical;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.lang.bash = {
|
this.lang.bash.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = graphical.enable;
|
default = graphical.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.james = {
|
home-manager.users.james = {
|
||||||
|
|
|
@ -4,13 +4,11 @@ let
|
||||||
graphical = config.this.graphical;
|
graphical = config.this.graphical;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.lang.golang = {
|
this.lang.golang.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = graphical.enable;
|
default = graphical.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.james = {
|
home-manager.users.james = {
|
||||||
|
|
|
@ -4,13 +4,11 @@ let
|
||||||
graphical = config.this.graphical;
|
graphical = config.this.graphical;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
this.lang.javascript = {
|
this.lang.javascript.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = graphical.enable;
|
default = graphical.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.james = {
|
home-manager.users.james = {
|
||||||
|
|
|
@ -1,13 +1,11 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let cfg = config.this.systems.boot;
|
let cfg = config.this.systems.boot;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options.this.systems.boot = {
|
options.this.systems.boot.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = true;
|
default = true;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
description = "Is there a physical power button?";
|
description = "Is there a physical power button?";
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
boot = {
|
boot = {
|
||||||
|
|
|
@ -4,13 +4,11 @@ let
|
||||||
graphical = config.this.graphical;
|
graphical = config.this.graphical;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
systems.displaymanager = {
|
systems.displaymanager.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = graphical.enable;
|
default = graphical.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
|
|
|
@ -4,12 +4,9 @@ let
|
||||||
graphical = config.this.graphical;
|
graphical = config.this.graphical;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options = {
|
options = {
|
||||||
systems.flatpak = {
|
systems.flatpak.enable = mkOption {
|
||||||
enable = mkOption {
|
|
||||||
default = graphical.enable;
|
default = graphical.enable;
|
||||||
type = with types; bool;
|
type = with types; bool;
|
||||||
description = "When they tried to do docker for GUIs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
# This was cribed from Hlisser's dotfiles see here
|
|
||||||
# https://github.com/hlissner/dotfiles/blob/8fe1fbb6e7fc0d2f95fe75cdb9df7eb0595a0047/modules/xdg.nix
|
|
||||||
|
|
||||||
{ config, pkgs, ... }: {
|
{ config, pkgs, ... }: {
|
||||||
home-manager.users.james = {
|
home-manager.users.james = {
|
||||||
home.packages = with pkgs; [ xdg-utils xdg-launch ];
|
home.packages = with pkgs; [ xdg-utils xdg-launch ];
|
||||||
|
|
|
@ -1,13 +1,7 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
let cfg = config.this.systems.zfs;
|
let cfg = config.this.systems.zfs;
|
||||||
in with lib; {
|
in with lib; {
|
||||||
options.this.systems.zfs = {
|
options.this.systems.zfs.enable = mkEnableOption "zfs";
|
||||||
enable = mkOption {
|
|
||||||
default = false;
|
|
||||||
type = with types; bool;
|
|
||||||
description = "enable zfs";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
boot = {
|
boot = {
|
||||||
|
|
Reference in New Issue
Block a user