Compare commits
4 commits
2b4ad99e25
...
64572cb106
Author | SHA1 | Date | |
---|---|---|---|
![]() |
64572cb106 | ||
![]() |
0814b03d1f | ||
![]() |
7b29b69fd1 | ||
![]() |
233cab07dd |
|
@ -62,6 +62,6 @@ This defines flake-based development environment templates for projects written
|
||||||
This defines the core of the NixOS configuration using helper functions from `lib/`, which is organized as a flake-parts-based structure for better modularity:
|
This defines the core of the NixOS configuration using helper functions from `lib/`, which is organized as a flake-parts-based structure for better modularity:
|
||||||
|
|
||||||
1. `inputs`: Declares all external dependencies including, such as core Nix components (`nixpkgs`, `flake-parts`, `systems`) and user environment components (`home-manager`, `sops-nix`).
|
1. `inputs`: Declares all external dependencies including, such as core Nix components (`nixpkgs`, `flake-parts`, `systems`) and user environment components (`home-manager`, `sops-nix`).
|
||||||
2. `outputs`: Uses flake-parts to organize system configurations for multiple machines (`mars`, `venus`, `deimos`, `charon`, and `ceres`) and shared modules (`core`, `mantle`, `crust`) imported across systems.
|
2. `outputs`: Uses flake-parts to organize system configurations for multiple machines (`mars`, `deimos`, `phobos` and `ceres`) and shared modules (`core`, `mantle`, `crust`) imported across systems.
|
||||||
|
|
||||||
Each system imports specialized modules and user profiles based on its intended purpose and users, creating a flexible but consistent configuration framework across multiple machines.
|
Each system imports specialized modules and user profiles based on its intended purpose and users, creating a flexible but consistent configuration framework across multiple machines.
|
||||||
|
|
23
flake.nix
|
@ -81,7 +81,6 @@
|
||||||
./systems/mars
|
./systems/mars
|
||||||
./profiles/user0
|
./profiles/user0
|
||||||
./profiles/user1
|
./profiles/user1
|
||||||
./profiles/user3
|
|
||||||
config.nixosModules.mars
|
config.nixosModules.mars
|
||||||
config.nixosModules.core
|
config.nixosModules.core
|
||||||
config.nixosModules.mantle
|
config.nixosModules.mantle
|
||||||
|
@ -93,22 +92,9 @@
|
||||||
inputs.nur.modules.nixos.default
|
inputs.nur.modules.nixos.default
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
];
|
];
|
||||||
venus = inputs.self.lib.mkLinuxSystem [
|
|
||||||
./systems/venus
|
|
||||||
./profiles/user2
|
|
||||||
config.nixosModules.venus
|
|
||||||
config.nixosModules.core
|
|
||||||
config.nixosModules.mantle
|
|
||||||
config.nixosModules.crust
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
inputs.lix-module.nixosModules.default
|
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
];
|
|
||||||
deimos = inputs.self.lib.mkLinuxSystem [
|
deimos = inputs.self.lib.mkLinuxSystem [
|
||||||
./systems/deimos
|
./systems/deimos
|
||||||
./profiles/user0
|
./profiles/user0
|
||||||
./profiles/user1
|
|
||||||
./profiles/user2
|
|
||||||
config.nixosModules.deimos
|
config.nixosModules.deimos
|
||||||
config.nixosModules.core
|
config.nixosModules.core
|
||||||
config.nixosModules.mantle
|
config.nixosModules.mantle
|
||||||
|
@ -131,15 +117,6 @@
|
||||||
inputs.nur.modules.nixos.default
|
inputs.nur.modules.nixos.default
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
];
|
];
|
||||||
charon = inputs.self.lib.mkLinuxSystem [
|
|
||||||
./systems/charon
|
|
||||||
./profiles/user1
|
|
||||||
config.nixosModules.charon
|
|
||||||
config.nixosModules.core
|
|
||||||
config.nixosModules.crust
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
inputs.lix-module.nixosModules.default
|
|
||||||
];
|
|
||||||
ceres = inputs.self.lib.mkLinuxSystem [
|
ceres = inputs.self.lib.mkLinuxSystem [
|
||||||
./systems/ceres
|
./systems/ceres
|
||||||
./profiles/user0
|
./profiles/user0
|
||||||
|
|
|
@ -96,19 +96,19 @@ let
|
||||||
|
|
||||||
themesSubmodule = lib.types.submodule {
|
themesSubmodule = lib.types.submodule {
|
||||||
options = {
|
options = {
|
||||||
currentTheme = genOptions stringType "theme";
|
currentTheme = stringType;
|
||||||
windowManager = {
|
windowManager = {
|
||||||
gaps = intType;
|
gaps = intType;
|
||||||
borders = intType;
|
borders = intType;
|
||||||
rounding = intType;
|
rounding = intType;
|
||||||
};
|
};
|
||||||
fonts = {
|
fonts = {
|
||||||
names = genOptions stringType "name";
|
name = stringType;
|
||||||
sizes = {
|
sizes = {
|
||||||
applications = genOptions intType "size";
|
applications = intType;
|
||||||
desktop = genOptions intType "size";
|
desktop = intType;
|
||||||
popups = genOptions intType "size";
|
popups = intType;
|
||||||
terminal = genOptions intType "size";
|
terminal = intType;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
cursor = {
|
cursor = {
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
{ devicesFunctions }:
|
|
||||||
let
|
|
||||||
inherit (devicesFunctions)
|
|
||||||
ownerExclusiveReadWriteMask
|
|
||||||
charonIP
|
|
||||||
;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
label = "Charon";
|
|
||||||
name = "charon";
|
|
||||||
sync = {
|
|
||||||
address0 = "";
|
|
||||||
};
|
|
||||||
ip = {
|
|
||||||
address0 = charonIP;
|
|
||||||
};
|
|
||||||
boot = {
|
|
||||||
options = ownerExclusiveReadWriteMask;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -10,7 +10,6 @@ in
|
||||||
label = dummy;
|
label = dummy;
|
||||||
sync = {
|
sync = {
|
||||||
address0 = "RMDKNJY-BTX6FYF-G6SR332-WS6HARI-PF74SC6-VPBSGRQ-MKVQZEQ-KSIB6QV"; # User0
|
address0 = "RMDKNJY-BTX6FYF-G6SR332-WS6HARI-PF74SC6-VPBSGRQ-MKVQZEQ-KSIB6QV"; # User0
|
||||||
address1 = "RUKSHY4-UCBYRVG-CVYFCMU-M3NLA3Q-JINRF5V-YPR5W32-TEIBJN6-DNQRCAR"; # User2
|
|
||||||
};
|
};
|
||||||
ip = {
|
ip = {
|
||||||
address0 = phoneIP;
|
address0 = phoneIP;
|
||||||
|
|
|
@ -4,23 +4,18 @@ let
|
||||||
sambaPermissions
|
sambaPermissions
|
||||||
userIdForUser0
|
userIdForUser0
|
||||||
userIdForUser1
|
userIdForUser1
|
||||||
userIdForUser3
|
|
||||||
synologyIP
|
synologyIP
|
||||||
;
|
;
|
||||||
|
|
||||||
user0 = "nick";
|
user0 = "nick";
|
||||||
user1 = "garnet";
|
user1 = "streaming";
|
||||||
user3 = "streaming";
|
|
||||||
user0Name = "Nick";
|
user0Name = "Nick";
|
||||||
user1Name = "Garnet";
|
|
||||||
user3Name = "Streaming";
|
|
||||||
synologyName = "synology";
|
synologyName = "synology";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
label = "Synology";
|
label = "Synology";
|
||||||
sync = {
|
sync = {
|
||||||
address0 = "MWRGX2V-F5XKE5E-REP6ECT-OOPFBMF-22NHSMW-YFBU6MB-PLFUN63-R3MW2QX"; # User0
|
address0 = "MWRGX2V-F5XKE5E-REP6ECT-OOPFBMF-22NHSMW-YFBU6MB-PLFUN63-R3MW2QX"; # User0
|
||||||
address1 = ""; # User2
|
|
||||||
};
|
};
|
||||||
name = synologyName;
|
name = synologyName;
|
||||||
ip = {
|
ip = {
|
||||||
|
@ -32,22 +27,10 @@ in
|
||||||
device = "//${synologyIP}/homes/${user0Name}";
|
device = "//${synologyIP}/homes/${user0Name}";
|
||||||
options = sambaPermissions ++ userIdForUser0;
|
options = sambaPermissions ++ userIdForUser0;
|
||||||
};
|
};
|
||||||
# Garnet Home Folder
|
# Streaming Folder
|
||||||
folder1 = {
|
folder1 = {
|
||||||
mount = "/mnt/media/${synologyName}/${user1}";
|
mount = "/mnt/media/${synologyName}/${user1}";
|
||||||
device = "//${synologyIP}/homes/${user1Name}";
|
|
||||||
options = sambaPermissions ++ userIdForUser1;
|
|
||||||
};
|
|
||||||
# Minecraft Worlds
|
|
||||||
folder2 = {
|
|
||||||
mount = "/home/${user1}/.local/share/PrismLauncher/instances/1.21/.minecraft/saves";
|
|
||||||
device = "//${synologyIP}/homes/${user1Name}/Minecraft";
|
|
||||||
options = sambaPermissions ++ userIdForUser1;
|
|
||||||
};
|
|
||||||
# Streaming Folder
|
|
||||||
folder3 = {
|
|
||||||
mount = "/mnt/media/${synologyName}/${user3}";
|
|
||||||
device = "//${synologyIP}/homes/${user0Name}";
|
device = "//${synologyIP}/homes/${user0Name}";
|
||||||
options = sambaPermissions ++ userIdForUser3;
|
options = sambaPermissions ++ userIdForUser1;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
{ devicesFunctions }:
|
|
||||||
let
|
|
||||||
inherit (devicesFunctions)
|
|
||||||
readWritePermissions
|
|
||||||
venusIP
|
|
||||||
;
|
|
||||||
drivePath = "/run/media";
|
|
||||||
byLabel = "/dev/disk/by-label";
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
label = "Venus";
|
|
||||||
name = "venus";
|
|
||||||
ip = {
|
|
||||||
address0 = venusIP;
|
|
||||||
};
|
|
||||||
boot = {
|
|
||||||
options = [
|
|
||||||
"fmask=0022"
|
|
||||||
"dmask=0022"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
storage0 = {
|
|
||||||
mount = "${drivePath}/games";
|
|
||||||
device = "${byLabel}/Games";
|
|
||||||
options = readWritePermissions;
|
|
||||||
};
|
|
||||||
storage1 = {
|
|
||||||
mount = "${drivePath}/entertainment";
|
|
||||||
device = "${byLabel}/Entertainment";
|
|
||||||
options = readWritePermissions;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -38,22 +38,17 @@ let
|
||||||
"uid=1000"
|
"uid=1000"
|
||||||
];
|
];
|
||||||
userIdForUser1 = [
|
userIdForUser1 = [
|
||||||
"uid=1001"
|
|
||||||
];
|
|
||||||
userIdForUser3 = [
|
|
||||||
"uid=1002"
|
"uid=1002"
|
||||||
];
|
];
|
||||||
dummy = [
|
dummy = [
|
||||||
];
|
];
|
||||||
ceresStorageDriveName = "NAS1";
|
ceresStorageDriveName = "NAS1";
|
||||||
ceresIP = "192.168.50.140";
|
ceresIP = "192.168.50.140";
|
||||||
charonIP = "192.168.50.42";
|
|
||||||
deimosIP = "192.168.50.142";
|
deimosIP = "192.168.50.142";
|
||||||
marsIP = "192.168.50.218";
|
marsIP = "192.168.50.218";
|
||||||
phoneIP = "192.168.50.243";
|
phoneIP = "192.168.50.243";
|
||||||
phobosIP = "192.168.50.180";
|
phobosIP = "192.168.50.180";
|
||||||
synologyIP = "192.168.50.210";
|
synologyIP = "192.168.50.210";
|
||||||
venusIP = "192.168.58.104";
|
|
||||||
brotherIP = "192.168.50.195";
|
brotherIP = "192.168.50.195";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
let
|
let
|
||||||
currentTheme0 = catppuccin-macchiato; # User0 Theme
|
currentTheme0 = catppuccin-macchiato;
|
||||||
currentTheme1 = catppuccin-mocha; # User1 Theme
|
|
||||||
currentTheme2 = catppuccin-mocha; # User2 Theme
|
|
||||||
|
|
||||||
brogrammer = "brogrammer";
|
brogrammer = "brogrammer";
|
||||||
catppuccin-frappe = "catppuccin-frappe";
|
catppuccin-frappe = "catppuccin-frappe";
|
||||||
|
@ -29,42 +27,18 @@ in
|
||||||
borders = 3;
|
borders = 3;
|
||||||
rounding = 20;
|
rounding = 20;
|
||||||
};
|
};
|
||||||
currentTheme = {
|
currentTheme = currentTheme0;
|
||||||
theme0 = currentTheme0; # User0 Theme
|
|
||||||
theme1 = currentTheme1; # User1 Theme
|
|
||||||
theme2 = currentTheme2; # User2 Theme
|
|
||||||
};
|
|
||||||
cursor = {
|
cursor = {
|
||||||
name = "";
|
name = "";
|
||||||
size = 18;
|
size = 18;
|
||||||
};
|
};
|
||||||
fonts = {
|
fonts = {
|
||||||
names = {
|
name = "MonaspiceRn Nerd Font";
|
||||||
name0 = "MonaspiceRn Nerd Font"; # User0 Font
|
|
||||||
name1 = ""; # User1 Font
|
|
||||||
name2 = ""; # User2 Font
|
|
||||||
};
|
|
||||||
sizes = {
|
sizes = {
|
||||||
applications = {
|
applications = 14;
|
||||||
size0 = 14; # User0 Size
|
desktop = 12;
|
||||||
size1 = 14; # User1 Size
|
popups = 10;
|
||||||
size2 = 14; # User2 Size
|
terminal = 10;
|
||||||
};
|
|
||||||
desktop = {
|
|
||||||
size0 = 12; # User0 Size
|
|
||||||
size1 = 12; # User1 Size
|
|
||||||
size2 = 12; # User2 Size
|
|
||||||
};
|
|
||||||
popups = {
|
|
||||||
size0 = 10; # User0 Size
|
|
||||||
size1 = 10; # User1 Size
|
|
||||||
size2 = 10; # User2 Size
|
|
||||||
};
|
|
||||||
terminal = {
|
|
||||||
size0 = 10; # User0 Size
|
|
||||||
size1 = 10; # User1 Size
|
|
||||||
size2 = 10; # User2 Size
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
palettes =
|
palettes =
|
||||||
|
@ -91,7 +65,6 @@ in
|
||||||
${one-dark} = import (palettePath + onePath + /dark);
|
${one-dark} = import (palettePath + onePath + /dark);
|
||||||
${one-light} = import (palettePath + onePath + /light);
|
${one-light} = import (palettePath + onePath + /light);
|
||||||
${sparky} = import (palettePath + /sparky);
|
${sparky} = import (palettePath + /sparky);
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,11 +5,16 @@ let
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
name = "Garnet";
|
name = "Streaming";
|
||||||
|
aliases = {
|
||||||
|
};
|
||||||
email = {
|
email = {
|
||||||
address0 = "ninaeffler@gmail.com";
|
address0 = "nick@upRootNutrition.com";
|
||||||
};
|
};
|
||||||
paths = {
|
paths = {
|
||||||
path0 = "/home/${user1}/Files/Projects"; # Git path
|
path0 = "/home/${user1}/Files/Projects"; # Git path
|
||||||
};
|
};
|
||||||
|
sshKeys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBF9TmImDoYDpsW5VMFbOcuK3aH4TWRtx/xGxT3yUtEN nick@desktop"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
{ user2 }:
|
|
||||||
let
|
|
||||||
inherit
|
|
||||||
user2
|
|
||||||
;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
name = "Stacie";
|
|
||||||
email = {
|
|
||||||
address0 = "staciesimonson@gmail.com";
|
|
||||||
};
|
|
||||||
paths = {
|
|
||||||
path0 = "/home/${user2}"; # Git path
|
|
||||||
};
|
|
||||||
sshKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILQQDw0NigCC76G/GlHWIMunckaBmfgqbfJXFGWB+8fe stacie@desktop"
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
{ user3 }:
|
|
||||||
let
|
|
||||||
inherit
|
|
||||||
user3
|
|
||||||
;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
name = "Streaming";
|
|
||||||
aliases = {
|
|
||||||
};
|
|
||||||
email = {
|
|
||||||
address0 = "nick@upRootNutrition.com";
|
|
||||||
};
|
|
||||||
paths = {
|
|
||||||
path0 = "/home/${user3}/Files/Projects"; # Git path
|
|
||||||
};
|
|
||||||
sshKeys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBF9TmImDoYDpsW5VMFbOcuK3aH4TWRtx/xGxT3yUtEN nick@desktop"
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -2,21 +2,15 @@ let
|
||||||
configPath = ./config;
|
configPath = ./config;
|
||||||
|
|
||||||
user0 = "nick";
|
user0 = "nick";
|
||||||
user1 = "garnet";
|
user1 = "streaming";
|
||||||
user2 = "fallaryn";
|
|
||||||
user3 = "streaming";
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit
|
inherit
|
||||||
user0
|
user0
|
||||||
user1
|
user1
|
||||||
user2
|
|
||||||
user3
|
|
||||||
;
|
;
|
||||||
users = {
|
users = {
|
||||||
"${user0}" = import (configPath + /user0.nix) { inherit user0; };
|
"${user0}" = import (configPath + /user0.nix) { inherit user0; };
|
||||||
"${user1}" = import (configPath + /user1.nix) { inherit user1; };
|
"${user1}" = import (configPath + /user1.nix) { inherit user1; };
|
||||||
"${user2}" = import (configPath + /user2.nix) { inherit user2; };
|
|
||||||
"${user3}" = import (configPath + /user3.nix) { inherit user3; };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
{
|
|
||||||
flake,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
programs.yazi =
|
programs.yazi =
|
||||||
let
|
let
|
||||||
|
|
|
@ -7,19 +7,11 @@
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes) currentTheme palettes;
|
inherit (flake.config.aesthetics.themes) currentTheme palettes;
|
||||||
|
|
||||||
inherit (flake.config.people) user0 user1 user2;
|
inherit (flake.config.people) user0;
|
||||||
|
|
||||||
user = config.home.username;
|
user = config.home.username;
|
||||||
|
|
||||||
themeLogic =
|
themeLogic = if user == user0 then currentTheme else currentTheme;
|
||||||
if user == user0 then
|
|
||||||
currentTheme.theme0
|
|
||||||
else if user == user1 then
|
|
||||||
currentTheme.theme1
|
|
||||||
else if user == user2 then
|
|
||||||
currentTheme.theme2
|
|
||||||
else
|
|
||||||
currentTheme.theme0;
|
|
||||||
|
|
||||||
el = palettes.${themeLogic}.colours;
|
el = palettes.${themeLogic}.colours;
|
||||||
|
|
||||||
|
|
|
@ -9,19 +9,11 @@ let
|
||||||
palettes
|
palettes
|
||||||
;
|
;
|
||||||
|
|
||||||
inherit (flake.config.people) user0 user1 user2;
|
inherit (flake.config.people) user0;
|
||||||
|
|
||||||
user = config.home.username;
|
user = config.home.username;
|
||||||
|
|
||||||
themeLogic =
|
themeLogic = if user == user0 then currentTheme else currentTheme;
|
||||||
if user == user0 then
|
|
||||||
currentTheme.theme0
|
|
||||||
else if user == user1 then
|
|
||||||
currentTheme.theme1
|
|
||||||
else if user == user2 then
|
|
||||||
currentTheme.theme2
|
|
||||||
else
|
|
||||||
currentTheme.theme0;
|
|
||||||
|
|
||||||
el = palettes.${themeLogic}.colours;
|
el = palettes.${themeLogic}.colours;
|
||||||
in
|
in
|
||||||
|
|
|
@ -7,9 +7,7 @@ in
|
||||||
flake.homeModules =
|
flake.homeModules =
|
||||||
let
|
let
|
||||||
inherit (config.machines.devices)
|
inherit (config.machines.devices)
|
||||||
charon
|
|
||||||
mars
|
mars
|
||||||
venus
|
|
||||||
deimos
|
deimos
|
||||||
ceres
|
ceres
|
||||||
phobos
|
phobos
|
||||||
|
@ -17,8 +15,6 @@ in
|
||||||
inherit (config.people)
|
inherit (config.people)
|
||||||
user0
|
user0
|
||||||
user1
|
user1
|
||||||
user2
|
|
||||||
user3
|
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -59,13 +55,12 @@ in
|
||||||
systemMonitor
|
systemMonitor
|
||||||
usbImager
|
usbImager
|
||||||
virtManager
|
virtManager
|
||||||
# polychromatic
|
|
||||||
espanso
|
espanso
|
||||||
claudeCode
|
claudeCode
|
||||||
zoom
|
zoom
|
||||||
academic
|
academic
|
||||||
hypr
|
hypr
|
||||||
# niri
|
niri
|
||||||
wayland
|
wayland
|
||||||
theming
|
theming
|
||||||
printManager
|
printManager
|
||||||
|
@ -77,27 +72,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"${mars.name}-${user1}" = {
|
"${mars.name}-${user1}" = {
|
||||||
imports = builtins.attrValues {
|
|
||||||
inherit (modules)
|
|
||||||
cli
|
|
||||||
brave
|
|
||||||
ghostty
|
|
||||||
zed
|
|
||||||
gaming
|
|
||||||
spotify
|
|
||||||
docs
|
|
||||||
mpv
|
|
||||||
kolourPaint
|
|
||||||
discord
|
|
||||||
signal
|
|
||||||
scrcpy
|
|
||||||
bitwarden
|
|
||||||
emote
|
|
||||||
desktop
|
|
||||||
;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"${mars.name}-${user3}" = {
|
|
||||||
imports = builtins.attrValues {
|
imports = builtins.attrValues {
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
cli
|
cli
|
||||||
|
@ -123,35 +97,6 @@ in
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"${venus.name}-${user2}" = {
|
|
||||||
imports = builtins.attrValues {
|
|
||||||
inherit (modules)
|
|
||||||
cli
|
|
||||||
firefox
|
|
||||||
brave
|
|
||||||
code
|
|
||||||
ghostty
|
|
||||||
gaming
|
|
||||||
spotify
|
|
||||||
audioProduction
|
|
||||||
wpsOffice
|
|
||||||
obsidian
|
|
||||||
okular
|
|
||||||
images
|
|
||||||
modeling
|
|
||||||
obsStudio
|
|
||||||
kdenlive
|
|
||||||
videoPlaying
|
|
||||||
discord
|
|
||||||
signal
|
|
||||||
tdesktop
|
|
||||||
teams
|
|
||||||
whatsApp
|
|
||||||
zoom
|
|
||||||
tools
|
|
||||||
;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"${deimos.name}-${user0}" = {
|
"${deimos.name}-${user0}" = {
|
||||||
imports = builtins.attrValues {
|
imports = builtins.attrValues {
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
|
@ -195,7 +140,6 @@ in
|
||||||
niri
|
niri
|
||||||
wayland
|
wayland
|
||||||
theming
|
theming
|
||||||
# polychromatic
|
|
||||||
dolphin
|
dolphin
|
||||||
espanso
|
espanso
|
||||||
zotero
|
zotero
|
||||||
|
@ -204,55 +148,6 @@ in
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"${deimos.name}-${user1}" = {
|
|
||||||
imports = builtins.attrValues {
|
|
||||||
inherit (modules)
|
|
||||||
cli
|
|
||||||
brave
|
|
||||||
ghostty
|
|
||||||
zed
|
|
||||||
gaming
|
|
||||||
spotify
|
|
||||||
docs
|
|
||||||
mpv
|
|
||||||
kolourPaint
|
|
||||||
discord
|
|
||||||
signal
|
|
||||||
scrcpy
|
|
||||||
bitwarden
|
|
||||||
emote
|
|
||||||
hypr
|
|
||||||
wayland
|
|
||||||
niri
|
|
||||||
theming
|
|
||||||
;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"${deimos.name}-${user2}" = {
|
|
||||||
imports = builtins.attrValues {
|
|
||||||
inherit (modules)
|
|
||||||
cli
|
|
||||||
firefox
|
|
||||||
brave
|
|
||||||
code
|
|
||||||
ghostty
|
|
||||||
gaming
|
|
||||||
spotify
|
|
||||||
wpsOffice
|
|
||||||
obsidian
|
|
||||||
okular
|
|
||||||
images
|
|
||||||
videoPlaying
|
|
||||||
discord
|
|
||||||
signal
|
|
||||||
niri
|
|
||||||
hypr
|
|
||||||
wayland
|
|
||||||
theming
|
|
||||||
tools
|
|
||||||
;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"${phobos.name}-${user0}" = {
|
"${phobos.name}-${user0}" = {
|
||||||
imports = builtins.attrValues {
|
imports = builtins.attrValues {
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
|
@ -282,30 +177,6 @@ in
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"${charon.name}-${user1}" = {
|
|
||||||
imports = builtins.attrValues {
|
|
||||||
inherit (modules)
|
|
||||||
cli
|
|
||||||
brave
|
|
||||||
ghostty
|
|
||||||
zed
|
|
||||||
gaming
|
|
||||||
spotify
|
|
||||||
docs
|
|
||||||
mpv
|
|
||||||
jellyfin
|
|
||||||
kolourPaint
|
|
||||||
systemMonitor
|
|
||||||
discord
|
|
||||||
signal
|
|
||||||
scrcpy
|
|
||||||
bitwarden
|
|
||||||
emote
|
|
||||||
gnome
|
|
||||||
theming
|
|
||||||
;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"${ceres.name}-${user0}" = {
|
"${ceres.name}-${user0}" = {
|
||||||
imports = builtins.attrValues {
|
imports = builtins.attrValues {
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
|
|
|
@ -28,12 +28,6 @@ let
|
||||||
"chat"
|
"chat"
|
||||||
"ai"
|
"ai"
|
||||||
];
|
];
|
||||||
owncastTags = [
|
|
||||||
instances.owncast.name
|
|
||||||
"own"
|
|
||||||
"cast"
|
|
||||||
"stream"
|
|
||||||
];
|
|
||||||
syncthingTags = [
|
syncthingTags = [
|
||||||
instances.syncthing.name
|
instances.syncthing.name
|
||||||
"sync"
|
"sync"
|
||||||
|
|
|
@ -24,10 +24,10 @@ in
|
||||||
"workbench.statusBar.visible" = false;
|
"workbench.statusBar.visible" = false;
|
||||||
"editor.multiCursorLimit" = 700000;
|
"editor.multiCursorLimit" = 700000;
|
||||||
"editor.wordWrap" = "on";
|
"editor.wordWrap" = "on";
|
||||||
"editor.fontSize" = fonts.sizes.applications.size0;
|
"editor.fontSize" = fonts.sizes.applications;
|
||||||
"editor.fontFamily" = "'${fonts.names.name0}', 'monospace', monospace";
|
"editor.fontFamily" = "'${fonts.name}', 'monospace', monospace";
|
||||||
"terminal.integrated.fontSize" = fonts.sizes.applications.size0;
|
"terminal.integrated.fontSize" = fonts.sizes.applications;
|
||||||
"terminal.integrated.fontFamily" = "'${fonts.names.name0}', 'monospace', monospace";
|
"terminal.integrated.fontFamily" = "'${fonts.name}', 'monospace', monospace";
|
||||||
"editor.fontLigatures" = true;
|
"editor.fontLigatures" = true;
|
||||||
"elmLS.disableElmLSDiagnostics" = true;
|
"elmLS.disableElmLSDiagnostics" = true;
|
||||||
"elmLS.elmReviewDiagnostics" = "warning";
|
"elmLS.elmReviewDiagnostics" = "warning";
|
||||||
|
|
|
@ -5,13 +5,13 @@ let
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
ui_font_family = fonts.names.name0;
|
ui_font_family = fonts.name;
|
||||||
buffer_font_family = fonts.names.name0;
|
buffer_font_family = fonts.name;
|
||||||
hour_format = "hour12";
|
hour_format = "hour12";
|
||||||
vim_mode = false;
|
vim_mode = false;
|
||||||
show_whitespaces = "none";
|
show_whitespaces = "none";
|
||||||
ui_font_size = fonts.sizes.applications.size0;
|
ui_font_size = fonts.sizes.applications;
|
||||||
buffer_font_size = fonts.sizes.applications.size0;
|
buffer_font_size = fonts.sizes.applications;
|
||||||
tab_size = 2;
|
tab_size = 2;
|
||||||
cursor_blink = true;
|
cursor_blink = true;
|
||||||
theme = "Catppuccin Macchiato";
|
theme = "Catppuccin Macchiato";
|
||||||
|
|
|
@ -25,9 +25,9 @@ in
|
||||||
TERM = "ghostty";
|
TERM = "ghostty";
|
||||||
};
|
};
|
||||||
|
|
||||||
font_family = fonts.names.name0;
|
font_family = fonts.name;
|
||||||
font_features = null;
|
font_features = null;
|
||||||
font_size = fonts.sizes.terminal.size0;
|
font_size = fonts.sizes.terminal;
|
||||||
line_height = "comfortable";
|
line_height = "comfortable";
|
||||||
option_as_meta = false;
|
option_as_meta = false;
|
||||||
button = false;
|
button = false;
|
||||||
|
|
|
@ -1,816 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
flake,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
inherit (flake.config.aesthetics.themes) currentTheme palettes;
|
|
||||||
|
|
||||||
inherit (flake.config.people) user0 user1 user2;
|
|
||||||
|
|
||||||
user = config.home.username;
|
|
||||||
|
|
||||||
themeLogic =
|
|
||||||
if user == user0 then
|
|
||||||
currentTheme.theme0
|
|
||||||
else if user == user1 then
|
|
||||||
currentTheme.theme1
|
|
||||||
else if user == user2 then
|
|
||||||
currentTheme.theme2
|
|
||||||
else
|
|
||||||
currentTheme.theme0;
|
|
||||||
|
|
||||||
el = palettes.${themeLogic}.colours;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
accents = [
|
|
||||||
"${el.base0E}66"
|
|
||||||
"${el.base07}66"
|
|
||||||
"${el.base16}66"
|
|
||||||
"${el.base0B}66"
|
|
||||||
"${el.base0A}66"
|
|
||||||
"${el.base09}66"
|
|
||||||
"${el.base08}66"
|
|
||||||
];
|
|
||||||
|
|
||||||
border = {
|
|
||||||
value = "#${el.base02}";
|
|
||||||
variant = "#${el.base0E}";
|
|
||||||
focused = "#${el.base07}";
|
|
||||||
selected = "#${el.base0E}";
|
|
||||||
transparent = "#${el.base0B}";
|
|
||||||
disabled = "#${el.base03}";
|
|
||||||
};
|
|
||||||
|
|
||||||
elevated_surface.background = "#${el.base01}";
|
|
||||||
surface.background = "#${el.base01}";
|
|
||||||
background = {
|
|
||||||
value = "#${el.base00}";
|
|
||||||
appearance = "opaque";
|
|
||||||
};
|
|
||||||
element = {
|
|
||||||
background = "#${el.base11}";
|
|
||||||
hover = "#${el.base03}4d";
|
|
||||||
active = "#${el.base04}4d";
|
|
||||||
selected = "#${el.base02}4d";
|
|
||||||
disabled = "#${el.base03}";
|
|
||||||
};
|
|
||||||
|
|
||||||
drop_target.background = "#${el.base02}66";
|
|
||||||
ghost_element = {
|
|
||||||
background = "#${el.base11}59";
|
|
||||||
hover = "#${el.base03}4d";
|
|
||||||
active = "#${el.base04}99";
|
|
||||||
selected = "#${el.base05}1a";
|
|
||||||
disabled = "#${el.base03}";
|
|
||||||
};
|
|
||||||
|
|
||||||
text = {
|
|
||||||
value = "#${el.base05}";
|
|
||||||
muted = "#${el.base05}";
|
|
||||||
placeholder = "#${el.base04}";
|
|
||||||
disabled = "#${el.base03}";
|
|
||||||
accent = "#${el.base0E}";
|
|
||||||
};
|
|
||||||
|
|
||||||
icon = {
|
|
||||||
value = "#${el.base05}";
|
|
||||||
muted = "#${el.base04}";
|
|
||||||
disabled = "#${el.base03}";
|
|
||||||
placeholder = "#${el.base04}";
|
|
||||||
accent = "#${el.base0E}";
|
|
||||||
};
|
|
||||||
|
|
||||||
status_bar.background = "#${el.base11}";
|
|
||||||
title_bar = {
|
|
||||||
background = "#${el.base11}";
|
|
||||||
inactive_background = "#${el.base11}d9";
|
|
||||||
};
|
|
||||||
toolbar.background = "#${el.base00}";
|
|
||||||
tab_bar.background = "#${el.base11}";
|
|
||||||
tab = {
|
|
||||||
inactive_background = "#${el.base11}";
|
|
||||||
active_background = "#${el.base00}";
|
|
||||||
};
|
|
||||||
|
|
||||||
search.match_background = "#${el.base0C}33";
|
|
||||||
panel = {
|
|
||||||
background = "#${el.base01}";
|
|
||||||
focused_border = "#${el.base05}";
|
|
||||||
indent_guide = "#${el.base02}99";
|
|
||||||
indent_guide_active = "#${el.base04}";
|
|
||||||
indent_guide_hover = "#${el.base0E}";
|
|
||||||
};
|
|
||||||
|
|
||||||
pane.focused_border = "#${el.base05}";
|
|
||||||
pane_group.border = "#${el.base02}";
|
|
||||||
|
|
||||||
scrollbar = {
|
|
||||||
thumb = {
|
|
||||||
background = "#${el.base0E}33";
|
|
||||||
hover_background = "#${el.base03}";
|
|
||||||
border = "#${el.base0E}";
|
|
||||||
scrollbar.track.background = null;
|
|
||||||
};
|
|
||||||
track.border = "#${el.base05}12";
|
|
||||||
};
|
|
||||||
|
|
||||||
editor = {
|
|
||||||
foreground = "#${el.base05}";
|
|
||||||
background = "#${el.base00}";
|
|
||||||
gutter.background = "#${el.base00}";
|
|
||||||
subheader.background = "#${el.base01}";
|
|
||||||
active_line.background = "#${el.base05}0d";
|
|
||||||
highlighted_line.background = null;
|
|
||||||
line_number = "#${el.base04}";
|
|
||||||
active_line_number = "#${el.base0E}";
|
|
||||||
invisible = "#${el.base05}66";
|
|
||||||
wrap_guide = "#${el.base04}";
|
|
||||||
active_wrap_guide = "#${el.base04}";
|
|
||||||
document_highlight = {
|
|
||||||
bracket_background = "#${el.base06}40";
|
|
||||||
read_background = "#${el.base05}29";
|
|
||||||
write_background = "#${el.base05}29";
|
|
||||||
};
|
|
||||||
indent_guide = "#${el.base02}99";
|
|
||||||
indent_guide_active = "#${el.base04}";
|
|
||||||
};
|
|
||||||
|
|
||||||
terminal = {
|
|
||||||
background = "#${el.base00}";
|
|
||||||
ansi.background = "#${el.base00}";
|
|
||||||
foreground = "#${el.base05}";
|
|
||||||
dim_foreground = "#${el.base04}";
|
|
||||||
bright_foreground = "#${el.base05}";
|
|
||||||
};
|
|
||||||
|
|
||||||
link_text.hover = "#${el.base15}";
|
|
||||||
|
|
||||||
conflict = {
|
|
||||||
value = "#${el.base0A}";
|
|
||||||
border = "#${el.base0A}";
|
|
||||||
background = "#${el.base01}";
|
|
||||||
};
|
|
||||||
|
|
||||||
created = {
|
|
||||||
value = "#${el.base0B}";
|
|
||||||
border = "#${el.base0B}";
|
|
||||||
background = "#${el.base01}";
|
|
||||||
};
|
|
||||||
|
|
||||||
deleted = {
|
|
||||||
value = "#${el.base08}";
|
|
||||||
border = "#${el.base08}";
|
|
||||||
background = "#${el.base01}";
|
|
||||||
};
|
|
||||||
|
|
||||||
hidden = {
|
|
||||||
value = "#${el.base03}";
|
|
||||||
border = "#${el.base03}";
|
|
||||||
background = "#${el.base01}";
|
|
||||||
};
|
|
||||||
|
|
||||||
hint = {
|
|
||||||
value = "#${el.base04}";
|
|
||||||
border = "#${el.base04}";
|
|
||||||
background = "#${el.base01}";
|
|
||||||
};
|
|
||||||
|
|
||||||
ignored = {
|
|
||||||
value = "#${el.base03}";
|
|
||||||
border = "#${el.base03}";
|
|
||||||
background = "#${el.base01}";
|
|
||||||
};
|
|
||||||
|
|
||||||
modified = {
|
|
||||||
value = "#${el.base0A}";
|
|
||||||
border = "#${el.base0A}";
|
|
||||||
background = "#${el.base01}";
|
|
||||||
};
|
|
||||||
|
|
||||||
predictive = {
|
|
||||||
value = "#${el.base03}";
|
|
||||||
border = "#${el.base07}";
|
|
||||||
background = "#${el.base01}";
|
|
||||||
};
|
|
||||||
|
|
||||||
renamed = {
|
|
||||||
value = "#${el.base16}";
|
|
||||||
border = "#${el.base16}";
|
|
||||||
background = "#${el.base01}";
|
|
||||||
};
|
|
||||||
|
|
||||||
info = {
|
|
||||||
value = "#${el.base0C}";
|
|
||||||
border = "#${el.base0C}";
|
|
||||||
background = "#${el.base05}33";
|
|
||||||
};
|
|
||||||
|
|
||||||
warning = {
|
|
||||||
value = "#${el.base0A}";
|
|
||||||
border = "#${el.base0A}";
|
|
||||||
background = "#${el.base0A}1f";
|
|
||||||
};
|
|
||||||
|
|
||||||
error = {
|
|
||||||
value = "#${el.base08}";
|
|
||||||
border = "#${el.base08}";
|
|
||||||
background = "#${el.base08}1f";
|
|
||||||
};
|
|
||||||
|
|
||||||
success = {
|
|
||||||
value = "#${el.base0B}";
|
|
||||||
border = "#${el.base0B}";
|
|
||||||
background = "#${el.base0B}1f";
|
|
||||||
};
|
|
||||||
|
|
||||||
unreachable = {
|
|
||||||
value = "#${el.base08}";
|
|
||||||
border = "#${el.base08}";
|
|
||||||
background = "#${el.base08}1f";
|
|
||||||
};
|
|
||||||
|
|
||||||
players = [
|
|
||||||
{
|
|
||||||
cursor = "#${el.base06}";
|
|
||||||
selection = "#${el.base04}80";
|
|
||||||
background = "#${el.base06}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
cursor = "#${el.base0E}";
|
|
||||||
selection = "#${el.base0E}33";
|
|
||||||
background = "#${el.base0E}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
cursor = "#${el.base07}";
|
|
||||||
selection = "#${el.base07}33";
|
|
||||||
background = "#${el.base07}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
cursor = "#${el.base16}";
|
|
||||||
selection = "#${el.base16}33";
|
|
||||||
background = "#${el.base16}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
cursor = "#${el.base0B}";
|
|
||||||
selection = "#${el.base0B}33";
|
|
||||||
background = "#${el.base0B}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
cursor = "#${el.base0A}";
|
|
||||||
selection = "#${el.base0A}33";
|
|
||||||
background = "#${el.base0A}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
cursor = "#${el.base09}";
|
|
||||||
selection = "#${el.base09}33";
|
|
||||||
background = "#${el.base09}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
cursor = "#${el.base08}";
|
|
||||||
selection = "#${el.base08}33";
|
|
||||||
background = "#${el.base08}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
syntax = {
|
|
||||||
variable = {
|
|
||||||
color = "#${el.base05}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
variable.builtin = {
|
|
||||||
color = "#${el.base08}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
variable.parameter = {
|
|
||||||
color = "#${el.base12}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
variable.member = {
|
|
||||||
color = "#${el.base0D}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
variable.special = {
|
|
||||||
color = "#${el.base17}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
constant = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
constant.builtin = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
constant.macro = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
module = {
|
|
||||||
color = "#${el.base0A}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
label = {
|
|
||||||
color = "#${el.base16}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
string = {
|
|
||||||
color = "#${el.base0B}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
string.documentation = {
|
|
||||||
color = "#${el.base0C}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
string.regexp = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
string.escape = {
|
|
||||||
color = "#${el.base17}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
string.special = {
|
|
||||||
color = "#${el.base17}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
string.special.path = {
|
|
||||||
color = "#${el.base17}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
string.special.symbol = {
|
|
||||||
color = "#${el.base0F}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
string.special.url = {
|
|
||||||
color = "#${el.base06}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
character = {
|
|
||||||
color = "#${el.base0C}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
character.special = {
|
|
||||||
color = "#${el.base17}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
boolean = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
number = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
number.float = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
type = {
|
|
||||||
color = "#${el.base0A}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
type.builtin = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
type.definition = {
|
|
||||||
color = "#${el.base0A}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
type.interface = {
|
|
||||||
color = "#${el.base0A}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
type.super = {
|
|
||||||
color = "#${el.base0A}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
attribute = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
property = {
|
|
||||||
color = "#${el.base0D}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
function = {
|
|
||||||
color = "#${el.base0D}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
function.builtin = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
function.call = {
|
|
||||||
color = "#${el.base0D}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
function.macro = {
|
|
||||||
color = "#${el.base0C}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
function.method = {
|
|
||||||
color = "#${el.base0D}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
function.method.call = {
|
|
||||||
color = "#${el.base0D}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
constructor = {
|
|
||||||
color = "#${el.base0F}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
operator = {
|
|
||||||
color = "#${el.base15}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
keyword = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.modifier = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.type = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.coroutine = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.function = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.operator = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.import = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.repeat = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.return = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.debug = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.exception = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.conditional = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.conditional.ternary = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.directive = {
|
|
||||||
color = "#${el.base17}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.directive.define = {
|
|
||||||
color = "#${el.base17}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
keyword.export = {
|
|
||||||
color = "#${el.base15}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
punctuation = {
|
|
||||||
color = "#${el.base05}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
punctuation.delimiter = {
|
|
||||||
color = "#${el.base05}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
punctuation.bracket = {
|
|
||||||
color = "#${el.base05}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
punctuation.special = {
|
|
||||||
color = "#${el.base17}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
punctuation.special.symbol = {
|
|
||||||
color = "#${el.base0F}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
punctuation.list_marker = {
|
|
||||||
color = "#${el.base0C}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
comment = {
|
|
||||||
color = "#${el.base05}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
comment.doc = {
|
|
||||||
color = "#${el.base05}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
comment.documentation = {
|
|
||||||
color = "#${el.base05}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
comment.error = {
|
|
||||||
color = "#${el.base08}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
comment.warning = {
|
|
||||||
color = "#${el.base0A}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
comment.hint = {
|
|
||||||
color = "#${el.base0D}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
comment.todo = {
|
|
||||||
color = "#${el.base0F}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
comment.note = {
|
|
||||||
color = "#${el.base06}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
diff.plus = {
|
|
||||||
color = "#${el.base0B}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
diff.minus = {
|
|
||||||
color = "#${el.base08}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
tag = {
|
|
||||||
color = "#${el.base0D}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
tag.attribute = {
|
|
||||||
color = "#${el.base0A}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
tag.delimiter = {
|
|
||||||
color = "#${el.base0C}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
parameter = {
|
|
||||||
color = "#${el.base12}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
field = {
|
|
||||||
color = "#${el.base07}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
namespace = {
|
|
||||||
color = "#${el.base0A}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
float = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
symbol = {
|
|
||||||
color = "#${el.base17}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
string.regex = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
text = {
|
|
||||||
color = "#${el.base05}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
emphasis.strong = {
|
|
||||||
color = "#${el.base12}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = 700;
|
|
||||||
};
|
|
||||||
|
|
||||||
emphasis = {
|
|
||||||
color = "#${el.base12}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
embedded = {
|
|
||||||
color = "#${el.base12}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
text.literal = {
|
|
||||||
color = "#${el.base0B}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
concept = {
|
|
||||||
color = "#${el.base16}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
enum = {
|
|
||||||
color = "#${el.base0C}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = 700;
|
|
||||||
};
|
|
||||||
|
|
||||||
function.decorator = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
type.class.definition = {
|
|
||||||
color = "#${el.base0A}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = 700;
|
|
||||||
};
|
|
||||||
|
|
||||||
hint = {
|
|
||||||
color = "#${el.base04}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
link_text = {
|
|
||||||
color = "#${el.base0D}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
link_uri = {
|
|
||||||
color = "#${el.base06}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
parent = {
|
|
||||||
color = "#${el.base09}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
predictive = {
|
|
||||||
color = "#${el.base03}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
predoc = {
|
|
||||||
color = "#${el.base08}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
primary = {
|
|
||||||
color = "#${el.base12}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
tag.doctype = {
|
|
||||||
color = "#${el.base0E}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
string.doc = {
|
|
||||||
color = "#${el.base0C}";
|
|
||||||
font_style = "italic";
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
title = {
|
|
||||||
color = "#${el.base05}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = 800;
|
|
||||||
};
|
|
||||||
|
|
||||||
variant = {
|
|
||||||
color = "#${el.base08}";
|
|
||||||
font_style = null;
|
|
||||||
font_weight = null;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
|
@ -11,7 +11,6 @@ let
|
||||||
languagesPath = import (configPath + /languages);
|
languagesPath = import (configPath + /languages);
|
||||||
lspPath = import (configPath + /lsp);
|
lspPath = import (configPath + /lsp);
|
||||||
terminalPath = import (configPath + /terminal) { inherit flake; };
|
terminalPath = import (configPath + /terminal) { inherit flake; };
|
||||||
# experimentalPath = import (configPath + /theme) { inherit config flake; };
|
|
||||||
gitPath = import (configPath + /git);
|
gitPath = import (configPath + /git);
|
||||||
miscPath = import (configPath + /misc) { inherit lib pkgs; };
|
miscPath = import (configPath + /misc) { inherit lib pkgs; };
|
||||||
in
|
in
|
||||||
|
@ -20,7 +19,6 @@ in
|
||||||
languages = languagesPath;
|
languages = languagesPath;
|
||||||
lsp = lspPath;
|
lsp = lspPath;
|
||||||
terminal = terminalPath;
|
terminal = terminalPath;
|
||||||
# experimental.theme_overrides = experimentalPath;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// assistantPath
|
// assistantPath
|
||||||
|
|
|
@ -18,7 +18,7 @@ let
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
extraPackagesPath = import (configPath + /extraPackages) { inherit pkgs; };
|
extraPackagesPath = import (configPath + /extraPackages) { inherit pkgs; };
|
||||||
packagePath = flake.inputs.zed-editor.packages.${pkgs.system}.default;
|
# packagePath = flake.inputs.zed-editor.packages.${pkgs.system}.default;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.zed-editor = {
|
programs.zed-editor = {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
flake,
|
flake,
|
||||||
osConfig,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
@ -10,8 +9,8 @@ in
|
||||||
{
|
{
|
||||||
confirm-close-surface = false;
|
confirm-close-surface = false;
|
||||||
window-decoration = true;
|
window-decoration = true;
|
||||||
font-size = fonts.sizes.terminal.size0;
|
font-size = fonts.sizes.terminal;
|
||||||
font-family = fonts.names.name0;
|
font-family = fonts.name;
|
||||||
window-padding-x = 10;
|
window-padding-x = 10;
|
||||||
window-padding-y = 10;
|
window-padding-y = 10;
|
||||||
copy-on-select = true;
|
copy-on-select = true;
|
||||||
|
|
|
@ -6,19 +6,11 @@
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes) currentTheme palettes;
|
inherit (flake.config.aesthetics.themes) currentTheme palettes;
|
||||||
|
|
||||||
inherit (flake.config.people) user0 user1 user2;
|
inherit (flake.config.people) user0;
|
||||||
|
|
||||||
user = config.home.username;
|
user = config.home.username;
|
||||||
|
|
||||||
themeLogic =
|
themeLogic = if user == user0 then currentTheme else currentTheme;
|
||||||
if user == user0 then
|
|
||||||
currentTheme.theme0
|
|
||||||
else if user == user1 then
|
|
||||||
currentTheme.theme1
|
|
||||||
else if user == user2 then
|
|
||||||
currentTheme.theme2
|
|
||||||
else
|
|
||||||
currentTheme.theme0;
|
|
||||||
|
|
||||||
el = palettes.${themeLogic}.colours;
|
el = palettes.${themeLogic}.colours;
|
||||||
in
|
in
|
||||||
|
|
|
@ -11,8 +11,8 @@ in
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
name = fonts.names.name0;
|
name = fonts.name;
|
||||||
size = fonts.sizes.terminal.size0;
|
size = fonts.sizes.terminal;
|
||||||
};
|
};
|
||||||
themeFile = "Catppuccin-Macchiato";
|
themeFile = "Catppuccin-Macchiato";
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,8 +7,8 @@ in
|
||||||
''
|
''
|
||||||
return {
|
return {
|
||||||
color_scheme = "Catppuccin Macchiato",
|
color_scheme = "Catppuccin Macchiato",
|
||||||
font_size = ${builtins.toString fonts.sizes.terminal.size0},
|
font_size = ${builtins.toString fonts.sizes.terminal},
|
||||||
font = wezterm.font('${fonts.names.name0}'),
|
font = wezterm.font('${fonts.name}'),
|
||||||
enable_tab_bar = false,
|
enable_tab_bar = false,
|
||||||
window_close_confirmation = 'NeverPrompt',
|
window_close_confirmation = 'NeverPrompt',
|
||||||
term = 'wezterm',
|
term = 'wezterm',
|
||||||
|
|
|
@ -28,8 +28,8 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
home.packages = builtins.attrValues {
|
home.packages = builtins.attrValues {
|
||||||
inherit (pkgs)
|
# inherit (pkgs)
|
||||||
# flameshot
|
# # flameshot
|
||||||
;
|
# ;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,19 +11,11 @@ let
|
||||||
windowManager
|
windowManager
|
||||||
;
|
;
|
||||||
|
|
||||||
inherit (flake.config.people) user0 user1 user2;
|
inherit (flake.config.people) user0;
|
||||||
|
|
||||||
user = config.home.username;
|
user = config.home.username;
|
||||||
|
|
||||||
themeLogic =
|
themeLogic = if user == user0 then currentTheme else currentTheme;
|
||||||
if user == user0 then
|
|
||||||
currentTheme.theme0
|
|
||||||
else if user == user1 then
|
|
||||||
currentTheme.theme1
|
|
||||||
else if user == user2 then
|
|
||||||
currentTheme.theme2
|
|
||||||
else
|
|
||||||
currentTheme.theme0;
|
|
||||||
|
|
||||||
el = palettes.${themeLogic}.colours;
|
el = palettes.${themeLogic}.colours;
|
||||||
in
|
in
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
config,
|
config,
|
||||||
flake,
|
flake,
|
||||||
osConfig,
|
osConfig,
|
||||||
workspaceStrings,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
|
|
@ -10,20 +10,12 @@ let
|
||||||
|
|
||||||
inherit (flake.config.aesthetics.themes) currentTheme palettes;
|
inherit (flake.config.aesthetics.themes) currentTheme palettes;
|
||||||
|
|
||||||
inherit (flake.config.people) user0 user1 user2;
|
inherit (flake.config.people) user0;
|
||||||
|
|
||||||
user = config.home.username;
|
user = config.home.username;
|
||||||
|
|
||||||
colourHelpers = {
|
colourHelpers = {
|
||||||
themeLogic =
|
themeLogic = if user == user0 then currentTheme else currentTheme;
|
||||||
if user == user0 then
|
|
||||||
currentTheme.theme0
|
|
||||||
else if user == user1 then
|
|
||||||
currentTheme.theme1
|
|
||||||
else if user == user2 then
|
|
||||||
currentTheme.theme2
|
|
||||||
else
|
|
||||||
currentTheme.theme0;
|
|
||||||
|
|
||||||
el = palettes.${colourHelpers.themeLogic}.colours;
|
el = palettes.${colourHelpers.themeLogic}.colours;
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes) cursor;
|
|
||||||
configPath = ./config;
|
configPath = ./config;
|
||||||
settingsPath = {
|
settingsPath = {
|
||||||
spawn = import (configPath + /spawn.nix) { inherit config flake; };
|
spawn = import (configPath + /spawn.nix) { inherit config flake; };
|
||||||
|
|
|
@ -11,19 +11,11 @@ let
|
||||||
fonts
|
fonts
|
||||||
;
|
;
|
||||||
|
|
||||||
inherit (flake.config.people) user0 user1 user2;
|
inherit (flake.config.people) user0;
|
||||||
|
|
||||||
user = config.home.username;
|
user = config.home.username;
|
||||||
|
|
||||||
themeLogic =
|
themeLogic = if user == user0 then currentTheme else currentTheme;
|
||||||
if user == user0 then
|
|
||||||
currentTheme.theme0
|
|
||||||
else if user == user1 then
|
|
||||||
currentTheme.theme1
|
|
||||||
else if user == user2 then
|
|
||||||
currentTheme.theme2
|
|
||||||
else
|
|
||||||
currentTheme.theme0;
|
|
||||||
|
|
||||||
el = palettes.${themeLogic}.colours;
|
el = palettes.${themeLogic}.colours;
|
||||||
|
|
||||||
|
@ -31,7 +23,7 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
global = {
|
global = {
|
||||||
font = "${fonts.names.name0} ${builtins.toString fonts.sizes.popups.size0}";
|
font = "${fonts.name} ${builtins.toString fonts.sizes.popups}";
|
||||||
background = makeColor el.base01;
|
background = makeColor el.base01;
|
||||||
frame_color = makeColor el.base0E;
|
frame_color = makeColor el.base0E;
|
||||||
foreground = makeColor el.base05;
|
foreground = makeColor el.base05;
|
||||||
|
|
|
@ -8,19 +8,11 @@ let
|
||||||
|
|
||||||
inherit (flake.config.aesthetics.themes) currentTheme palettes fonts;
|
inherit (flake.config.aesthetics.themes) currentTheme palettes fonts;
|
||||||
|
|
||||||
inherit (flake.config.people) user0 user1 user2;
|
inherit (flake.config.people) user0;
|
||||||
|
|
||||||
user = config.home.username;
|
user = config.home.username;
|
||||||
|
|
||||||
themeLogic =
|
themeLogic = if user == user0 then currentTheme else currentTheme;
|
||||||
if user == user0 then
|
|
||||||
currentTheme.theme0
|
|
||||||
else if user == user1 then
|
|
||||||
currentTheme.theme1
|
|
||||||
else if user == user2 then
|
|
||||||
currentTheme.theme2
|
|
||||||
else
|
|
||||||
currentTheme.theme0;
|
|
||||||
|
|
||||||
el = palettes.${themeLogic}.colours;
|
el = palettes.${themeLogic}.colours;
|
||||||
|
|
||||||
|
@ -35,7 +27,7 @@ in
|
||||||
dpi-aware = "no";
|
dpi-aware = "no";
|
||||||
icon-theme = "Papirus-Dark";
|
icon-theme = "Papirus-Dark";
|
||||||
width = 25;
|
width = 25;
|
||||||
font = "${fonts.names.name0}:weight=bold:size=${toString fonts.sizes.desktop.size0}";
|
font = "${fonts.name}:weight=bold:size=${toString fonts.sizes.popups}";
|
||||||
terminal = "${pkgs.ghostty}/bin/ghostty";
|
terminal = "${pkgs.ghostty}/bin/ghostty";
|
||||||
layer = "overlay";
|
layer = "overlay";
|
||||||
fields = "name";
|
fields = "name";
|
||||||
|
|
|
@ -10,25 +10,17 @@ let
|
||||||
fonts
|
fonts
|
||||||
;
|
;
|
||||||
|
|
||||||
inherit (flake.config.people) user0 user1 user2;
|
inherit (flake.config.people) user0;
|
||||||
|
|
||||||
user = config.home.username;
|
user = config.home.username;
|
||||||
|
|
||||||
themeLogic =
|
themeLogic = if user == user0 then currentTheme else currentTheme;
|
||||||
if user == user0 then
|
|
||||||
currentTheme.theme0
|
|
||||||
else if user == user1 then
|
|
||||||
currentTheme.theme1
|
|
||||||
else if user == user2 then
|
|
||||||
currentTheme.theme2
|
|
||||||
else
|
|
||||||
currentTheme.theme0;
|
|
||||||
|
|
||||||
el = palettes.${themeLogic}.colours;
|
el = palettes.${themeLogic}.colours;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
font = fonts.names.name0;
|
font = fonts.name;
|
||||||
font-size = fonts.sizes.desktop.size0;
|
font-size = fonts.sizes.popups;
|
||||||
indicator-idle-visible = true;
|
indicator-idle-visible = true;
|
||||||
indicator-radius = 100;
|
indicator-radius = 100;
|
||||||
indicator-thickness = 20;
|
indicator-thickness = 20;
|
||||||
|
|
|
@ -12,25 +12,17 @@ let
|
||||||
windowManager
|
windowManager
|
||||||
;
|
;
|
||||||
|
|
||||||
inherit (flake.config.people) user0 user1 user2;
|
inherit (flake.config.people) user0;
|
||||||
|
|
||||||
user = config.home.username;
|
user = config.home.username;
|
||||||
|
|
||||||
themeLogic =
|
themeLogic = if user == user0 then currentTheme else currentTheme;
|
||||||
if user == user0 then
|
|
||||||
currentTheme.theme0
|
|
||||||
else if user == user1 then
|
|
||||||
currentTheme.theme1
|
|
||||||
else if user == user2 then
|
|
||||||
currentTheme.theme2
|
|
||||||
else
|
|
||||||
currentTheme.theme0;
|
|
||||||
|
|
||||||
el = palettes.${themeLogic}.colours;
|
el = palettes.${themeLogic}.colours;
|
||||||
|
|
||||||
custom = {
|
custom = {
|
||||||
font = fonts.names.name0;
|
font = fonts.name;
|
||||||
font_size = fonts.sizes.desktop.size0;
|
font_size = fonts.sizes.popups;
|
||||||
font_weight = "bold";
|
font_weight = "bold";
|
||||||
opacityBg = "0.90";
|
opacityBg = "0.90";
|
||||||
opacityBt = "1";
|
opacityBt = "1";
|
||||||
|
|
|
@ -1,44 +1,9 @@
|
||||||
{
|
{ flake, ... }:
|
||||||
flake,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
inherit (flake.config.people)
|
inherit (flake.config.people)
|
||||||
user0
|
user0
|
||||||
user1
|
user1
|
||||||
user2
|
|
||||||
user3
|
|
||||||
;
|
;
|
||||||
inherit (flake.config.machines)
|
|
||||||
devices
|
|
||||||
;
|
|
||||||
hostname = config.networking.hostName;
|
|
||||||
mars = devices.mars.name;
|
|
||||||
ceres = devices.ceres.name;
|
|
||||||
venus = devices.venus.name;
|
|
||||||
charon = devices.charon.name;
|
|
||||||
deimos = devices.deimos.name;
|
|
||||||
|
|
||||||
userLogic =
|
|
||||||
if
|
|
||||||
builtins.elem hostname [
|
|
||||||
mars
|
|
||||||
deimos
|
|
||||||
ceres
|
|
||||||
]
|
|
||||||
then
|
|
||||||
[
|
|
||||||
user0
|
|
||||||
user1
|
|
||||||
user3
|
|
||||||
]
|
|
||||||
else if hostname == charon then
|
|
||||||
[ user1 ]
|
|
||||||
else if hostname == venus then
|
|
||||||
[ user2 ]
|
|
||||||
else
|
|
||||||
[ ];
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
security = {
|
security = {
|
||||||
|
@ -48,7 +13,10 @@ in
|
||||||
{
|
{
|
||||||
keepEnv = true;
|
keepEnv = true;
|
||||||
noPass = true;
|
noPass = true;
|
||||||
users = userLogic;
|
users = [
|
||||||
|
user0
|
||||||
|
user1
|
||||||
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,4 @@
|
||||||
{
|
{ pkgs, ... }:
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
environment = {
|
environment = {
|
||||||
enableAllTerminfo = true;
|
enableAllTerminfo = true;
|
||||||
|
|
|
@ -14,13 +14,13 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
serif = [
|
serif = [
|
||||||
fonts.names.name0
|
fonts.name
|
||||||
];
|
];
|
||||||
monospace = [
|
monospace = [
|
||||||
fonts.names.name0
|
fonts.name
|
||||||
];
|
];
|
||||||
sansSerif = [
|
sansSerif = [
|
||||||
fonts.names.name0
|
fonts.name
|
||||||
];
|
];
|
||||||
emoji = [
|
emoji = [
|
||||||
"Noto Fonts Color Emoji"
|
"Noto Fonts Color Emoji"
|
||||||
|
|
|
@ -4,55 +4,38 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.people)
|
inherit (flake.config.people) user0 user1;
|
||||||
user0
|
inherit (flake.config.machines) devices;
|
||||||
user1
|
|
||||||
user2
|
|
||||||
user3
|
|
||||||
;
|
|
||||||
inherit (flake.config.machines)
|
|
||||||
devices
|
|
||||||
;
|
|
||||||
hostname = config.networking.hostName;
|
hostname = config.networking.hostName;
|
||||||
mars = devices.mars.name;
|
mars = devices.mars.name;
|
||||||
deimos = devices.deimos.name;
|
deimos = devices.deimos.name;
|
||||||
ceres = devices.ceres.name;
|
ceres = devices.ceres.name;
|
||||||
venus = devices.venus.name;
|
|
||||||
charon = devices.charon.name;
|
|
||||||
|
|
||||||
# Helper function to get SSH keys for a specific user
|
|
||||||
getUserKeys = user: flake.config.people.users.${user}.sshKeys;
|
getUserKeys = user: flake.config.people.users.${user}.sshKeys;
|
||||||
in
|
|
||||||
{
|
user0Key = {
|
||||||
users.users =
|
|
||||||
if hostname == charon then
|
|
||||||
{ }
|
|
||||||
else if hostname == mars then
|
|
||||||
{
|
|
||||||
${user0} = {
|
${user0} = {
|
||||||
openssh.authorizedKeys.keys = getUserKeys user0;
|
openssh.authorizedKeys.keys = getUserKeys user0;
|
||||||
};
|
};
|
||||||
${user3} = {
|
|
||||||
openssh.authorizedKeys.keys = getUserKeys user3;
|
|
||||||
};
|
};
|
||||||
}
|
user1Key = {
|
||||||
|
${user1} = {
|
||||||
|
openssh.authorizedKeys.keys = getUserKeys user1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
users.users =
|
||||||
|
if hostname == mars then
|
||||||
|
user0Key // user1Key
|
||||||
else if
|
else if
|
||||||
builtins.elem hostname [
|
builtins.elem hostname [
|
||||||
deimos
|
deimos
|
||||||
ceres
|
ceres
|
||||||
]
|
]
|
||||||
then
|
then
|
||||||
{
|
user0Key
|
||||||
${user0} = {
|
|
||||||
openssh.authorizedKeys.keys = getUserKeys user0;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else if hostname == venus then
|
|
||||||
{
|
|
||||||
${user2} = {
|
|
||||||
openssh.authorizedKeys.keys = getUserKeys user2;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{ };
|
{ };
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,23 +17,12 @@ in
|
||||||
niri
|
niri
|
||||||
wayland
|
wayland
|
||||||
searx
|
searx
|
||||||
xserver
|
|
||||||
flatpak
|
flatpak
|
||||||
wireGuard
|
wireGuard
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
venus = {
|
|
||||||
imports = builtins.attrValues {
|
|
||||||
inherit (modules)
|
|
||||||
plasma
|
|
||||||
sddm
|
|
||||||
tablet
|
|
||||||
;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
deimos = {
|
deimos = {
|
||||||
imports = builtins.attrValues {
|
imports = builtins.attrValues {
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
|
@ -43,7 +32,6 @@ in
|
||||||
plasma
|
plasma
|
||||||
sddm
|
sddm
|
||||||
flatpak
|
flatpak
|
||||||
xserver
|
|
||||||
espanso
|
espanso
|
||||||
wireGuard
|
wireGuard
|
||||||
glance
|
glance
|
||||||
|
@ -56,22 +44,11 @@ in
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
plasma
|
plasma
|
||||||
sddm
|
sddm
|
||||||
xserver
|
|
||||||
wireGuard
|
wireGuard
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
charon = {
|
|
||||||
imports = builtins.attrValues {
|
|
||||||
inherit (modules)
|
|
||||||
gnome
|
|
||||||
flatpak
|
|
||||||
xserver
|
|
||||||
;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ceres = {
|
ceres = {
|
||||||
imports = builtins.attrValues {
|
imports = builtins.attrValues {
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
|
@ -89,9 +66,6 @@ in
|
||||||
searx
|
searx
|
||||||
vaultwarden
|
vaultwarden
|
||||||
forgejo
|
forgejo
|
||||||
xserver
|
|
||||||
# podgrab
|
|
||||||
# kanboard
|
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -100,6 +74,7 @@ in
|
||||||
imports = builtins.attrValues {
|
imports = builtins.attrValues {
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
sops
|
sops
|
||||||
|
xserver
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
{
|
|
||||||
flake,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
services.hypridle = {
|
services.hypridle = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
flake,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -16,8 +16,8 @@ in
|
||||||
systemPackages = [
|
systemPackages = [
|
||||||
(pkgs.catppuccin-sddm.override {
|
(pkgs.catppuccin-sddm.override {
|
||||||
flavor = "macchiato";
|
flavor = "macchiato";
|
||||||
font = "${fonts.names.name0}";
|
font = "${fonts.name}";
|
||||||
fontSize = "${toString fonts.sizes.desktop.size0}";
|
fontSize = "${toString fonts.sizes.popups}";
|
||||||
loginBackground = true;
|
loginBackground = true;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,19 +1,14 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
flake,
|
flake,
|
||||||
lib,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.people)
|
inherit (flake.config.people)
|
||||||
user0
|
user0
|
||||||
user1
|
|
||||||
user2
|
|
||||||
;
|
;
|
||||||
inherit (flake.config.machines) devices;
|
inherit (flake.config.machines) devices;
|
||||||
venus = devices.venus.name;
|
|
||||||
charon = devices.charon.name;
|
|
||||||
mars = devices.mars.name;
|
mars = devices.mars.name;
|
||||||
|
|
||||||
host = config.networking.hostName;
|
host = config.networking.hostName;
|
||||||
|
@ -26,15 +21,7 @@ in
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --time-format '%I:%M %p | %a • %h | %F' --theme border=magenta;text=cyan;prompt=green;time=red;action=blue;button=yellow;container=black;input=red --cmd Hyprland";
|
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --time-format '%I:%M %p | %a • %h | %F' --theme border=magenta;text=cyan;prompt=green;time=red;action=blue;button=yellow;container=black;input=red --cmd Hyprland";
|
||||||
user =
|
user = if host == mars then "greeter" else user0;
|
||||||
if host == mars then
|
|
||||||
"greeter"
|
|
||||||
else if host == charon then
|
|
||||||
user1
|
|
||||||
else if host == venus then
|
|
||||||
user2
|
|
||||||
else
|
|
||||||
user0;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, flake, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
|
|
|
@ -1,50 +1,7 @@
|
||||||
{
|
{ pkgs, ... }:
|
||||||
pkgs,
|
|
||||||
flake,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
inherit (flake.config.aesthetics.themes)
|
|
||||||
fonts
|
|
||||||
;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
programs.regreet = {
|
programs.regreet = {
|
||||||
enable = false;
|
enable = false;
|
||||||
package = pkgs.greetd.regreet;
|
package = pkgs.greetd.regreet;
|
||||||
# settings = {
|
|
||||||
# appearance = {
|
|
||||||
# greeting_msg = "Back for more, I see.";
|
|
||||||
# };
|
|
||||||
# GTK = {
|
|
||||||
# application_prefer_dark_theme = true;
|
|
||||||
# cursor_theme_name = lib.mkForce "catppuccin-macchiato-dark-cursors";
|
|
||||||
# font_name = lib.mkForce "${fonts.names.name0} ${font.size.desktop}";
|
|
||||||
# icon_theme_name = lib.mkForce "Papirus-Dark";
|
|
||||||
# theme_name = lib.mkForce "catppuccin-macchiato-mauve-compact";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# theme = {
|
|
||||||
# name = "catppuccin-macchiato-mauve-compact";
|
|
||||||
# package = pkgs.catppuccin-gtk.override {
|
|
||||||
# size = "compact";
|
|
||||||
# variant = "macchiato";
|
|
||||||
# accents = [
|
|
||||||
# "mauve"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# cursorTheme = {
|
|
||||||
# name = "catppuccin-macchiato-dark-cursors";
|
|
||||||
# package = pkgs.catppuccin-cursors.macchiatoDark;
|
|
||||||
# };
|
|
||||||
# iconTheme = {
|
|
||||||
# name = "Papirus-Dark";
|
|
||||||
# package = pkgs.catppuccin-papirus-folders.override {
|
|
||||||
# flavor = "macchiato";
|
|
||||||
# accent = "mauve";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ flake, config, ... }:
|
{ flake, ... }:
|
||||||
let
|
let
|
||||||
inherit (flake.config.services.instances) audiobookshelf web;
|
inherit (flake.config.services.instances) audiobookshelf web;
|
||||||
inherit (flake.config.machines.devices) ceres;
|
inherit (flake.config.machines.devices) ceres;
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{ config, flake, ... }:
|
{ config, flake, ... }:
|
||||||
let
|
let
|
||||||
inherit (flake.config.people) user0;
|
inherit (flake.config.services.instances) glance jellyfin;
|
||||||
inherit (flake.config.services.instances) glance jellyfin web;
|
|
||||||
inherit (flake.config.machines.devices) ceres;
|
|
||||||
service = glance;
|
service = glance;
|
||||||
configPath = ./config;
|
configPath = ./config;
|
||||||
configImports = {
|
configImports = {
|
||||||
|
|
|
@ -1,13 +1,6 @@
|
||||||
{
|
{ flake, ... }:
|
||||||
flake,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
inherit (flake.config.machines.devices)
|
inherit (flake.config.services.instances) kanboard web;
|
||||||
ceres
|
|
||||||
;
|
|
||||||
inherit (flake.config.services.instances) smtp kanboard web;
|
|
||||||
service = kanboard;
|
service = kanboard;
|
||||||
localhost = web.localhost.address0;
|
localhost = web.localhost.address0;
|
||||||
host = service.domains.url0;
|
host = service.domains.url0;
|
||||||
|
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{ flake, config, ... }:
|
||||||
flake,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
inherit (flake.config.machines.devices)
|
inherit (flake.config.machines.devices)
|
||||||
mars
|
mars
|
||||||
|
|
|
@ -3,7 +3,6 @@ let
|
||||||
inherit (flake.config.machines.devices)
|
inherit (flake.config.machines.devices)
|
||||||
synology
|
synology
|
||||||
phone
|
phone
|
||||||
tablet
|
|
||||||
;
|
;
|
||||||
inherit (flake.config.services.instances)
|
inherit (flake.config.services.instances)
|
||||||
syncthing
|
syncthing
|
||||||
|
|
|
@ -1,40 +1,6 @@
|
||||||
{
|
{ flake, ... }:
|
||||||
flake,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
let
|
||||||
inherit (flake.config.people)
|
inherit (flake.config.people) user0;
|
||||||
user0
|
|
||||||
user1
|
|
||||||
user2
|
|
||||||
user3
|
|
||||||
;
|
|
||||||
inherit (flake.config.machines)
|
|
||||||
devices
|
|
||||||
;
|
|
||||||
hostname = config.networking.hostName;
|
|
||||||
mars = devices.mars.name;
|
|
||||||
ceres = devices.ceres.name;
|
|
||||||
venus = devices.venus.name;
|
|
||||||
charon = devices.charon.name;
|
|
||||||
deimos = devices.deimos.name;
|
|
||||||
|
|
||||||
userLogic =
|
|
||||||
if
|
|
||||||
builtins.elem hostname [
|
|
||||||
mars
|
|
||||||
deimos
|
|
||||||
ceres
|
|
||||||
]
|
|
||||||
then
|
|
||||||
user0
|
|
||||||
else if hostname == charon then
|
|
||||||
user1
|
|
||||||
else if hostname == venus then
|
|
||||||
user2
|
|
||||||
else
|
|
||||||
"";
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
sops = {
|
sops = {
|
||||||
|
@ -44,22 +10,18 @@ in
|
||||||
keyFile = "/var/lib/sops-nix/key.txt";
|
keyFile = "/var/lib/sops-nix/key.txt";
|
||||||
generateKey = false;
|
generateKey = false;
|
||||||
};
|
};
|
||||||
secrets =
|
secrets = {
|
||||||
if hostname == charon then
|
|
||||||
{ }
|
|
||||||
else
|
|
||||||
{
|
|
||||||
"ssh/private" = {
|
"ssh/private" = {
|
||||||
path = "/home/${userLogic}/.ssh/id_ed25519";
|
path = "/home/${user0}/.ssh/id_ed25519";
|
||||||
owner = userLogic;
|
owner = user0;
|
||||||
};
|
};
|
||||||
"ssh/public" = {
|
"ssh/public" = {
|
||||||
path = "/home/${userLogic}/.ssh/id_ed25519.pub";
|
path = "/home/${user0}/.ssh/id_ed25519.pub";
|
||||||
owner = userLogic;
|
owner = user0;
|
||||||
};
|
};
|
||||||
"ssh/hosts" = {
|
"ssh/hosts" = {
|
||||||
path = "/home/${userLogic}/.ssh/known_hosts";
|
path = "/home/${user0}/.ssh/known_hosts";
|
||||||
owner = userLogic;
|
owner = user0;
|
||||||
};
|
};
|
||||||
"claude-api-key" = {
|
"claude-api-key" = {
|
||||||
path = "/home/${user0}/.config/zed/claude-api-key";
|
path = "/home/${user0}/.config/zed/claude-api-key";
|
||||||
|
|
|
@ -9,7 +9,6 @@ let
|
||||||
inherit (flake) self;
|
inherit (flake) self;
|
||||||
inherit (flake.config.people) user0;
|
inherit (flake.config.people) user0;
|
||||||
inherit (flake.config.machines) devices;
|
inherit (flake.config.machines) devices;
|
||||||
inherit (flake.config.services) instances;
|
|
||||||
inherit (flake.config.people.users.${user0}) name paths;
|
inherit (flake.config.people.users.${user0}) name paths;
|
||||||
|
|
||||||
hostname = config.networking.hostName;
|
hostname = config.networking.hostName;
|
||||||
|
@ -49,66 +48,17 @@ in
|
||||||
username = user0;
|
username = user0;
|
||||||
homeDirectory = "/home/${user0}";
|
homeDirectory = "/home/${user0}";
|
||||||
file = {
|
file = {
|
||||||
"./justfile" =
|
"./justfile" = import ./files/misc/justfile.nix { inherit flake config lib; };
|
||||||
let
|
|
||||||
mars = devices.mars;
|
|
||||||
deimos = devices.deimos;
|
|
||||||
deviceLogic = if hostname == mars.name then deimos else mars;
|
|
||||||
|
|
||||||
vpnServers = [
|
|
||||||
"CA363"
|
|
||||||
"CA220"
|
|
||||||
"CA358"
|
|
||||||
"CA627"
|
|
||||||
];
|
|
||||||
|
|
||||||
vpnCommands = lib.concatStrings (
|
|
||||||
lib.imap0 (i: server: ''
|
|
||||||
vpn${toString i}:
|
|
||||||
sudo systemctl start wg-quick-Proton-${server}.service
|
|
||||||
|
|
||||||
'') vpnServers
|
|
||||||
);
|
|
||||||
in
|
|
||||||
{
|
|
||||||
text = ''
|
|
||||||
rebuildBoot:
|
|
||||||
nixos-rebuild boot --use-remote-sudo --flake ~/Files/Projects/dotfiles#${hostname} --show-trace
|
|
||||||
|
|
||||||
rebuild:
|
|
||||||
nixos-rebuild switch --use-remote-sudo --flake ~/Files/Projects/dotfiles#${hostname} --show-trace
|
|
||||||
|
|
||||||
update:
|
|
||||||
nix flake update --flake ~/Files/Projects/dotfiles
|
|
||||||
|
|
||||||
elm:
|
|
||||||
cd ~/Files/Projects/website/frontend ; elm-land server
|
|
||||||
|
|
||||||
server:
|
|
||||||
ssh ${devices.ceres.ip.address0}
|
|
||||||
|
|
||||||
serverRemote:
|
|
||||||
ssh ${instances.web.remotehost.address0}
|
|
||||||
|
|
||||||
${deviceLogic.name}:
|
|
||||||
ssh ${deviceLogic.ip.address0}
|
|
||||||
|
|
||||||
vpnoff:
|
|
||||||
sudo systemctl stop wg-quick-Proton-*.service
|
|
||||||
|
|
||||||
${vpnCommands}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
"./Files/Scripts/list.sh" = {
|
"./Files/Scripts/list.sh" = {
|
||||||
source = ./files/list.sh;
|
source = ./files/scripts/list.sh;
|
||||||
executable = true;
|
executable = true;
|
||||||
};
|
};
|
||||||
"./Files/Scripts/loop.sh" = {
|
"./Files/Scripts/loop.sh" = {
|
||||||
source = ./files/loop.sh;
|
source = ./files/scripts/loop.sh;
|
||||||
executable = true;
|
executable = true;
|
||||||
};
|
};
|
||||||
"./.config/scripts/get_weather.sh" = {
|
"./.config/scripts/get_weather.sh" = {
|
||||||
source = ./files/get_weather.sh;
|
source = ./files/scripts/get_weather.sh;
|
||||||
executable = true;
|
executable = true;
|
||||||
};
|
};
|
||||||
".config/wallpaper" = {
|
".config/wallpaper" = {
|
||||||
|
|
60
profiles/user0/files/misc/justfile.nix
Executable file
|
@ -0,0 +1,60 @@
|
||||||
|
{
|
||||||
|
flake,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (flake.config.machines) devices;
|
||||||
|
inherit (flake.config.services) instances;
|
||||||
|
|
||||||
|
mars = devices.mars;
|
||||||
|
deimos = devices.deimos;
|
||||||
|
hostname = config.networking.hostName;
|
||||||
|
deviceLogic = if hostname == mars.name then deimos else mars;
|
||||||
|
|
||||||
|
vpnServers = [
|
||||||
|
"CA363"
|
||||||
|
"CA220"
|
||||||
|
"CA358"
|
||||||
|
"CA627"
|
||||||
|
];
|
||||||
|
|
||||||
|
vpnCommands = lib.concatStrings (
|
||||||
|
lib.imap0 (i: server: ''
|
||||||
|
vpn${toString i}:
|
||||||
|
sudo systemctl start wg-quick-Proton-${server}.service
|
||||||
|
|
||||||
|
'') vpnServers
|
||||||
|
);
|
||||||
|
in
|
||||||
|
{
|
||||||
|
text = ''
|
||||||
|
rebuildBoot:
|
||||||
|
nixos-rebuild boot --use-remote-sudo --flake ~/Files/Projects/dotfiles#${hostname} --show-trace
|
||||||
|
|
||||||
|
rebuild:
|
||||||
|
nixos-rebuild switch --use-remote-sudo --flake ~/Files/Projects/dotfiles#${hostname} --show-trace
|
||||||
|
|
||||||
|
update:
|
||||||
|
nix flake update --flake ~/Files/Projects/dotfiles
|
||||||
|
|
||||||
|
elm:
|
||||||
|
cd ~/Files/Projects/website/frontend ; elm-land server
|
||||||
|
|
||||||
|
server:
|
||||||
|
ssh ${devices.ceres.ip.address0}
|
||||||
|
|
||||||
|
serverRemote:
|
||||||
|
ssh ${instances.web.remotehost.address0}
|
||||||
|
|
||||||
|
${deviceLogic.name}:
|
||||||
|
ssh ${deviceLogic.ip.address0}
|
||||||
|
|
||||||
|
vpnoff:
|
||||||
|
sudo systemctl stop wg-quick-Proton-*.service
|
||||||
|
|
||||||
|
${vpnCommands}
|
||||||
|
'';
|
||||||
|
}
|
|
@ -2,13 +2,14 @@
|
||||||
config,
|
config,
|
||||||
flake,
|
flake,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake) self;
|
inherit (flake) self;
|
||||||
inherit (flake.config.people) user1;
|
inherit (flake.config.people) user1;
|
||||||
inherit (flake.config.machines) devices;
|
inherit (flake.config.machines) devices;
|
||||||
inherit (flake.config.people.users.${user1}) name;
|
inherit (flake.config.people.users.${user1}) name paths;
|
||||||
hostname = config.networking.hostName;
|
hostname = config.networking.hostName;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -19,13 +20,15 @@ in
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
shell = pkgs.nushell;
|
shell = pkgs.nushell;
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"libvirtd"
|
"adbusers"
|
||||||
"disk"
|
"disk"
|
||||||
|
"libvirtd"
|
||||||
|
"netdev"
|
||||||
"networkmanager"
|
"networkmanager"
|
||||||
|
"plugdev"
|
||||||
|
"samba"
|
||||||
"vboxusers"
|
"vboxusers"
|
||||||
"wheel"
|
"wheel"
|
||||||
"adbusers"
|
|
||||||
"netdev"
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -35,19 +38,22 @@ in
|
||||||
username = user1;
|
username = user1;
|
||||||
homeDirectory = "/home/${user1}";
|
homeDirectory = "/home/${user1}";
|
||||||
file = {
|
file = {
|
||||||
"./justfile" = {
|
|
||||||
source = ./files/justfile;
|
|
||||||
};
|
|
||||||
"./.config/scripts/get_weather.sh" = {
|
"./.config/scripts/get_weather.sh" = {
|
||||||
source = ./files/get_weather.sh;
|
source = ./files/scripts/get_weather.sh;
|
||||||
executable = true;
|
executable = true;
|
||||||
};
|
};
|
||||||
".config/wallpaper" = {
|
".config/wallpaper" = {
|
||||||
source = ./files/wallpaper;
|
source = ./files/wallpaper;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
};
|
};
|
||||||
|
"./.config/vesktop/themes/macchiato-theme.css" = {
|
||||||
|
source = ./files/themes/vesktop/macchiato-theme.css;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
sessionVariables = {
|
||||||
|
VISUAL = lib.getExe pkgs.zed-editor;
|
||||||
|
GTK_THEME = "catppuccin-macchiato-mauve-compact";
|
||||||
};
|
};
|
||||||
sessionVariables = { };
|
|
||||||
};
|
};
|
||||||
imports = [
|
imports = [
|
||||||
{
|
{
|
||||||
|
@ -61,4 +67,25 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
systemd.tmpfiles = {
|
||||||
|
rules =
|
||||||
|
[
|
||||||
|
"d ${paths.path0} 0755 ${user1} users -"
|
||||||
|
]
|
||||||
|
++ (map (path: "d /home/${user1}/${path} 0755 ${user1} users -") [
|
||||||
|
"Files"
|
||||||
|
"Files/Scripts"
|
||||||
|
"Files/Games"
|
||||||
|
"Files/Screenshots"
|
||||||
|
])
|
||||||
|
++ (map (path: "R /home/${user1}/${path} 0755 ${user1} users - -") [
|
||||||
|
"Desktop"
|
||||||
|
"Documents"
|
||||||
|
"Music"
|
||||||
|
"Pictures"
|
||||||
|
"Public"
|
||||||
|
"Templates"
|
||||||
|
"Videos"
|
||||||
|
]);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
ewwEdit:
|
|
||||||
eww --config /home/nick/dotfiles/home-manager/modules/eww/config/ open centerPanel
|
|
||||||
|
|
||||||
ewwLaunch:
|
|
||||||
./home/nick/dotfiles/home-manager/modules/eww/config/scripts/master.sh
|
|
||||||
|
|
||||||
gobrrr:
|
|
||||||
home-manager switch --flake ~/dotfiles#desktop
|
|
||||||
|
|
||||||
gobrrrl:
|
|
||||||
nixos-rebuild switch --use-remote-sudo --flake /home/nick/dotfiles#desktop
|
|
||||||
|
|
||||||
fuckoff:
|
|
||||||
shutdown now
|
|
Before Width: | Height: | Size: 416 KiB |
Before Width: | Height: | Size: 772 KiB After Width: | Height: | Size: 772 KiB |
Before Width: | Height: | Size: 172 KiB |
Before Width: | Height: | Size: 578 KiB After Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 200 KiB |
Before Width: | Height: | Size: 886 KiB After Width: | Height: | Size: 886 KiB |
Before Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 314 KiB |
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 201 KiB |
Before Width: | Height: | Size: 808 KiB After Width: | Height: | Size: 808 KiB |
Before Width: | Height: | Size: 578 KiB After Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 1.7 MiB After Width: | Height: | Size: 1.7 MiB |
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
Before Width: | Height: | Size: 5.1 MiB After Width: | Height: | Size: 5.1 MiB |
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 3.5 MiB |
Before Width: | Height: | Size: 632 KiB After Width: | Height: | Size: 632 KiB |
Before Width: | Height: | Size: 460 KiB After Width: | Height: | Size: 460 KiB |
Before Width: | Height: | Size: 8.2 MiB After Width: | Height: | Size: 8.2 MiB |
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
Before Width: | Height: | Size: 833 KiB After Width: | Height: | Size: 833 KiB |
Before Width: | Height: | Size: 467 KiB After Width: | Height: | Size: 467 KiB |
Before Width: | Height: | Size: 2 MiB After Width: | Height: | Size: 2 MiB |
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 257 KiB |
Before Width: | Height: | Size: 261 KiB After Width: | Height: | Size: 261 KiB |
Before Width: | Height: | Size: 144 KiB After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 501 KiB After Width: | Height: | Size: 501 KiB |
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 252 KiB |
Before Width: | Height: | Size: 646 KiB After Width: | Height: | Size: 646 KiB |
Before Width: | Height: | Size: 422 KiB After Width: | Height: | Size: 422 KiB |
Before Width: | Height: | Size: 552 KiB After Width: | Height: | Size: 552 KiB |