mirror of
https://github.com/Swarsel/.dotfiles.git
synced 2025-12-06 09:07:21 +01:00
refactor: finish initial move to modules-only [WIP]
This commit is contained in:
parent
e7e59715d8
commit
27679d38fd
34 changed files with 1934 additions and 1617 deletions
|
|
@ -807,7 +807,10 @@ My work machine. Built for more security, this is the gold standard of my config
|
||||||
isBtrfs = true;
|
isBtrfs = true;
|
||||||
isLinux = true;
|
isLinux = true;
|
||||||
sharescreen = "eDP-2";
|
sharescreen = "eDP-2";
|
||||||
profiles.personal = true;
|
profiles = {
|
||||||
|
personal = true;
|
||||||
|
work = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
@ -826,11 +829,13 @@ My work machine. Built for more security, this is the gold standard of my config
|
||||||
"${modulesPath}/nixos/optional/gaming.nix"
|
"${modulesPath}/nixos/optional/gaming.nix"
|
||||||
"${modulesPath}/nixos/optional/work.nix"
|
"${modulesPath}/nixos/optional/work.nix"
|
||||||
"${self}/profiles/nixos"
|
"${self}/profiles/nixos"
|
||||||
|
"${modulesPath}/nixos/server"
|
||||||
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.users."${primaryUser}".imports = [
|
home-manager.users."${primaryUser}".imports = [
|
||||||
"${self}/profiles/home"
|
"${self}/profiles/home"
|
||||||
|
"${modulesPath}/home/server"
|
||||||
"${modulesPath}/home/optional/gaming.nix"
|
"${modulesPath}/home/optional/gaming.nix"
|
||||||
"${modulesPath}/home/optional/work.nix"
|
"${modulesPath}/home/optional/work.nix"
|
||||||
];
|
];
|
||||||
|
|
@ -3865,6 +3870,32 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
lid = lib.mkDefault true;
|
lid = lib.mkDefault true;
|
||||||
lowBattery = lib.mkDefault true;
|
lowBattery = lib.mkDefault true;
|
||||||
lanzaboote = lib.mkDefault true;
|
lanzaboote = lib.mkDefault true;
|
||||||
|
|
||||||
|
optional = {
|
||||||
|
gaming = lib.mkDefault true;
|
||||||
|
virtualbox = lib.mkDefault true;
|
||||||
|
autologin = lib.mkDefault true;
|
||||||
|
nswitch-rcm = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
***** Work
|
||||||
|
|
||||||
|
#+begin_src nix :tangle profiles/nixos/work/default.nix :mkdirp yes
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
options.swarselsystems.profiles.work = lib.mkEnableOption "is this a work host";
|
||||||
|
config = lib.mkIf config.swarselsystems.profiles.work {
|
||||||
|
swarselsystems.modules = {
|
||||||
|
optional = {
|
||||||
|
work = lib.mkDefault true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
@ -3881,7 +3912,6 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
options.swarselsystems.profiles.server.local = lib.mkEnableOption "is this a local server";
|
options.swarselsystems.profiles.server.local = lib.mkEnableOption "is this a local server";
|
||||||
config = lib.mkIf config.swarselsystems.profiles.server.local {
|
config = lib.mkIf config.swarselsystems.profiles.server.local {
|
||||||
swarselsystems = {
|
swarselsystems = {
|
||||||
# common modules
|
|
||||||
modules = {
|
modules = {
|
||||||
nix-ld = lib.mkDefault true;
|
nix-ld = lib.mkDefault true;
|
||||||
home-manager = lib.mkDefault true;
|
home-manager = lib.mkDefault true;
|
||||||
|
|
@ -3892,23 +3922,29 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
time = lib.mkDefault true;
|
time = lib.mkDefault true;
|
||||||
users = lib.mkDefault true;
|
users = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
# server modules
|
server = {
|
||||||
# server = {
|
general = lib.mkDefault true;
|
||||||
# kavita = lib.mkDefault true;
|
packages = lib.mkDefault true;
|
||||||
# jellyfin = lib.mkDefault true;
|
sops = lib.mkDefault true;
|
||||||
# navidrome = lib.mkDefault true;
|
nfs = lib.mkDefault true;
|
||||||
# spotifyd = lib.mkDefault true;
|
nginx = lib.mkDefault true;
|
||||||
# mpd = lib.mkDefault true;
|
ssh = lib.mkDefault true;
|
||||||
# matrix = lib.mkDefault true;
|
kavita = lib.mkDefault true;
|
||||||
# nextcloud = lib.mkDefault true;
|
jellyfin = lib.mkDefault true;
|
||||||
# immich = lib.mkDefault true;
|
navidrome = lib.mkDefault true;
|
||||||
# paperless = lib.mkDefault true;
|
spotifyd = lib.mkDefault true;
|
||||||
# transmission = lib.mkDefault true;
|
mpd = lib.mkDefault true;
|
||||||
# syncthing = lib.mkDefault true;
|
matrix = lib.mkDefault true;
|
||||||
# monitoring = lib.mkDefault true;
|
nextcloud = lib.mkDefault true;
|
||||||
# emacs = lib.mkDefault true;
|
immich = lib.mkDefault true;
|
||||||
# freshrss = lib.mkDefault true;
|
paperless = lib.mkDefault true;
|
||||||
# };
|
transmission = lib.mkDefault true;
|
||||||
|
syncthing = lib.mkDefault true;
|
||||||
|
monitoring = lib.mkDefault true;
|
||||||
|
emacs = lib.mkDefault true;
|
||||||
|
freshrss = lib.mkDefault true;
|
||||||
|
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -3923,7 +3959,6 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
options.swarselsystems.profiles.server.sync = lib.mkEnableOption "is this a oci sync server";
|
options.swarselsystems.profiles.server.sync = lib.mkEnableOption "is this a oci sync server";
|
||||||
config = lib.mkIf config.swarselsystems.profiles.server.sync {
|
config = lib.mkIf config.swarselsystems.profiles.server.sync {
|
||||||
swarselsystems = {
|
swarselsystems = {
|
||||||
# common modules
|
|
||||||
modules = {
|
modules = {
|
||||||
nix-ld = lib.mkDefault true;
|
nix-ld = lib.mkDefault true;
|
||||||
home-manager = lib.mkDefault true;
|
home-manager = lib.mkDefault true;
|
||||||
|
|
@ -3934,11 +3969,16 @@ Modules that need to be loaded on the NixOS level. Note that these will not be a
|
||||||
time = lib.mkDefault true;
|
time = lib.mkDefault true;
|
||||||
users = lib.mkDefault true;
|
users = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
# server modules
|
server = {
|
||||||
# server = {
|
general = lib.mkDefault true;
|
||||||
# forgejo = lib.mkDefault true;
|
packages = lib.mkDefault true;
|
||||||
# ankisync = lib.mkDefault true;
|
sops = lib.mkDefault true;
|
||||||
# };
|
nfs = lib.mkDefault true;
|
||||||
|
nginx = lib.mkDefault true;
|
||||||
|
ssh = lib.mkDefault true;
|
||||||
|
forgejo = lib.mkDefault true;
|
||||||
|
ankisync = lib.mkDefault true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -3997,6 +4037,71 @@ This holds modules that are to be used on most hosts. These are also the most im
|
||||||
waybar = lib.mkDefault true;
|
waybar = lib.mkDefault true;
|
||||||
firefox = lib.mkDefault true;
|
firefox = lib.mkDefault true;
|
||||||
gnome-keyring = lib.mkDefault true;
|
gnome-keyring = lib.mkDefault true;
|
||||||
|
kdeconnect = lib.mkDefault true;
|
||||||
|
mako = lib.mkDefault true;
|
||||||
|
swayosd = lib.mkDefault true;
|
||||||
|
yubikeytouch = lib.mkDefault true;
|
||||||
|
sway = lib.mkDefault true;
|
||||||
|
kanshi = lib.mkDefault true;
|
||||||
|
gpgagent = lib.mkDefault true;
|
||||||
|
gammastep = lib.mkDefault true;
|
||||||
|
|
||||||
|
optional = {
|
||||||
|
gaming = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
***** Work
|
||||||
|
|
||||||
|
#+begin_src nix :tangle profiles/home/work/default.nix :mkdirp yes
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
options.swarselsystems.profiles.work = lib.mkEnableOption "is this a work host";
|
||||||
|
config = lib.mkIf config.swarselsystems.profiles.work {
|
||||||
|
swarselsystems.modules = {
|
||||||
|
optional = {
|
||||||
|
work = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
***** Darwin
|
||||||
|
|
||||||
|
#+begin_src nix :tangle profiles/home/darwin/default.nix :mkdirp yes
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
options.swarselsystems.profiles.darwin = lib.mkEnableOption "is this a darwin host";
|
||||||
|
config = lib.mkIf config.swarselsystems.profiles.darwin {
|
||||||
|
swarselsystems.modules = {
|
||||||
|
general = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
***** Local Server
|
||||||
|
|
||||||
|
#+begin_src nix :tangle profiles/home/localserver/default.nix :mkdirp yes
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
options.swarselsystems.profiles.server.local = lib.mkEnableOption "is this a local server";
|
||||||
|
config = lib.mkIf config.swarselsystems.profiles.server.local {
|
||||||
|
swarselsystems.modules = {
|
||||||
|
general = lib.mkDefault true;
|
||||||
|
server = {
|
||||||
|
dotfiles = lib.mkDefault true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -6077,12 +6182,13 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.swarselsystems = {
|
options.swarselsystems = {
|
||||||
|
server.general = lib.mkEnableOption "general setting on server";
|
||||||
shellAliases = lib.mkOption {
|
shellAliases = lib.mkOption {
|
||||||
type = lib.types.attrsOf lib.types.str;
|
type = lib.types.attrsOf lib.types.str;
|
||||||
default = { };
|
default = { };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
config = {
|
config = lib.mkIf config.swarselsystems.server.general {
|
||||||
environment.shellAliases = lib.recursiveUpdate
|
environment.shellAliases = lib.recursiveUpdate
|
||||||
{
|
{
|
||||||
npswitch = "cd ${flakePath}; git pull; sudo nixos-rebuild --flake .#$(hostname) switch; cd -;";
|
npswitch = "cd ${flakePath}; git pull; sudo nixos-rebuild --flake .#$(hostname) switch; cd -;";
|
||||||
|
|
@ -6114,8 +6220,10 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/nixos/server/packages.nix
|
#+begin_src nix :tangle modules/nixos/server/packages.nix
|
||||||
{ pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.server.packages = lib.mkEnableOption "enable packages on server";
|
||||||
|
config = lib.mkIf config.swarselsystems.server.packages {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gnupg
|
gnupg
|
||||||
nix-index
|
nix-index
|
||||||
|
|
@ -6124,6 +6232,7 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
emacs
|
emacs
|
||||||
vim
|
vim
|
||||||
];
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -6135,12 +6244,14 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
#+begin_src nix :tangle modules/nixos/server/sops.nix
|
#+begin_src nix :tangle modules/nixos/server/sops.nix
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.server.sops = lib.mkEnableOption "enable sops on server";
|
||||||
|
config = lib.mkIf config.swarselsystems.server.sops {
|
||||||
sops = {
|
sops = {
|
||||||
age.sshKeyPaths = lib.mkDefault [ "/etc/ssh/sops" ];
|
age.sshKeyPaths = lib.mkDefault [ "/etc/ssh/sops" ];
|
||||||
defaultSopsFile = lib.mkDefault "${config.swarselsystems.flakePath}/secrets/winters/secrets.yaml";
|
defaultSopsFile = lib.mkDefault "${config.swarselsystems.flakePath}/secrets/winters/secrets.yaml";
|
||||||
validateSopsFiles = false;
|
validateSopsFiles = false;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -6150,8 +6261,10 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/nixos/server/nfs.nix
|
#+begin_src nix :tangle modules/nixos/server/nfs.nix
|
||||||
{ pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.server.nfs = lib.mkEnableOption "enable nfs on server";
|
||||||
|
config = lib.mkIf config.swarselsystems.server.nfs {
|
||||||
services = {
|
services = {
|
||||||
# add a user with sudo smbpasswd -a <user>
|
# add a user with sudo smbpasswd -a <user>
|
||||||
samba = {
|
samba = {
|
||||||
|
|
@ -6198,6 +6311,7 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -6207,8 +6321,10 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/nixos/server/nginx.nix
|
#+begin_src nix :tangle modules/nixos/server/nginx.nix
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.server.nginx = lib.mkEnableOption "enable nginx on server";
|
||||||
|
config = lib.mkIf config.swarselsystems.server.nginx {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
lego
|
lego
|
||||||
];
|
];
|
||||||
|
|
@ -6242,7 +6358,7 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
recommendedGzipSettings = true;
|
recommendedGzipSettings = true;
|
||||||
# virtualHosts are defined in the respective sections
|
# virtualHosts are defined in the respective sections
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -6252,8 +6368,10 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/nixos/server/ssh.nix
|
#+begin_src nix :tangle modules/nixos/server/ssh.nix
|
||||||
{ self, config, ... }:
|
{ self, lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.server.ssh = lib.mkEnableOption "enable ssh on server";
|
||||||
|
config = lib.mkIf config.swarselsystems.server.ssh {
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
@ -6268,7 +6386,7 @@ Here we just define some aliases for rebuilding the system, and we allow some in
|
||||||
security.sudo.extraConfig = ''
|
security.sudo.extraConfig = ''
|
||||||
Defaults env_keep+=SSH_AUTH_SOCK
|
Defaults env_keep+=SSH_AUTH_SOCK
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -7853,8 +7971,10 @@ These sets of configuration do not need to be deployed on every host, for a mult
|
||||||
This opens a few gaming ports and installs the steam configuration suite for gaming. There are more options in [[#h:84fd7029-ecb6-4131-9333-289982f24ffa][Gaming]] (home-manager side).
|
This opens a few gaming ports and installs the steam configuration suite for gaming. There are more options in [[#h:84fd7029-ecb6-4131-9333-289982f24ffa][Gaming]] (home-manager side).
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/nixos/optional/gaming.nix
|
#+begin_src nix :tangle modules/nixos/optional/gaming.nix
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.gaming = lib.mkEnableOption "optional gaming settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.gaming {
|
||||||
specialisation = {
|
specialisation = {
|
||||||
gaming.configuration = {
|
gaming.configuration = {
|
||||||
networking = {
|
networking = {
|
||||||
|
|
@ -7888,6 +8008,7 @@ This opens a few gaming ports and installs the steam configuration suite for gam
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -7902,9 +8023,10 @@ This opens a few gaming ports and installs the steam configuration suite for gam
|
||||||
This sets the VirtualBox configuration. Guest should not be enabled if not direly needed, it will make rebuilds unbearably slow. I only use this privately to run an old editor that does not run well under wine, so I put it into it's own specialisation.
|
This sets the VirtualBox configuration. Guest should not be enabled if not direly needed, it will make rebuilds unbearably slow. I only use this privately to run an old editor that does not run well under wine, so I put it into it's own specialisation.
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/nixos/optional/virtualbox.nix
|
#+begin_src nix :tangle modules/nixos/optional/virtualbox.nix
|
||||||
{ lib, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.virtualbox = lib.mkEnableOption "optional VBox settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.virtualbox {
|
||||||
specialisation = {
|
specialisation = {
|
||||||
VBox.configuration = {
|
VBox.configuration = {
|
||||||
virtualisation.virtualbox = {
|
virtualisation.virtualbox = {
|
||||||
|
|
@ -7921,6 +8043,7 @@ This sets the VirtualBox configuration. Guest should not be enabled if not direl
|
||||||
boot.kernelPackages = lib.mkForce pkgs.linuxPackages;
|
boot.kernelPackages = lib.mkForce pkgs.linuxPackages;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
@ -7934,11 +8057,14 @@ This sets the VirtualBox configuration. Guest should not be enabled if not direl
|
||||||
This sets the VirtualBox configuration. Guest should not be enabled if not direly needed, it will make rebuilds unbearably slow.
|
This sets the VirtualBox configuration. Guest should not be enabled if not direly needed, it will make rebuilds unbearably slow.
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/nixos/optional/vmware.nix
|
#+begin_src nix :tangle modules/nixos/optional/vmware.nix
|
||||||
_:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
|
options.swarselsystems.modules.optional.vmware = lib.mkEnableOption "optional vmware settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.vmware {
|
||||||
virtualisation.vmware.host.enable = true;
|
virtualisation.vmware.host.enable = true;
|
||||||
virtualisation.vmware.guest.enable = true;
|
virtualisation.vmware.guest.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -7950,15 +8076,18 @@ This sets the VirtualBox configuration. Guest should not be enabled if not direl
|
||||||
Auto login for the initial session.
|
Auto login for the initial session.
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/nixos/optional/autologin.nix
|
#+begin_src nix :tangle modules/nixos/optional/autologin.nix
|
||||||
{ config, ... }:
|
{ lib, config, ... }:
|
||||||
let
|
let
|
||||||
inherit (config.swarselsystems) mainUser;
|
inherit (config.swarselsystems) mainUser;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.autologin = lib.mkEnableOption "optional autologin settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.autologin {
|
||||||
services = {
|
services = {
|
||||||
getty.autologinUser = mainUser;
|
getty.autologinUser = mainUser;
|
||||||
greetd.settings.initial_session.user = mainUser;
|
greetd.settings.initial_session.user = mainUser;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -7970,8 +8099,10 @@ Auto login for the initial session.
|
||||||
This smashes Atmosphere 1.3.2 on the switch, which is what I am currenty using.
|
This smashes Atmosphere 1.3.2 on the switch, which is what I am currenty using.
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/nixos/optional/nswitch-rcm.nix
|
#+begin_src nix :tangle modules/nixos/optional/nswitch-rcm.nix
|
||||||
{ pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.nswitch-rcm = lib.mkEnableOption "optional nswitch-rcm settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.nswitch-rcm {
|
||||||
services.nswitch-rcm = {
|
services.nswitch-rcm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.fetchurl {
|
package = pkgs.fetchurl {
|
||||||
|
|
@ -7979,6 +8110,7 @@ This smashes Atmosphere 1.3.2 on the switch, which is what I am currenty using.
|
||||||
hash = "sha256-5AXzNsny45SPLIrvWJA9/JlOCal5l6Y++Cm+RtlJppI=";
|
hash = "sha256-5AXzNsny45SPLIrvWJA9/JlOCal5l6Y++Cm+RtlJppI=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -8016,6 +8148,8 @@ Options that I need specifically at work. There are more options at [[#h:f0b2ea9
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.work = lib.mkEnableOption "optional work settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.work {
|
||||||
sops =
|
sops =
|
||||||
let
|
let
|
||||||
secretNames = [
|
secretNames = [
|
||||||
|
|
@ -8179,6 +8313,7 @@ Options that I need specifically at work. There are more options at [[#h:f0b2ea9
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
@ -10655,12 +10790,15 @@ Used for storing sessions in e.g. Nextcloud
|
||||||
This enables phone/computer communication, including sending clipboard, files etc. Sadly on Wayland many of the features are broken (like remote control).
|
This enables phone/computer communication, including sending clipboard, files etc. Sadly on Wayland many of the features are broken (like remote control).
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/home/common/kdeconnect.nix
|
#+begin_src nix :tangle modules/home/common/kdeconnect.nix
|
||||||
_:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.kdeconnect = lib.mkEnableOption "kdeconnect settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.kdeconnect {
|
||||||
services.kdeconnect = {
|
services.kdeconnect = {
|
||||||
enable = true;
|
enable = true;
|
||||||
indicator = true;
|
indicator = true;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
@ -10675,8 +10813,10 @@ Desktop notifications!
|
||||||
The `extraConfig` section here CANNOT be reindented. This has something to do with how nix handles multiline strings, when indented Mako will fail to start. This might be a mako bug as well.
|
The `extraConfig` section here CANNOT be reindented. This has something to do with how nix handles multiline strings, when indented Mako will fail to start. This might be a mako bug as well.
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/home/common/mako.nix
|
#+begin_src nix :tangle modules/home/common/mako.nix
|
||||||
_:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.mako = lib.mkEnableOption "mako settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.mako {
|
||||||
services.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# backgroundColor = "#2e3440";
|
# backgroundColor = "#2e3440";
|
||||||
|
|
@ -10705,12 +10845,23 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
||||||
group-by=category
|
group-by=category
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
***** SwayOSD
|
||||||
|
|
||||||
|
#+begin_src nix :tangle modules/home/common/swayosd.nix
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
options.swarselsystems.modules.swayosd = lib.mkEnableOption "swayosd settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.swayosd {
|
||||||
services.swayosd = {
|
services.swayosd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
topMargin = 0.5;
|
topMargin = 0.5;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -10720,8 +10871,10 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/home/common/yubikey-touch-detector.nix
|
#+begin_src nix :tangle modules/home/common/yubikey-touch-detector.nix
|
||||||
{ pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.yubikeytouch = lib.mkEnableOption "yubikey touch detector service settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.yubikeytouch {
|
||||||
systemd.user.services.yubikey-touch-detector = {
|
systemd.user.services.yubikey-touch-detector = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Detects when your YubiKey is waiting for a touch";
|
Description = "Detects when your YubiKey is waiting for a touch";
|
||||||
|
|
@ -10748,6 +10901,7 @@ The `extraConfig` section here CANNOT be reindented. This has something to do wi
|
||||||
WantedBy = [ "sockets.target" ];
|
WantedBy = [ "sockets.target" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -10764,6 +10918,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
||||||
{ self, config, lib, ... }:
|
{ self, config, lib, ... }:
|
||||||
{
|
{
|
||||||
options.swarselsystems = {
|
options.swarselsystems = {
|
||||||
|
modules.sway = lib.mkEnableOption "sway settings";
|
||||||
inputs = lib.mkOption {
|
inputs = lib.mkOption {
|
||||||
type = lib.types.attrsOf (lib.types.attrsOf lib.types.str);
|
type = lib.types.attrsOf (lib.types.attrsOf lib.types.str);
|
||||||
default = { };
|
default = { };
|
||||||
|
|
@ -10827,7 +10982,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
||||||
internal = true;
|
internal = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
config = {
|
config = lib.mkIf config.swarselsystems.modules.sway {
|
||||||
swarselsystems = {
|
swarselsystems = {
|
||||||
touchpad = lib.mkIf config.swarselsystems.isLaptop {
|
touchpad = lib.mkIf config.swarselsystems.isLaptop {
|
||||||
"type:touchpad" = {
|
"type:touchpad" = {
|
||||||
|
|
@ -11175,8 +11330,10 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
||||||
|
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/home/common/kanshi.nix
|
#+begin_src nix :tangle modules/home/common/kanshi.nix
|
||||||
{ config, ... }:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.kanshi = lib.mkEnableOption "kanshi settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.kanshi {
|
||||||
services.kanshi = {
|
services.kanshi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = [
|
settings = [
|
||||||
|
|
@ -11247,6 +11404,7 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -11258,11 +11416,13 @@ Currently, I am too lazy to explain every option here, but most of it is very se
|
||||||
Settinfs that are needed for the gpg-agent. Also we are enabling emacs support for unlocking my Yubikey here.
|
Settinfs that are needed for the gpg-agent. Also we are enabling emacs support for unlocking my Yubikey here.
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/home/common/gpg-agent.nix
|
#+begin_src nix :tangle modules/home/common/gpg-agent.nix
|
||||||
{ self, config, pkgs, ... }:
|
{ self, lib, config, pkgs, ... }:
|
||||||
let
|
let
|
||||||
inherit (config.swarselsystems) mainUser homeDir;
|
inherit (config.swarselsystems) mainUser homeDir;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.gpgagent = lib.mkEnableOption "gpg agent settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.gpgagent {
|
||||||
services.gpg-agent = {
|
services.gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
|
@ -11295,6 +11455,7 @@ Settinfs that are needed for the gpg-agent. Also we are enabling emacs support f
|
||||||
systemd.user.tmpfiles.rules = [
|
systemd.user.tmpfiles.rules = [
|
||||||
"d ${homeDir}/.gnupg 700 ${mainUser} users"
|
"d ${homeDir}/.gnupg 700 ${mainUser} users"
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
@ -11307,17 +11468,20 @@ Settinfs that are needed for the gpg-agent. Also we are enabling emacs support f
|
||||||
This service changes the screen hue at night. I am not sure if that really does something, but I like the color anyways.
|
This service changes the screen hue at night. I am not sure if that really does something, but I like the color anyways.
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/home/common/gammastep.nix
|
#+begin_src nix :tangle modules/home/common/gammastep.nix
|
||||||
{ lib, nix-secrets, ... }:
|
{ lib, config, nix-secrets, ... }:
|
||||||
let
|
let
|
||||||
secretsDirectory = builtins.toString nix-secrets;
|
secretsDirectory = builtins.toString nix-secrets;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.gammastep = lib.mkEnableOption "gammastep settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.gammastep {
|
||||||
services.gammastep = {
|
services.gammastep = {
|
||||||
enable = true;
|
enable = true;
|
||||||
provider = "manual";
|
provider = "manual";
|
||||||
latitude = lib.swarselsystems.getSecret "${secretsDirectory}/home/gammastep-latitude";
|
latitude = lib.swarselsystems.getSecret "${secretsDirectory}/home/gammastep-latitude";
|
||||||
longitude = lib.swarselsystems.getSecret "${secretsDirectory}/home/gammastep-longitude";
|
longitude = lib.swarselsystems.getSecret "${secretsDirectory}/home/gammastep-longitude";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -11357,14 +11521,17 @@ This section should be used in order to symlink already existing configuration f
|
||||||
As for the `home.sessionVariables`, it should be noted that environment variables that are needed at system start should NOT be loaded here, but instead in `programs.zsh.config.extraSessionCommands` (in the home-manager programs section). This is also where all the wayland related variables are stored.
|
As for the `home.sessionVariables`, it should be noted that environment variables that are needed at system start should NOT be loaded here, but instead in `programs.zsh.config.extraSessionCommands` (in the home-manager programs section). This is also where all the wayland related variables are stored.
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/home/server/symlink.nix
|
#+begin_src nix :tangle modules/home/server/symlink.nix
|
||||||
{ self, lib, ... }:
|
{ self, lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.server.dotfiles = lib.mkEnableOption "server dotfiles settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.server.dotfiles {
|
||||||
home.file = {
|
home.file = {
|
||||||
"init.el" = lib.mkForce {
|
"init.el" = lib.mkForce {
|
||||||
source = self + /programs/emacs/server.el;
|
source = self + /programs/emacs/server.el;
|
||||||
target = ".emacs.d/init.el";
|
target = ".emacs.d/init.el";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
|
@ -11408,8 +11575,10 @@ Akin to the optional NixOS modules.
|
||||||
The rest of the settings is at [[#h:fb3f3e01-7df4-4b06-9e91-aa9cac61a431][gaming]].
|
The rest of the settings is at [[#h:fb3f3e01-7df4-4b06-9e91-aa9cac61a431][gaming]].
|
||||||
|
|
||||||
#+begin_src nix :tangle modules/home/optional/gaming.nix
|
#+begin_src nix :tangle modules/home/optional/gaming.nix
|
||||||
{ pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.gaming = lib.mkEnableOption "optional gaming settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.gaming {
|
||||||
# specialisation = {
|
# specialisation = {
|
||||||
# gaming.configuration = {
|
# gaming.configuration = {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
@ -11442,6 +11611,7 @@ The rest of the settings is at [[#h:fb3f3e01-7df4-4b06-9e91-aa9cac61a431][gaming
|
||||||
];
|
];
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
@ -11463,6 +11633,8 @@ The rest of the settings is at [[#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf][work]]
|
||||||
wsUser = lib.swarselsystems.getSecret "${secretsDirectory}/work/ws-user";
|
wsUser = lib.swarselsystems.getSecret "${secretsDirectory}/work/ws-user";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.work = lib.mkEnableOption "optional work settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.work {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
stable.teams-for-linux
|
stable.teams-for-linux
|
||||||
shellcheck
|
shellcheck
|
||||||
|
|
@ -11765,6 +11937,7 @@ The rest of the settings is at [[#h:bbf2ecb6-c8ff-4462-b5d5-d45b28604ddf][work]]
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,10 @@ let
|
||||||
isBtrfs = true;
|
isBtrfs = true;
|
||||||
isLinux = true;
|
isLinux = true;
|
||||||
sharescreen = "eDP-2";
|
sharescreen = "eDP-2";
|
||||||
profiles.personal = true;
|
profiles = {
|
||||||
|
personal = true;
|
||||||
|
work = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
@ -25,11 +28,13 @@ in
|
||||||
"${modulesPath}/nixos/optional/gaming.nix"
|
"${modulesPath}/nixos/optional/gaming.nix"
|
||||||
"${modulesPath}/nixos/optional/work.nix"
|
"${modulesPath}/nixos/optional/work.nix"
|
||||||
"${self}/profiles/nixos"
|
"${self}/profiles/nixos"
|
||||||
|
"${modulesPath}/nixos/server"
|
||||||
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.users."${primaryUser}".imports = [
|
home-manager.users."${primaryUser}".imports = [
|
||||||
"${self}/profiles/home"
|
"${self}/profiles/home"
|
||||||
|
"${modulesPath}/home/server"
|
||||||
"${modulesPath}/home/optional/gaming.nix"
|
"${modulesPath}/home/optional/gaming.nix"
|
||||||
"${modulesPath}/home/optional/work.nix"
|
"${modulesPath}/home/optional/work.nix"
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,15 @@
|
||||||
{ lib, nix-secrets, ... }:
|
{ lib, config, nix-secrets, ... }:
|
||||||
let
|
let
|
||||||
secretsDirectory = builtins.toString nix-secrets;
|
secretsDirectory = builtins.toString nix-secrets;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.gammastep = lib.mkEnableOption "gammastep settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.gammastep {
|
||||||
services.gammastep = {
|
services.gammastep = {
|
||||||
enable = true;
|
enable = true;
|
||||||
provider = "manual";
|
provider = "manual";
|
||||||
latitude = lib.swarselsystems.getSecret "${secretsDirectory}/home/gammastep-latitude";
|
latitude = lib.swarselsystems.getSecret "${secretsDirectory}/home/gammastep-latitude";
|
||||||
longitude = lib.swarselsystems.getSecret "${secretsDirectory}/home/gammastep-longitude";
|
longitude = lib.swarselsystems.getSecret "${secretsDirectory}/home/gammastep-longitude";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,10 @@
|
||||||
{ self, config, pkgs, ... }:
|
{ self, lib, config, pkgs, ... }:
|
||||||
let
|
let
|
||||||
inherit (config.swarselsystems) mainUser homeDir;
|
inherit (config.swarselsystems) mainUser homeDir;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.gpgagent = lib.mkEnableOption "gpg agent settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.gpgagent {
|
||||||
services.gpg-agent = {
|
services.gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
|
@ -35,5 +37,6 @@ in
|
||||||
systemd.user.tmpfiles.rules = [
|
systemd.user.tmpfiles.rules = [
|
||||||
"d ${homeDir}/.gnupg 700 ${mainUser} users"
|
"d ${homeDir}/.gnupg 700 ${mainUser} users"
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ config, ... }:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.kanshi = lib.mkEnableOption "kanshi settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.kanshi {
|
||||||
services.kanshi = {
|
services.kanshi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = [
|
settings = [
|
||||||
|
|
@ -70,4 +72,5 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
_:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.kdeconnect = lib.mkEnableOption "kdeconnect settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.kdeconnect {
|
||||||
services.kdeconnect = {
|
services.kdeconnect = {
|
||||||
enable = true;
|
enable = true;
|
||||||
indicator = true;
|
indicator = true;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
_:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.mako = lib.mkEnableOption "mako settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.mako {
|
||||||
services.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# backgroundColor = "#2e3440";
|
# backgroundColor = "#2e3440";
|
||||||
|
|
@ -28,10 +30,6 @@ _:
|
||||||
group-by=category
|
group-by=category
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
services.swayosd = {
|
|
||||||
enable = true;
|
|
||||||
topMargin = 0.5;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
{ self, config, lib, ... }:
|
{ self, config, lib, ... }:
|
||||||
{
|
{
|
||||||
options.swarselsystems = {
|
options.swarselsystems = {
|
||||||
|
modules.sway = lib.mkEnableOption "sway settings";
|
||||||
inputs = lib.mkOption {
|
inputs = lib.mkOption {
|
||||||
type = lib.types.attrsOf (lib.types.attrsOf lib.types.str);
|
type = lib.types.attrsOf (lib.types.attrsOf lib.types.str);
|
||||||
default = { };
|
default = { };
|
||||||
|
|
@ -64,7 +65,7 @@
|
||||||
internal = true;
|
internal = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
config = {
|
config = lib.mkIf config.swarselsystems.modules.sway {
|
||||||
swarselsystems = {
|
swarselsystems = {
|
||||||
touchpad = lib.mkIf config.swarselsystems.isLaptop {
|
touchpad = lib.mkIf config.swarselsystems.isLaptop {
|
||||||
"type:touchpad" = {
|
"type:touchpad" = {
|
||||||
|
|
|
||||||
10
modules/home/common/swayosd.nix
Normal file
10
modules/home/common/swayosd.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
options.swarselsystems.modules.swayosd = lib.mkEnableOption "swayosd settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.swayosd {
|
||||||
|
services.swayosd = {
|
||||||
|
enable = true;
|
||||||
|
topMargin = 0.5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.yubikeytouch = lib.mkEnableOption "yubikey touch detector service settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.yubikeytouch {
|
||||||
systemd.user.services.yubikey-touch-detector = {
|
systemd.user.services.yubikey-touch-detector = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Detects when your YubiKey is waiting for a touch";
|
Description = "Detects when your YubiKey is waiting for a touch";
|
||||||
|
|
@ -26,4 +28,5 @@
|
||||||
WantedBy = [ "sockets.target" ];
|
WantedBy = [ "sockets.target" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.gaming = lib.mkEnableOption "optional gaming settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.gaming {
|
||||||
# specialisation = {
|
# specialisation = {
|
||||||
# gaming.configuration = {
|
# gaming.configuration = {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
@ -32,4 +34,5 @@
|
||||||
];
|
];
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ let
|
||||||
wsUser = lib.swarselsystems.getSecret "${secretsDirectory}/work/ws-user";
|
wsUser = lib.swarselsystems.getSecret "${secretsDirectory}/work/ws-user";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.work = lib.mkEnableOption "optional work settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.work {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
stable.teams-for-linux
|
stable.teams-for-linux
|
||||||
shellcheck
|
shellcheck
|
||||||
|
|
@ -309,5 +311,6 @@ in
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
{ self, lib, ... }:
|
{ self, lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.server.dotfiles = lib.mkEnableOption "server dotfiles settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.server.dotfiles {
|
||||||
home.file = {
|
home.file = {
|
||||||
"init.el" = lib.mkForce {
|
"init.el" = lib.mkForce {
|
||||||
source = self + /programs/emacs/server.el;
|
source = self + /programs/emacs/server.el;
|
||||||
target = ".emacs.d/init.el";
|
target = ".emacs.d/init.el";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
{ config, ... }:
|
{ lib, config, ... }:
|
||||||
let
|
let
|
||||||
inherit (config.swarselsystems) mainUser;
|
inherit (config.swarselsystems) mainUser;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.autologin = lib.mkEnableOption "optional autologin settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.autologin {
|
||||||
services = {
|
services = {
|
||||||
getty.autologinUser = mainUser;
|
getty.autologinUser = mainUser;
|
||||||
greetd.settings.initial_session.user = mainUser;
|
greetd.settings.initial_session.user = mainUser;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.gaming = lib.mkEnableOption "optional gaming settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.gaming {
|
||||||
specialisation = {
|
specialisation = {
|
||||||
gaming.configuration = {
|
gaming.configuration = {
|
||||||
networking = {
|
networking = {
|
||||||
|
|
@ -33,5 +35,6 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.nswitch-rcm = lib.mkEnableOption "optional nswitch-rcm settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.nswitch-rcm {
|
||||||
services.nswitch-rcm = {
|
services.nswitch-rcm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.fetchurl {
|
package = pkgs.fetchurl {
|
||||||
|
|
@ -7,4 +9,5 @@
|
||||||
hash = "sha256-5AXzNsny45SPLIrvWJA9/JlOCal5l6Y++Cm+RtlJppI=";
|
hash = "sha256-5AXzNsny45SPLIrvWJA9/JlOCal5l6Y++Cm+RtlJppI=";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
{ lib, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.virtualbox = lib.mkEnableOption "optional VBox settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.virtualbox {
|
||||||
specialisation = {
|
specialisation = {
|
||||||
VBox.configuration = {
|
VBox.configuration = {
|
||||||
virtualisation.virtualbox = {
|
virtualisation.virtualbox = {
|
||||||
|
|
@ -17,5 +18,6 @@
|
||||||
boot.kernelPackages = lib.mkForce pkgs.linuxPackages;
|
boot.kernelPackages = lib.mkForce pkgs.linuxPackages;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
_:
|
{ lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
|
options.swarselsystems.modules.optional.vmware = lib.mkEnableOption "optional vmware settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.vmware {
|
||||||
virtualisation.vmware.host.enable = true;
|
virtualisation.vmware.host.enable = true;
|
||||||
virtualisation.vmware.guest.enable = true;
|
virtualisation.vmware.guest.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,8 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.modules.optional.work = lib.mkEnableOption "optional work settings";
|
||||||
|
config = lib.mkIf config.swarselsystems.modules.optional.work {
|
||||||
sops =
|
sops =
|
||||||
let
|
let
|
||||||
secretNames = [
|
secretNames = [
|
||||||
|
|
@ -187,5 +189,6 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.server.nfs = lib.mkEnableOption "enable nfs on server";
|
||||||
|
config = lib.mkIf config.swarselsystems.server.nfs {
|
||||||
services = {
|
services = {
|
||||||
# add a user with sudo smbpasswd -a <user>
|
# add a user with sudo smbpasswd -a <user>
|
||||||
samba = {
|
samba = {
|
||||||
|
|
@ -46,4 +48,5 @@
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.server.nginx = lib.mkEnableOption "enable nginx on server";
|
||||||
|
config = lib.mkIf config.swarselsystems.server.nginx {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
lego
|
lego
|
||||||
];
|
];
|
||||||
|
|
@ -33,5 +35,5 @@
|
||||||
recommendedGzipSettings = true;
|
recommendedGzipSettings = true;
|
||||||
# virtualHosts are defined in the respective sections
|
# virtualHosts are defined in the respective sections
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.server.packages = lib.mkEnableOption "enable packages on server";
|
||||||
|
config = lib.mkIf config.swarselsystems.server.packages {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gnupg
|
gnupg
|
||||||
nix-index
|
nix-index
|
||||||
|
|
@ -8,4 +10,5 @@
|
||||||
emacs
|
emacs
|
||||||
vim
|
vim
|
||||||
];
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,13 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.swarselsystems = {
|
options.swarselsystems = {
|
||||||
|
server.general = lib.mkEnableOption "general setting on server";
|
||||||
shellAliases = lib.mkOption {
|
shellAliases = lib.mkOption {
|
||||||
type = lib.types.attrsOf lib.types.str;
|
type = lib.types.attrsOf lib.types.str;
|
||||||
default = { };
|
default = { };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
config = {
|
config = lib.mkIf config.swarselsystems.server.general {
|
||||||
environment.shellAliases = lib.recursiveUpdate
|
environment.shellAliases = lib.recursiveUpdate
|
||||||
{
|
{
|
||||||
npswitch = "cd ${flakePath}; git pull; sudo nixos-rebuild --flake .#$(hostname) switch; cd -;";
|
npswitch = "cd ${flakePath}; git pull; sudo nixos-rebuild --flake .#$(hostname) switch; cd -;";
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.server.sops = lib.mkEnableOption "enable sops on server";
|
||||||
|
config = lib.mkIf config.swarselsystems.server.sops {
|
||||||
sops = {
|
sops = {
|
||||||
age.sshKeyPaths = lib.mkDefault [ "/etc/ssh/sops" ];
|
age.sshKeyPaths = lib.mkDefault [ "/etc/ssh/sops" ];
|
||||||
defaultSopsFile = lib.mkDefault "${config.swarselsystems.flakePath}/secrets/winters/secrets.yaml";
|
defaultSopsFile = lib.mkDefault "${config.swarselsystems.flakePath}/secrets/winters/secrets.yaml";
|
||||||
validateSopsFiles = false;
|
validateSopsFiles = false;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
{ self, config, ... }:
|
{ self, lib, config, ... }:
|
||||||
{
|
{
|
||||||
|
options.swarselsystems.server.ssh = lib.mkEnableOption "enable ssh on server";
|
||||||
|
config = lib.mkIf config.swarselsystems.server.ssh {
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
@ -14,5 +16,5 @@
|
||||||
security.sudo.extraConfig = ''
|
security.sudo.extraConfig = ''
|
||||||
Defaults env_keep+=SSH_AUTH_SOCK
|
Defaults env_keep+=SSH_AUTH_SOCK
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
10
profiles/home/darwin/default.nix
Normal file
10
profiles/home/darwin/default.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
options.swarselsystems.profiles.darwin = lib.mkEnableOption "is this a darwin host";
|
||||||
|
config = lib.mkIf config.swarselsystems.profiles.darwin {
|
||||||
|
swarselsystems.modules = {
|
||||||
|
general = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
13
profiles/home/localserver/default.nix
Normal file
13
profiles/home/localserver/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
options.swarselsystems.profiles.server.local = lib.mkEnableOption "is this a local server";
|
||||||
|
config = lib.mkIf config.swarselsystems.profiles.server.local {
|
||||||
|
swarselsystems.modules = {
|
||||||
|
general = lib.mkDefault true;
|
||||||
|
server = {
|
||||||
|
dotfiles = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -30,6 +30,18 @@
|
||||||
waybar = lib.mkDefault true;
|
waybar = lib.mkDefault true;
|
||||||
firefox = lib.mkDefault true;
|
firefox = lib.mkDefault true;
|
||||||
gnome-keyring = lib.mkDefault true;
|
gnome-keyring = lib.mkDefault true;
|
||||||
|
kdeconnect = lib.mkDefault true;
|
||||||
|
mako = lib.mkDefault true;
|
||||||
|
swayosd = lib.mkDefault true;
|
||||||
|
yubikeytouch = lib.mkDefault true;
|
||||||
|
sway = lib.mkDefault true;
|
||||||
|
kanshi = lib.mkDefault true;
|
||||||
|
gpgagent = lib.mkDefault true;
|
||||||
|
gammastep = lib.mkDefault true;
|
||||||
|
|
||||||
|
optional = {
|
||||||
|
gaming = lib.mkDefault true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
12
profiles/home/work/default.nix
Normal file
12
profiles/home/work/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
options.swarselsystems.profiles.work = lib.mkEnableOption "is this a work host";
|
||||||
|
config = lib.mkIf config.swarselsystems.profiles.work {
|
||||||
|
swarselsystems.modules = {
|
||||||
|
optional = {
|
||||||
|
work = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
options.swarselsystems.profiles.server.local = lib.mkEnableOption "is this a local server";
|
options.swarselsystems.profiles.server.local = lib.mkEnableOption "is this a local server";
|
||||||
config = lib.mkIf config.swarselsystems.profiles.server.local {
|
config = lib.mkIf config.swarselsystems.profiles.server.local {
|
||||||
swarselsystems = {
|
swarselsystems = {
|
||||||
# common modules
|
|
||||||
modules = {
|
modules = {
|
||||||
nix-ld = lib.mkDefault true;
|
nix-ld = lib.mkDefault true;
|
||||||
home-manager = lib.mkDefault true;
|
home-manager = lib.mkDefault true;
|
||||||
|
|
@ -14,23 +13,29 @@
|
||||||
time = lib.mkDefault true;
|
time = lib.mkDefault true;
|
||||||
users = lib.mkDefault true;
|
users = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
# server modules
|
server = {
|
||||||
# server = {
|
general = lib.mkDefault true;
|
||||||
# kavita = lib.mkDefault true;
|
packages = lib.mkDefault true;
|
||||||
# jellyfin = lib.mkDefault true;
|
sops = lib.mkDefault true;
|
||||||
# navidrome = lib.mkDefault true;
|
nfs = lib.mkDefault true;
|
||||||
# spotifyd = lib.mkDefault true;
|
nginx = lib.mkDefault true;
|
||||||
# mpd = lib.mkDefault true;
|
ssh = lib.mkDefault true;
|
||||||
# matrix = lib.mkDefault true;
|
kavita = lib.mkDefault true;
|
||||||
# nextcloud = lib.mkDefault true;
|
jellyfin = lib.mkDefault true;
|
||||||
# immich = lib.mkDefault true;
|
navidrome = lib.mkDefault true;
|
||||||
# paperless = lib.mkDefault true;
|
spotifyd = lib.mkDefault true;
|
||||||
# transmission = lib.mkDefault true;
|
mpd = lib.mkDefault true;
|
||||||
# syncthing = lib.mkDefault true;
|
matrix = lib.mkDefault true;
|
||||||
# monitoring = lib.mkDefault true;
|
nextcloud = lib.mkDefault true;
|
||||||
# emacs = lib.mkDefault true;
|
immich = lib.mkDefault true;
|
||||||
# freshrss = lib.mkDefault true;
|
paperless = lib.mkDefault true;
|
||||||
# };
|
transmission = lib.mkDefault true;
|
||||||
|
syncthing = lib.mkDefault true;
|
||||||
|
monitoring = lib.mkDefault true;
|
||||||
|
emacs = lib.mkDefault true;
|
||||||
|
freshrss = lib.mkDefault true;
|
||||||
|
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,13 @@
|
||||||
lid = lib.mkDefault true;
|
lid = lib.mkDefault true;
|
||||||
lowBattery = lib.mkDefault true;
|
lowBattery = lib.mkDefault true;
|
||||||
lanzaboote = lib.mkDefault true;
|
lanzaboote = lib.mkDefault true;
|
||||||
|
|
||||||
|
optional = {
|
||||||
|
gaming = lib.mkDefault true;
|
||||||
|
virtualbox = lib.mkDefault true;
|
||||||
|
autologin = lib.mkDefault true;
|
||||||
|
nswitch-rcm = lib.mkDefault true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@
|
||||||
options.swarselsystems.profiles.server.sync = lib.mkEnableOption "is this a oci sync server";
|
options.swarselsystems.profiles.server.sync = lib.mkEnableOption "is this a oci sync server";
|
||||||
config = lib.mkIf config.swarselsystems.profiles.server.sync {
|
config = lib.mkIf config.swarselsystems.profiles.server.sync {
|
||||||
swarselsystems = {
|
swarselsystems = {
|
||||||
# common modules
|
|
||||||
modules = {
|
modules = {
|
||||||
nix-ld = lib.mkDefault true;
|
nix-ld = lib.mkDefault true;
|
||||||
home-manager = lib.mkDefault true;
|
home-manager = lib.mkDefault true;
|
||||||
|
|
@ -14,11 +13,16 @@
|
||||||
time = lib.mkDefault true;
|
time = lib.mkDefault true;
|
||||||
users = lib.mkDefault true;
|
users = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
# server modules
|
server = {
|
||||||
# server = {
|
general = lib.mkDefault true;
|
||||||
# forgejo = lib.mkDefault true;
|
packages = lib.mkDefault true;
|
||||||
# ankisync = lib.mkDefault true;
|
sops = lib.mkDefault true;
|
||||||
# };
|
nfs = lib.mkDefault true;
|
||||||
|
nginx = lib.mkDefault true;
|
||||||
|
ssh = lib.mkDefault true;
|
||||||
|
forgejo = lib.mkDefault true;
|
||||||
|
ankisync = lib.mkDefault true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
13
profiles/nixos/work/default.nix
Normal file
13
profiles/nixos/work/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
{
|
||||||
|
options.swarselsystems.profiles.work = lib.mkEnableOption "is this a work host";
|
||||||
|
config = lib.mkIf config.swarselsystems.profiles.work {
|
||||||
|
swarselsystems.modules = {
|
||||||
|
optional = {
|
||||||
|
work = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -103,8 +103,8 @@ in
|
||||||
format_center ""
|
format_center ""
|
||||||
format_right "#[bg=#${colors.base00},fg=#${colors.base02}]#[bg=#${colors.base02},fg=#${colors.base01},bold] #[bg=#${colors.base02},fg=#${colors.base01},bold] {session} #[bg=#${colors.base02},fg=#${colors.base01},bold]"
|
format_right "#[bg=#${colors.base00},fg=#${colors.base02}]#[bg=#${colors.base02},fg=#${colors.base01},bold] #[bg=#${colors.base02},fg=#${colors.base01},bold] {session} #[bg=#${colors.base02},fg=#${colors.base01},bold]"
|
||||||
format_space ""
|
format_space ""
|
||||||
format_hide_on_overlength "true"
|
format_hide_on_overlength "false"
|
||||||
format_precedence "crl"
|
format_precedence "lcr"
|
||||||
|
|
||||||
border_enabled "false"
|
border_enabled "false"
|
||||||
border_char "─"
|
border_char "─"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue