feat: init
1
.envrc
Executable file
|
@ -0,0 +1 @@
|
|||
use flake
|
4
.gitignore
vendored
Executable file
|
@ -0,0 +1,4 @@
|
|||
.direnv
|
||||
.vscode
|
||||
.pre-commit-config.yaml
|
||||
result
|
7
.sops.yaml
Executable file
|
@ -0,0 +1,7 @@
|
|||
keys:
|
||||
- &user0 age19dpncsdphdt2tmknjs99eghk527pvdrw0m29qjn2z2gg3et5tdtqycqhl0
|
||||
creation_rules:
|
||||
- path_regex: secrets/secrets.yaml$
|
||||
key_groups:
|
||||
- age:
|
||||
- *user0
|
168
config/default.nix
Executable file
|
@ -0,0 +1,168 @@
|
|||
{lib, ...}: let
|
||||
deviceNames = [
|
||||
"desktop"
|
||||
"fallaryn"
|
||||
"laptop"
|
||||
"nas"
|
||||
"phone"
|
||||
"server"
|
||||
"tablet"
|
||||
"wildcard"
|
||||
];
|
||||
instanceNames = [
|
||||
"acme"
|
||||
"caddy"
|
||||
"castopod"
|
||||
"forgejo"
|
||||
"jellyfin"
|
||||
"mastodon"
|
||||
"matrix"
|
||||
"minecraft"
|
||||
"nextcloud"
|
||||
"nginx"
|
||||
"ollama"
|
||||
"peertube"
|
||||
"postgresql"
|
||||
"samba"
|
||||
"syncthing"
|
||||
"synology"
|
||||
"vaultwarden"
|
||||
"writefreely"
|
||||
];
|
||||
userNames = [
|
||||
"user0"
|
||||
"user1"
|
||||
"user2"
|
||||
"user3"
|
||||
];
|
||||
stringType = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
};
|
||||
intType = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
};
|
||||
listType = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
};
|
||||
|
||||
numOptions = 20;
|
||||
|
||||
genOptions = config: prefix:
|
||||
builtins.listToAttrs (
|
||||
map
|
||||
(i: {
|
||||
name = "${prefix}${toString i}";
|
||||
value = config;
|
||||
})
|
||||
(builtins.genList (i: i) numOptions)
|
||||
);
|
||||
in let
|
||||
peopleSubmodule = lib.types.submodule {
|
||||
options =
|
||||
builtins.listToAttrs (map (name: {
|
||||
inherit name;
|
||||
value = stringType;
|
||||
})
|
||||
userNames)
|
||||
// {
|
||||
user = lib.mkOption {
|
||||
type = lib.types.attrsOf userSubmodule;
|
||||
};
|
||||
};
|
||||
};
|
||||
userSubmodule = lib.types.submodule {
|
||||
options = {
|
||||
name = stringType;
|
||||
sshKeys = listType;
|
||||
group = stringType;
|
||||
email = genOptions stringType "address";
|
||||
domain = genOptions stringType "url";
|
||||
dns = genOptions stringType "provider";
|
||||
git = genOptions stringType "path";
|
||||
};
|
||||
};
|
||||
serviceSubmodule = lib.types.submodule {
|
||||
options =
|
||||
builtins.listToAttrs (
|
||||
map
|
||||
(name: {
|
||||
inherit name;
|
||||
value = stringType;
|
||||
})
|
||||
instanceNames
|
||||
)
|
||||
// {
|
||||
instance = lib.mkOption {
|
||||
type = lib.types.attrsOf instanceSubmodule;
|
||||
};
|
||||
};
|
||||
};
|
||||
instanceSubmodule = lib.types.submodule {
|
||||
options = {
|
||||
subdomain = stringType;
|
||||
label = stringType;
|
||||
name = stringType;
|
||||
sops = genOptions stringType "path";
|
||||
paths = genOptions stringType "path";
|
||||
ports = genOptions intType "port";
|
||||
ssl = {
|
||||
cert = stringType;
|
||||
key = stringType;
|
||||
};
|
||||
};
|
||||
};
|
||||
systemSubmodule = lib.types.submodule {
|
||||
options =
|
||||
builtins.listToAttrs (
|
||||
map
|
||||
(name: {
|
||||
inherit name;
|
||||
value = stringType;
|
||||
})
|
||||
deviceNames
|
||||
)
|
||||
// {
|
||||
device = lib.mkOption {
|
||||
type = lib.types.attrsOf deviceSubmodule;
|
||||
};
|
||||
};
|
||||
};
|
||||
deviceSubmodule = let
|
||||
mountConfig = {
|
||||
mount = stringType;
|
||||
device = stringType;
|
||||
options = listType;
|
||||
};
|
||||
in
|
||||
lib.types.submodule {
|
||||
options =
|
||||
{
|
||||
boot = mountConfig;
|
||||
ip = genOptions stringType "address";
|
||||
label = stringType;
|
||||
name = stringType;
|
||||
sync = stringType;
|
||||
}
|
||||
// genOptions mountConfig "folder"
|
||||
// genOptions mountConfig "samba"
|
||||
// genOptions mountConfig "storage";
|
||||
};
|
||||
in {
|
||||
options = {
|
||||
service = lib.mkOption {
|
||||
type = serviceSubmodule;
|
||||
};
|
||||
system = lib.mkOption {
|
||||
type = systemSubmodule;
|
||||
};
|
||||
people = lib.mkOption {
|
||||
type = peopleSubmodule;
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
people = import ./user.nix;
|
||||
service = import ./instance.nix;
|
||||
system = import ./device.nix;
|
||||
};
|
||||
}
|
184
config/device.nix
Executable file
|
@ -0,0 +1,184 @@
|
|||
let
|
||||
perms22 = ["fmask=0022" "dmask=0022"];
|
||||
perms77 = ["fmask=0077" "dmask=0077"];
|
||||
permsRW = ["rw"];
|
||||
permsSmb = ["rw" "gid=100" "vers=3.0" "x-systemd.automount" "x-systemd.requires=network-online.target"];
|
||||
permsFm = ["file_mode=0644" "dir_mode=0755"];
|
||||
uid0 = ["uid=1000"];
|
||||
uid1 = ["uid=1001"];
|
||||
in {
|
||||
device = {
|
||||
# Desktop
|
||||
desktop = {
|
||||
label = "Desktop";
|
||||
name = "desktop";
|
||||
sync = "";
|
||||
ip = {
|
||||
address0 = "192.168.50.196";
|
||||
};
|
||||
boot = {
|
||||
options = perms22;
|
||||
};
|
||||
storage0 = {
|
||||
mount = "/mnt/media/games";
|
||||
device = "/dev/disk/by-label/Games";
|
||||
options = permsRW;
|
||||
};
|
||||
storage1 = {
|
||||
mount = "/mnt/media/storage";
|
||||
device = "/dev/disk/by-label/Storage";
|
||||
options = permsRW;
|
||||
};
|
||||
};
|
||||
|
||||
# Laptop
|
||||
|
||||
laptop = {
|
||||
label = "Laptop";
|
||||
name = "laptop";
|
||||
sync = "";
|
||||
ip = {
|
||||
address0 = "192.168.50.142";
|
||||
};
|
||||
boot = {
|
||||
options = perms22;
|
||||
};
|
||||
};
|
||||
|
||||
# Server
|
||||
|
||||
server = let
|
||||
serverName = "server";
|
||||
serverIP = "192.168.50.140";
|
||||
in {
|
||||
label = "Server";
|
||||
name = serverName;
|
||||
ip = {
|
||||
address0 = serverIP;
|
||||
};
|
||||
boot = {
|
||||
options = perms77;
|
||||
};
|
||||
storage0 = let
|
||||
nasPath = "NAS1";
|
||||
in {
|
||||
mount = "/mnt/media/${nasPath}";
|
||||
device = "/dev/disk/by-label/${nasPath}";
|
||||
options = permsRW;
|
||||
};
|
||||
samba0 = let
|
||||
share0Name = "media";
|
||||
in {
|
||||
mount = "/mnt/media/${serverName}/${share0Name}";
|
||||
device = "//${serverIP}/${share0Name}";
|
||||
options = permsSmb ++ permsFm ++ uid0;
|
||||
};
|
||||
};
|
||||
|
||||
# Synology
|
||||
|
||||
nas = let
|
||||
user0 = "nick";
|
||||
user1 = "garnet";
|
||||
user2 = "fallaryn";
|
||||
user3 = "denise";
|
||||
user0Name = "Nick";
|
||||
user1Name = "Garnet";
|
||||
user2Name = "Fallaryn";
|
||||
user3Name = "Denise";
|
||||
nasName = "synology";
|
||||
nasIP = "192.168.50.209";
|
||||
in {
|
||||
label = "Synology";
|
||||
sync = "MWRGX2V-F5XKE5E-REP6ECT-OOPFBMF-22NHSMW-YFBU6MB-PLFUN63-R3MW2QX";
|
||||
name = nasName;
|
||||
ip = {
|
||||
address0 = nasIP;
|
||||
};
|
||||
# Nick Home Folder
|
||||
folder0 = {
|
||||
mount = "/mnt/media/${nasName}/${user0}";
|
||||
device = "//${nasIP}/homes/${user0Name}";
|
||||
options = permsSmb ++ uid0;
|
||||
};
|
||||
# Garnet Home Folder
|
||||
folder1 = {
|
||||
mount = "/mnt/media/${nasName}/${user1}";
|
||||
device = "//${nasIP}/homes/${user1Name}";
|
||||
options = permsSmb ++ uid1;
|
||||
};
|
||||
# Fallaryn Home Folder
|
||||
folder2 = {
|
||||
mount = "/mnt/media/${nasName}/${user2}";
|
||||
device = "//${nasIP}/homes/${user2Name}";
|
||||
options = permsSmb ++ uid0;
|
||||
};
|
||||
# Denise Home Folder
|
||||
folder3 = {
|
||||
mount = "/mnt/media/${nasName}/${user3}";
|
||||
device = "//${nasIP}/homes/${user3Name}";
|
||||
options = permsSmb ++ uid0;
|
||||
};
|
||||
# Minecraft Worlds
|
||||
folder4 = {
|
||||
mount = "/home/${user1}/.local/share/PrismLauncher/instances/1.21/.minecraft/saves";
|
||||
device = "//${nasIP}/homes/${user1Name}/Minecraft";
|
||||
options = permsSmb ++ uid1;
|
||||
};
|
||||
};
|
||||
|
||||
# Fallaryn Desktop
|
||||
|
||||
fallaryn = {
|
||||
label = "fallaryn";
|
||||
name = "fallaryn";
|
||||
ip = {
|
||||
address0 = "";
|
||||
};
|
||||
boot = {
|
||||
options = perms22;
|
||||
};
|
||||
storage0 = {
|
||||
mount = "/run/media/games";
|
||||
device = "/dev/disk/by-label/Games";
|
||||
options = permsRW;
|
||||
};
|
||||
storage1 = {
|
||||
mount = "/run/media/entertainment";
|
||||
device = "/dev/disk/by-label/Entertainment";
|
||||
options = permsRW;
|
||||
};
|
||||
};
|
||||
|
||||
# Pixel 7 Pro
|
||||
|
||||
phone = {
|
||||
name = "pixel";
|
||||
sync = "AE65XCK-4FYDDBB-SMPCDQO-U3CZUHA-LAWTKZY-ZBUGVNI-ZRYACB2-FFNFVQF";
|
||||
ip = {
|
||||
address0 = "192.168.50.243";
|
||||
};
|
||||
};
|
||||
|
||||
# Samsung S7 FE
|
||||
|
||||
tablet = {
|
||||
name = "tablet";
|
||||
sync = "I2ZSCZU-T4JMUJJ-XCUQ3MY-G5EUFZ5-KRG2DRY-XIBJZZM-FQW3UMY-CBCTUQU";
|
||||
ip = {
|
||||
address0 = "192.168.50.189";
|
||||
};
|
||||
};
|
||||
|
||||
# No particular system
|
||||
|
||||
wildcard = {
|
||||
ip = {
|
||||
address0 = "127.0.0.1"; # Local
|
||||
address1 = "0.0.0.0"; # All
|
||||
address2 = "192.168.50.1"; # Router
|
||||
address3 = "192.168.50.0"; # Router
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
336
config/instance.nix
Executable file
|
@ -0,0 +1,336 @@
|
|||
let
|
||||
acmeLabel = "Acme";
|
||||
caddyLabel = "Caddy";
|
||||
castLabel = "Castopod";
|
||||
forgejoLabel = "Forgejo";
|
||||
jellyfinLabel = "Jellyfin";
|
||||
mastodonLabel = "Mastodon";
|
||||
matrixLabel = "Matrix";
|
||||
minecraftLabel = "Minecraft";
|
||||
nextcloudLabel = "Nextcloud";
|
||||
ollamaLabel = "Ollama";
|
||||
peertubeLabel = "PeerTube";
|
||||
postgresLabel = "PostgreSQL";
|
||||
sambaLabel = "Samba";
|
||||
syncthingLabel = "Syncthing";
|
||||
synologyLabel = "Synology";
|
||||
vaultwardenLabel = "Vaultwarden";
|
||||
writefreelyLabel = "WriteFreely";
|
||||
|
||||
acmeName = "acme";
|
||||
caddyName = "caddy";
|
||||
castName = "castopod";
|
||||
forgejoName = "forgejo";
|
||||
jellyfinName = "jellyfin";
|
||||
mastodonName = "mastodon";
|
||||
matrixName = "matrix";
|
||||
minecraftName = "minecraft";
|
||||
nextcloudName = "nextcloud";
|
||||
ollamaName = "ollama";
|
||||
peertubeName = "peertube";
|
||||
postgresName = "postgres";
|
||||
sambaName = "samba";
|
||||
syncthingName = "syncthing";
|
||||
synologyName = "synology";
|
||||
vaultwardenName = "vaultwarden";
|
||||
writefreelyName = "writefreely";
|
||||
|
||||
domain0 = "cloudbert.fun";
|
||||
domain1 = "the-nutrivore.social";
|
||||
|
||||
servicePath = "/mnt/media/NAS1";
|
||||
|
||||
sops = "/var/lib/secrets";
|
||||
|
||||
sslPath = "/var/lib/acme";
|
||||
in {
|
||||
instance = {
|
||||
acme = {
|
||||
label = acmeLabel;
|
||||
name = acmeName;
|
||||
paths = {
|
||||
path0 = sslPath;
|
||||
};
|
||||
sops = {
|
||||
path0 = "${sops}/${acmeName}";
|
||||
};
|
||||
};
|
||||
caddy = {
|
||||
label = caddyLabel;
|
||||
name = caddyName;
|
||||
sops = {
|
||||
path0 = "${sops}/${caddyName}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 80;
|
||||
port1 = 443;
|
||||
};
|
||||
};
|
||||
castopod = let
|
||||
castDomain = "podcast";
|
||||
in {
|
||||
label = castLabel;
|
||||
name = castName;
|
||||
sops = {
|
||||
path0 = "${sops}/${castName}";
|
||||
};
|
||||
subdomain = castDomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${castLabel}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 8000;
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${castDomain}.${domain1}/fullchain.pem";
|
||||
key = "${sslPath}/${castDomain}.${domain1}/key.pem";
|
||||
};
|
||||
};
|
||||
forgejo = let
|
||||
forgejoDomain = "source";
|
||||
in {
|
||||
label = forgejoLabel;
|
||||
name = forgejoName;
|
||||
sops = {
|
||||
path0 = "${sops}/${forgejoName}";
|
||||
};
|
||||
subdomain = forgejoDomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${forgejoLabel}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 3000;
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${forgejoDomain}.${domain1}/fullchain.pem";
|
||||
key = "${sslPath}/${forgejoDomain}.${domain1}/key.pem";
|
||||
};
|
||||
};
|
||||
jellyfin = {
|
||||
label = jellyfinLabel;
|
||||
name = jellyfinName;
|
||||
sops = {
|
||||
path0 = "${sops}/${jellyfinName}";
|
||||
};
|
||||
subdomain = jellyfinName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${jellyfinLabel}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 5055; # Jellyseer
|
||||
port1 = 8096; # Jellyfin HTTP
|
||||
port2 = 8920; # Jellyfin HTTPS
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${jellyfinName}.${domain0}/fullchain.pem";
|
||||
key = "${sslPath}/${jellyfinName}.${domain0}/key.pem";
|
||||
};
|
||||
};
|
||||
matrix = {
|
||||
label = matrixLabel;
|
||||
name = matrixName;
|
||||
sops = {
|
||||
path0 = "${sops}/${matrixName}";
|
||||
};
|
||||
subdomain = matrixName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${matrixLabel}";
|
||||
path1 = "";
|
||||
path2 = "";
|
||||
};
|
||||
};
|
||||
mastodon = {
|
||||
label = mastodonLabel;
|
||||
name = mastodonName;
|
||||
sops = {
|
||||
path0 = "${sops}/${mastodonName}";
|
||||
};
|
||||
paths = {
|
||||
path0 = "${servicePath}/${mastodonLabel}";
|
||||
path1 = "";
|
||||
path2 = "";
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${domain1}/fullchain.pem";
|
||||
key = "${sslPath}/${domain1}/key.pem";
|
||||
};
|
||||
};
|
||||
minecraft = {
|
||||
label = minecraftLabel;
|
||||
name = minecraftName;
|
||||
sops = {
|
||||
path0 = "${sops}/${minecraftName}";
|
||||
};
|
||||
subdomain = minecraftName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${minecraftLabel}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 43000; # Minecraft (Brix on Nix)
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${minecraftName}.${domain0}/fullchain.pem";
|
||||
key = "${sslPath}/${minecraftName}.${domain0}/key.pem";
|
||||
};
|
||||
};
|
||||
nextcloud = {
|
||||
label = nextcloudLabel;
|
||||
name = nextcloudName;
|
||||
sops = {
|
||||
path0 = "${sops}/${nextcloudName}";
|
||||
};
|
||||
subdomain = nextcloudName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${nextcloudLabel}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 8354; # Nextcloud
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${nextcloudName}.${domain0}/fullchain.pem";
|
||||
key = "${sslPath}/${nextcloudName}.${domain0}/key.pem";
|
||||
};
|
||||
};
|
||||
nginx = {
|
||||
ports = {
|
||||
port0 = 8080; # HTTP
|
||||
port1 = 8443; # HTTPS
|
||||
};
|
||||
};
|
||||
ollama = {
|
||||
label = ollamaLabel;
|
||||
name = ollamaName;
|
||||
sops = {
|
||||
path0 = "${sops}/${ollamaName}";
|
||||
};
|
||||
subdomain = ollamaName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${ollamaLabel}";
|
||||
path1 = "/mnt/media/storage/${ollamaName}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 8088; # Open-WebUI (Ollama Front End)
|
||||
port1 = 11434; # Ollama API
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${ollamaName}.${domain0}/fullchain.pem";
|
||||
key = "${sslPath}/${ollamaName}.${domain0}/key.pem";
|
||||
};
|
||||
};
|
||||
peertube = {
|
||||
label = peertubeLabel;
|
||||
name = peertubeName;
|
||||
sops = {
|
||||
path0 = "${sops}/${peertubeName}";
|
||||
};
|
||||
subdomain = "video";
|
||||
paths = {
|
||||
path0 = "${servicePath}/${peertubeLabel}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 9000; # HTTP
|
||||
port1 = 1935;
|
||||
port2 = 1936;
|
||||
port3 = 5432;
|
||||
port4 = 52800;
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/video.${domain1}/fullchain.pem";
|
||||
key = "${sslPath}/video.${domain1}/key.pem";
|
||||
};
|
||||
};
|
||||
postgresql = {
|
||||
label = postgresLabel;
|
||||
name = postgresName;
|
||||
sops = {
|
||||
path0 = "${sops}/${postgresName}";
|
||||
};
|
||||
paths = {
|
||||
path0 = "${servicePath}/${postgresLabel}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 5432;
|
||||
};
|
||||
};
|
||||
samba = {
|
||||
label = sambaLabel;
|
||||
name = sambaName;
|
||||
sops = {
|
||||
path0 = "${sops}/${sambaName}";
|
||||
};
|
||||
paths = {
|
||||
path0 = "${servicePath}/${jellyfinLabel}";
|
||||
path1 = "";
|
||||
path2 = "";
|
||||
};
|
||||
ports = {
|
||||
port0 = 445; # Samba
|
||||
};
|
||||
};
|
||||
synology = {
|
||||
label = synologyLabel;
|
||||
name = synologyName;
|
||||
sops = {
|
||||
path0 = "${sops}/${synologyName}";
|
||||
};
|
||||
ports = {
|
||||
port0 = 5001; # Synology HTTPS
|
||||
};
|
||||
};
|
||||
syncthing = {
|
||||
label = syncthingLabel;
|
||||
name = syncthingName;
|
||||
sops = {
|
||||
path0 = "${sops}/${syncthingName}";
|
||||
};
|
||||
subdomain = syncthingName;
|
||||
ports = {
|
||||
port0 = 8388; # Syncthing (WebUI)
|
||||
port1 = 21027; # Syncthing (Discovery)
|
||||
port2 = 22000; # Syncthing (Transfer)
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${syncthingName}.${domain0}/fullchain.pem";
|
||||
key = "${sslPath}/${syncthingName}.${domain0}/key.pem";
|
||||
};
|
||||
};
|
||||
vaultwarden = {
|
||||
label = vaultwardenLabel;
|
||||
name = vaultwardenName;
|
||||
sops = {
|
||||
path0 = "${sops}/${vaultwardenName}";
|
||||
};
|
||||
subdomain = vaultwardenName;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${vaultwardenLabel}/BackupDir";
|
||||
};
|
||||
ports = {
|
||||
port0 = 8085; # Vaultwarden WebUI
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${vaultwardenName}.${domain0}/fullchain.pem";
|
||||
key = "${sslPath}/${vaultwardenName}.${domain0}/key.pem";
|
||||
};
|
||||
};
|
||||
writefreely = let
|
||||
writefreelyDomain = "blog";
|
||||
in {
|
||||
label = writefreelyLabel;
|
||||
name = writefreelyName;
|
||||
sops = {
|
||||
path0 = "${sops}/${writefreelyName}";
|
||||
};
|
||||
subdomain = writefreelyDomain;
|
||||
paths = {
|
||||
path0 = "${servicePath}/${writefreelyLabel}/BackupDir";
|
||||
};
|
||||
ports = {
|
||||
port0 = 8093;
|
||||
};
|
||||
ssl = {
|
||||
cert = "${sslPath}/${writefreelyDomain}.${domain0}/fullchain.pem";
|
||||
key = "${sslPath}/${writefreelyDomain}.${domain0}/key.pem";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
62
config/user.nix
Executable file
|
@ -0,0 +1,62 @@
|
|||
let
|
||||
user0 = "nick";
|
||||
user1 = "garnet";
|
||||
user2 = "fallaryn";
|
||||
user3 = "denise";
|
||||
in {
|
||||
inherit
|
||||
user0
|
||||
user1
|
||||
user2
|
||||
user3
|
||||
;
|
||||
user = {
|
||||
"${user0}" = {
|
||||
name = "Nick";
|
||||
email = {
|
||||
address0 = "nickjhiebert@proton.me";
|
||||
address1 = "thenutrivore@proton.me";
|
||||
address2 = "thenutrivore@the-nutrivore.social";
|
||||
address3 = "noreply@vaultwarden.cloudbert.fun";
|
||||
address4 = "noreply@video.the-nutrivore.social";
|
||||
address5 = "noreply@source.the-nutrivore.social";
|
||||
address6 = "noreply@podcast.the-nutrivore.social";
|
||||
};
|
||||
domain = {
|
||||
url0 = "cloudbert.fun";
|
||||
url1 = "the-nutrivore.social";
|
||||
};
|
||||
git = {
|
||||
path0 = "/home/${user0}/Files/Projects";
|
||||
};
|
||||
dns = {
|
||||
provider0 = "namecheap";
|
||||
};
|
||||
sshKeys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBF9TmImDoYDpsW5VMFbOcuK3aH4TWRtx/xGxT3yUtEN nick@desktop"
|
||||
];
|
||||
};
|
||||
"${user1}" = {
|
||||
name = "Garnet";
|
||||
email = {
|
||||
address0 = "ninaeffler@gmail.com";
|
||||
};
|
||||
};
|
||||
"${user2}" = {
|
||||
name = "Fallaryn";
|
||||
email = {
|
||||
address0 = "staciesimonson@gmail.com";
|
||||
};
|
||||
sshKeys = [
|
||||
];
|
||||
};
|
||||
"${user3}" = {
|
||||
name = "Denise";
|
||||
email = {
|
||||
address0 = "denisehiebert@shaw.ca";
|
||||
};
|
||||
sshKeys = [
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
640
flake.lock
generated
Executable file
|
@ -0,0 +1,640 @@
|
|||
{
|
||||
"nodes": {
|
||||
"buildbot-nix": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"ngipkgs",
|
||||
"nixpkgs"
|
||||
],
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727658705,
|
||||
"narHash": "sha256-OEoMO7bvKyRFyoAR4DIGoWWEJ1OlWveUAICRHhWasTs=",
|
||||
"owner": "nix-community",
|
||||
"repo": "buildbot-nix",
|
||||
"rev": "d2dd93e4d12be7a05ef7640c7375c58739263d8d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "buildbot-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"dream2nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ngipkgs",
|
||||
"nixpkgs"
|
||||
],
|
||||
"purescript-overlay": "purescript-overlay",
|
||||
"pyproject-nix": "pyproject-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727548743,
|
||||
"narHash": "sha256-OwvwVlqCBa9IwcmdBd8Rhap6a0qw6KxVVJ5lUM5jmUw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "dream2nix",
|
||||
"rev": "2797dd2da736d0f69dfdb8fd7738d84f4578b03f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "dream2nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727826117,
|
||||
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"ngipkgs",
|
||||
"buildbot-nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726153070,
|
||||
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": [
|
||||
"ngipkgs",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flakey-profile": {
|
||||
"locked": {
|
||||
"lastModified": 1712898590,
|
||||
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ngipkgs",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"pre-commit-hooks-nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728041527,
|
||||
"narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1723503926,
|
||||
"narHash": "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s=",
|
||||
"rev": "bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2.tar.gz?rev=bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix-module": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"flakey-profile": "flakey-profile",
|
||||
"lix": "lix",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723510904,
|
||||
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=",
|
||||
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz?rev=622a2253a071a1fb97a4d3c8103a91114acc1140"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"ngipkgs": {
|
||||
"inputs": {
|
||||
"buildbot-nix": "buildbot-nix",
|
||||
"dream2nix": "dream2nix",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"sops-nix": "sops-nix",
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727864923,
|
||||
"narHash": "sha256-3nsPrhrcrO+t9STFt0vnuYXT/nChsZfjsYdk5h04ckg=",
|
||||
"owner": "ngi-nix",
|
||||
"repo": "ngipkgs",
|
||||
"rev": "43150a5580e88278882339ea9f5f53a2f6420f6a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ngi-nix",
|
||||
"repo": "ngipkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1727617520,
|
||||
"narHash": "sha256-uNfh3aMyCekMpjtL/PZtl2Hz/YqNuUpCBEzVxt1QYck=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7eee17a8a5868ecf596bbb8c8beb527253ea8f4d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1720535198,
|
||||
"narHash": "sha256-zwVvxrdIzralnSbcpghA92tWu2DV2lwv89xZc8MTrbg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "205fd4226592cc83fd4c0885a3e4c9c400efabb5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1720386169,
|
||||
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1728018373,
|
||||
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1728196319,
|
||||
"narHash": "sha256-HqFjmlrlxLc9dhx3k8X/JbXUaanvg5HciiUHphL4jf4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "1edcc31bb5ec6006e1d3021f30de2a04f24a89ca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"ngipkgs",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"ngipkgs",
|
||||
"nixpkgs-stable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727514110,
|
||||
"narHash": "sha256-0YRcOxJG12VGDFH8iS8pJ0aYQQUAgo/r3ZAL+cSh9nk=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "85f7a7177c678de68224af3402ab8ee1bcee25c8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks-nix": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"gitignore": "gitignore_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728092656,
|
||||
"narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=",
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"rev": "1211305a5b237771e13fcca0c51e60ad47326a9a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "pre-commit-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"purescript-overlay": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": [
|
||||
"ngipkgs",
|
||||
"dream2nix",
|
||||
"nixpkgs"
|
||||
],
|
||||
"slimlock": "slimlock"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724504251,
|
||||
"narHash": "sha256-TIw+sac0NX0FeAneud+sQZT+ql1G/WEb7/Vb436rUXM=",
|
||||
"owner": "thomashoneyman",
|
||||
"repo": "purescript-overlay",
|
||||
"rev": "988b09676c2a0e6a46dfa3589aa6763c90476b8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "thomashoneyman",
|
||||
"repo": "purescript-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-nix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1702448246,
|
||||
"narHash": "sha256-hFg5s/hoJFv7tDpiGvEvXP0UfFvFEDgTdyHIjDVHu1I=",
|
||||
"owner": "davhau",
|
||||
"repo": "pyproject.nix",
|
||||
"rev": "5a06a2697b228c04dd2f35659b4b659ca74f7aeb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "davhau",
|
||||
"ref": "dream2nix",
|
||||
"repo": "pyproject.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"home-manager": "home-manager",
|
||||
"lix-module": "lix-module",
|
||||
"ngipkgs": "ngipkgs",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nur": "nur",
|
||||
"pre-commit-hooks-nix": "pre-commit-hooks-nix",
|
||||
"sops-nix": "sops-nix_2",
|
||||
"systems": "systems_3"
|
||||
}
|
||||
},
|
||||
"slimlock": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ngipkgs",
|
||||
"dream2nix",
|
||||
"purescript-overlay",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1688756706,
|
||||
"narHash": "sha256-xzkkMv3neJJJ89zo3o2ojp7nFeaZc2G0fYwNXNJRFlo=",
|
||||
"owner": "thomashoneyman",
|
||||
"repo": "slimlock",
|
||||
"rev": "cf72723f59e2340d24881fd7bf61cb113b4c407c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "thomashoneyman",
|
||||
"repo": "slimlock",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ngipkgs",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"ngipkgs",
|
||||
"nixpkgs-stable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727423009,
|
||||
"narHash": "sha256-+4B/dQm2EnORIk0k2wV3aHGaE0WXTBjColXjj7qWh10=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "127a96f49ddc377be6ba76964411bab11ae27803",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"sops-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727734513,
|
||||
"narHash": "sha256-i47LQwoGCVQq4upV2YHV0OudkauHNuFsv306ualB/Sw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "3198a242e547939c5e659353551b0668ec150268",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1680978846,
|
||||
"narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "x86_64-linux",
|
||||
"rev": "2ecfcac5e15790ba6ce360ceccddb15ad16d08a8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "x86_64-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ngipkgs",
|
||||
"buildbot-nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727431250,
|
||||
"narHash": "sha256-uGRlRT47ecicF9iLD1G3g43jn2e+b5KaMptb59LHnvM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "879b29ae9a0378904fbbefe0dadaed43c8905754",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
102
flake.nix
Executable file
|
@ -0,0 +1,102 @@
|
|||
{
|
||||
description = "Nick's Big Fat Flakey Sausage";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
lix-module = {
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
flake-parts = {
|
||||
url = "github:hercules-ci/flake-parts";
|
||||
inputs.nixpkgs-lib.follows = "nixpkgs";
|
||||
};
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nur.url = "github:nix-community/NUR";
|
||||
ngipkgs.url = "github:ngi-nix/ngipkgs";
|
||||
pre-commit-hooks-nix = {
|
||||
url = "github:cachix/pre-commit-hooks.nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
systems.url = "github:nix-systems/x86_64-linux";
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.nixpkgs-stable.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = inputs:
|
||||
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
|
||||
imports = [
|
||||
inputs.pre-commit-hooks-nix.flakeModule
|
||||
./home-manager
|
||||
./lib
|
||||
./nixos
|
||||
./parts
|
||||
./config
|
||||
];
|
||||
|
||||
flake = {config, ...}: {
|
||||
nixosConfigurations = {
|
||||
desktop = inputs.self.lib.mkLinuxSystem [
|
||||
./systems/desktop
|
||||
./profiles/user0
|
||||
./profiles/user1
|
||||
config.nixosModules.personal
|
||||
config.nixosModules.desktop
|
||||
config.nixosModules.shared
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.lix-module.nixosModules.default
|
||||
inputs.nur.nixosModules.nur
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
];
|
||||
fallaryn = inputs.self.lib.mkLinuxSystem [
|
||||
./systems/fallaryn
|
||||
./profiles/user2
|
||||
config.nixosModules.personal
|
||||
config.nixosModules.shared
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.lix-module.nixosModules.default
|
||||
inputs.nur.nixosModules.nur
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
];
|
||||
laptop = inputs.self.lib.mkLinuxSystem [
|
||||
./systems/laptop
|
||||
./profiles/user0
|
||||
./profiles/user1
|
||||
./profiles/user2
|
||||
config.nixosModules.personal
|
||||
config.nixosModules.shared
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.lix-module.nixosModules.default
|
||||
inputs.nur.nixosModules.nur
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
];
|
||||
server = inputs.self.lib.mkLinuxSystem [
|
||||
./systems/server
|
||||
./profiles/user0
|
||||
config.nixosModules.server
|
||||
config.nixosModules.shared
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
inputs.lix-module.nixosModules.default
|
||||
inputs.ngipkgs.nixosModules."services.peertube"
|
||||
inputs.ngipkgs.nixosModules.default
|
||||
inputs.nur.nixosModules.nur
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
];
|
||||
};
|
||||
templates = {
|
||||
haskell = {
|
||||
path = ./templates/haskell;
|
||||
description = "Haskell/Elm Environment";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systems = import inputs.systems;
|
||||
};
|
||||
}
|
203
home-manager/default.nix
Executable file
|
@ -0,0 +1,203 @@
|
|||
let
|
||||
# Folders
|
||||
bat = import ./modules/bat;
|
||||
firefox = import ./modules/firefox;
|
||||
obs-studio = import ./modules/obs-studio;
|
||||
qbittorrent = import ./modules/qbittorrent;
|
||||
# Files
|
||||
bottom = import ./modules/bottom.nix;
|
||||
brave = import ./modules/brave.nix;
|
||||
cursor = import ./modules/cursor.nix;
|
||||
direnv = import ./modules/direnv.nix;
|
||||
freetube = import ./modules/freetube.nix;
|
||||
git = import ./modules/git.nix;
|
||||
helix = import ./modules/helix.nix;
|
||||
home-manager = import ./modules/home-manager.nix;
|
||||
lazygit = import ./modules/lazygit.nix;
|
||||
misc-android = import ./modules/misc/android.nix;
|
||||
misc-commandLine = import ./modules/misc/command-line.nix;
|
||||
misc-fileManagement = import ./modules/misc/file-management.nix;
|
||||
misc-gaming = import ./modules/misc/gaming.nix;
|
||||
misc-gnomeExtras = import ./modules/misc/gnome-extras.nix;
|
||||
misc-internet-extras = import ./modules/misc/internet-extras.nix;
|
||||
misc-internet = import ./modules/misc/internet.nix;
|
||||
misc-jellyfin = import ./modules/misc/jellyfin.nix;
|
||||
misc-kdeExtras = import ./modules/misc/kde-extras.nix;
|
||||
misc-media = import ./modules/misc/media.nix;
|
||||
misc-privacy = import ./modules/misc/privacy.nix;
|
||||
misc-productionArt = import ./modules/misc/production-art.nix;
|
||||
misc-productionArtExtras = import ./modules/misc/production-art-extras.nix;
|
||||
misc-productionAudio = import ./modules/misc/production-audio.nix;
|
||||
misc-productionCode = import ./modules/misc/production-code.nix;
|
||||
misc-productionVideo = import ./modules/misc/production-video.nix;
|
||||
misc-productionWriting = import ./modules/misc/production-writing.nix;
|
||||
misc-virtualization = import ./modules/misc/virtualization.nix;
|
||||
misc-yazi = import ./modules/misc/yazi.nix;
|
||||
misc-wpsoffice = import ./modules/misc/wpsoffice.nix;
|
||||
mpv = import ./modules/mpv.nix;
|
||||
nextcloud = import ./modules/nextcloud.nix;
|
||||
nushell = import ./modules/nushell.nix;
|
||||
starship = import ./modules/starship.nix;
|
||||
vscode = import ./modules/vscode.nix;
|
||||
wezterm = import ./modules/wezterm.nix;
|
||||
yazi = import ./modules/yazi.nix;
|
||||
zellij = import ./modules/zellij.nix;
|
||||
zoxide = import ./modules/zoxide.nix;
|
||||
in {
|
||||
flake.homeModules = {
|
||||
inherit
|
||||
# Folders
|
||||
bat
|
||||
firefox
|
||||
obs-studio
|
||||
qbittorrent
|
||||
# Files
|
||||
|
||||
bottom
|
||||
brave
|
||||
cursor
|
||||
direnv
|
||||
freetube
|
||||
git
|
||||
helix
|
||||
home-manager
|
||||
lazygit
|
||||
misc-android
|
||||
misc-commandLine
|
||||
misc-fileManagement
|
||||
misc-gaming
|
||||
misc-gnomeExtras
|
||||
misc-internet
|
||||
misc-internet-extras
|
||||
misc-jellyfin
|
||||
misc-kdeExtras
|
||||
misc-media
|
||||
misc-privacy
|
||||
misc-productionArtExtras
|
||||
misc-productionArt
|
||||
misc-productionAudio
|
||||
misc-productionCode
|
||||
misc-productionVideo
|
||||
misc-productionWriting
|
||||
misc-virtualization
|
||||
misc-yazi
|
||||
mpv
|
||||
nextcloud
|
||||
nushell
|
||||
starship
|
||||
vscode
|
||||
wezterm
|
||||
yazi
|
||||
zellij
|
||||
zoxide
|
||||
;
|
||||
commandLine = {
|
||||
imports = [
|
||||
bat
|
||||
bottom
|
||||
direnv
|
||||
git
|
||||
helix
|
||||
home-manager
|
||||
lazygit
|
||||
misc-android
|
||||
misc-commandLine
|
||||
misc-virtualization
|
||||
misc-yazi
|
||||
nushell
|
||||
starship
|
||||
wezterm
|
||||
yazi
|
||||
zellij
|
||||
zoxide
|
||||
];
|
||||
};
|
||||
entertainment = {
|
||||
imports = [
|
||||
misc-gaming
|
||||
misc-media
|
||||
freetube
|
||||
mpv
|
||||
];
|
||||
};
|
||||
extras = {
|
||||
imports = [
|
||||
misc-gnomeExtras
|
||||
misc-kdeExtras
|
||||
];
|
||||
};
|
||||
fileManagement = {
|
||||
imports = [
|
||||
misc-fileManagement
|
||||
];
|
||||
};
|
||||
internetExtras = {
|
||||
imports = [
|
||||
misc-internet-extras
|
||||
];
|
||||
};
|
||||
firefoxHM = {
|
||||
imports = [
|
||||
firefox
|
||||
];
|
||||
};
|
||||
braveHM = {
|
||||
imports = [
|
||||
brave
|
||||
];
|
||||
};
|
||||
internet = {
|
||||
imports = [
|
||||
misc-internet
|
||||
qbittorrent
|
||||
];
|
||||
};
|
||||
jellyfin = {
|
||||
imports = [
|
||||
misc-jellyfin
|
||||
];
|
||||
};
|
||||
privacy = {
|
||||
imports = [
|
||||
misc-privacy
|
||||
];
|
||||
};
|
||||
productionArtExtras = {
|
||||
imports = [
|
||||
misc-productionArtExtras
|
||||
];
|
||||
};
|
||||
productionArt = {
|
||||
imports = [
|
||||
misc-productionArt
|
||||
];
|
||||
};
|
||||
productionAudio = {
|
||||
imports = [
|
||||
misc-productionAudio
|
||||
];
|
||||
};
|
||||
productionCode = {
|
||||
imports = [
|
||||
misc-productionCode
|
||||
vscode
|
||||
];
|
||||
};
|
||||
productionVideo = {
|
||||
imports = [
|
||||
misc-productionVideo
|
||||
obs-studio
|
||||
];
|
||||
};
|
||||
productionWriting = {
|
||||
imports = [
|
||||
misc-productionWriting
|
||||
];
|
||||
};
|
||||
wpsOffice = {
|
||||
imports = [
|
||||
misc-wpsoffice
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
959
home-manager/modules/bat/catppuccin-macchiato.tmTheme
Executable file
|
@ -0,0 +1,959 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Catppuccin</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>background</key>
|
||||
<string>#24273a</string>
|
||||
<key>caret</key>
|
||||
<string>#b8c0e0</string>
|
||||
<key>invisibles</key>
|
||||
<string>#a5adcb</string>
|
||||
<key>gutterForeground</key>
|
||||
<string>#939ab7</string>
|
||||
<key>gutterForegroundHighlight</key>
|
||||
<string>#a6da95</string>
|
||||
<key>lineHighlight</key>
|
||||
<string>#5b6078</string>
|
||||
<key>selection</key>
|
||||
<string>#6e738d</string>
|
||||
<key>selectionBorder</key>
|
||||
<string>#24273a</string>
|
||||
<key>activeGuide</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>findHighlightForeground</key>
|
||||
<string>#1e2030</string>
|
||||
<key>findHighlight</key>
|
||||
<string>#eed49f</string>
|
||||
<key>bracketsForeground</key>
|
||||
<string>#939ab7</string>
|
||||
<key>bracketContentsForeground</key>
|
||||
<string>#939ab7</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#6e738d</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6da95</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String regex</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Number</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Boolean</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language.boolean</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in constant</string>
|
||||
<key>scope</key>
|
||||
<string>constant.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function.builtin</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>User-defined constant</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict></dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Conditional/loop</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.loop, keyword.control.conditional, keyword.control.c++</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6a0f6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Return</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.return, keyword.control.flow.return</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5bde6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Exception</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.exception</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Operator</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.operator, punctuation.accessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation separator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.separator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation terminator</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.terminator</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation bracket</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#939ab7</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Include</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import.include</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eed49f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage modifier</string>
|
||||
<key>scope</key>
|
||||
<string>storage.modifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type namespace</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.namespace, meta.path</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage type class</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Label</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.label</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword class</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Class name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.class, meta.toc-list.full-identifier</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Inherited class</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.inherited-class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function, variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function macro</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.preprocessor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Macro directive - ifdef</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.control.import</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constructor</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.function.constructor, entity.name.function.destructor</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function argument</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function declaration</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.declaration.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library function</string>
|
||||
<key>scope</key>
|
||||
<string>support.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#91d7e3</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library class/type</string>
|
||||
<key>scope</key>
|
||||
<string>support.type, support.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Library variable</string>
|
||||
<key>scope</key>
|
||||
<string>support.other.variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable function</string>
|
||||
<key>scope</key>
|
||||
<string>variable.function</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.parameter</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable other</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable field</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.member</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable language</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5a97f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag attribute</string>
|
||||
<key>scope</key>
|
||||
<string>entity.other.attribute-name</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#c6a0f6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Tag delimiter</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown URL</string>
|
||||
<key>scope</key>
|
||||
<string>markup.underline.link.markdown</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f4dbd6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic underline</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown reference</string>
|
||||
<key>scope</key>
|
||||
<string>meta.link.inline.description</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown literal</string>
|
||||
<key>scope</key>
|
||||
<string>comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown title</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.heading, entity.name.section</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8aadf4</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown emphasis</string>
|
||||
<key>scope</key>
|
||||
<string>markup.italic</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Markdown strong</string>
|
||||
<key>scope</key>
|
||||
<string>markup.bold</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ee99a0</string>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Escape</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5bde6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash built-in function</string>
|
||||
<key>scope</key>
|
||||
<string>source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f5bde6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bash parameter</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language.shell</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua field</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lua constructor</string>
|
||||
<key>scope</key>
|
||||
<string>source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f0c6c6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Java constant</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.constant.java</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS property</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.property-name.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#f0c6c6</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant.property-value.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS suffix</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric.suffix.css, keyword.other.unit.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS variable property</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SCSS tag</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b7bdf8</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>SASS variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable.other.sass</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8bd5ca</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>background</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid deprecated</string>
|
||||
<key>scope</key>
|
||||
<string>invalid.deprecated</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#cad3f5</string>
|
||||
<key>background</key>
|
||||
<string>#c6a0f6</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff header</string>
|
||||
<key>scope</key>
|
||||
<string>meta.diff, meta.diff.header</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#6e738d</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#a6da95</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Diff changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#eed49f</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Message error</string>
|
||||
<key>scope</key>
|
||||
<string>message.error</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#ed8796</string>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</dict>
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>4d0379b5-ef82-467b-b8b8-365889420646</string>
|
||||
<key>colorSpaceName</key>
|
||||
<string>sRGB</string>
|
||||
<key>semanticClass</key>
|
||||
<string>theme.dark.Catppuccin</string>
|
||||
<key>author</key>
|
||||
<string>BrunDerSchwarzmagier</string>
|
||||
</dict>
|
||||
</plist>
|
7
home-manager/modules/bat/default.nix
Executable file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
programs.bat = {
|
||||
enable = true;
|
||||
config.theme = "catppuccin-macchiato";
|
||||
};
|
||||
xdg.configFile."bat/themes/catppuccin-mocha.tmTheme".source = ./catppuccin-macchiato.tmTheme;
|
||||
}
|
30
home-manager/modules/bottom.nix
Executable file
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
programs.bottom = {
|
||||
enable = true;
|
||||
settings = {
|
||||
colors = {
|
||||
tableHeaderColor = "#f4dbd6";
|
||||
allCpuColor = "#f4dbd6";
|
||||
avgCpuColor = "#ee99a0";
|
||||
cpuCoreColors = ["#ed8796" "#f5a97f" "#eed49f" "#a6da95" "#7dc4e4" "#c6a0f6"];
|
||||
ramColor = "#a6da95";
|
||||
swapColor = "#f5a97f";
|
||||
rxColor = "#a6da95";
|
||||
txColor = "#ed8796";
|
||||
widgetTitleColor = "#f0c6c6";
|
||||
borderColor = "#5b6078";
|
||||
highlightedBorderColor = "#f5bde6";
|
||||
textColor = "#cad3f5";
|
||||
graphColor = "#a5adcb";
|
||||
cursorColor = "#f5bde6";
|
||||
selectedTextColor = "#181926";
|
||||
selectedBgColor = "#c6a0f6";
|
||||
highBatteryColor = "#a6da95";
|
||||
mediumBatteryColor = "#eed49f";
|
||||
lowBatteryColor = "#ed8796";
|
||||
gpuCoreColors = ["#7dc4e4" "#c6a0f6" "#ed8796" "#f5a97f" "#eed49f" "#a6da95"];
|
||||
arcColor = "#91d7e3";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
13
home-manager/modules/brave.nix
Executable file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
programs.brave = {
|
||||
enable = true;
|
||||
extensions = [
|
||||
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # uBlock Origin
|
||||
{id = "cmpdlhmnmjhihmcfnigoememnffkimlk";} # Catppuccin Macchiato
|
||||
{id = "dlnpfhfhmkiebpnlllpehlmklgdggbhn";} # Don't Close Last Tab
|
||||
{id = "iplffkdpngmdjhlpjmppncnlhomiipha";} # Unpaywall
|
||||
{id = "mnjggcdmjocbbbhaepdhchncahnbgone";} # SponsorBlock
|
||||
{id = "ponfpcnoihfmfllpaingbgckeeldkhle";} # YouTube Enhancer
|
||||
];
|
||||
};
|
||||
}
|
6
home-manager/modules/direnv.nix
Executable file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
}
|
524
home-manager/modules/firefox/config/bookmarks.nix
Executable file
|
@ -0,0 +1,524 @@
|
|||
[
|
||||
{
|
||||
name = "Bookmarks";
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
# Development
|
||||
{
|
||||
name = "GitHub";
|
||||
url = "https://github.com/BRBWaffles";
|
||||
tags = ["git" "github"];
|
||||
keyword = "GitHub";
|
||||
}
|
||||
{
|
||||
name = "GitLab (Appoota)";
|
||||
url = "https://gitlab.com/Appoota/dotfiles";
|
||||
tags = ["gitlab" "git"];
|
||||
keyword = "GitLab";
|
||||
}
|
||||
{
|
||||
name = "GitLab (Isaac)";
|
||||
url = "https://gitlab.com/askyourself/dotfiles";
|
||||
tags = ["gitlab" "git"];
|
||||
keyword = "GitLab";
|
||||
}
|
||||
{
|
||||
name = "GitLab (Nick)";
|
||||
url = "https://gitlab.com/BRBWaffles/dotfiles";
|
||||
tags = ["gitlab" "git"];
|
||||
keyword = "GitLab";
|
||||
}
|
||||
{
|
||||
name = "Hackage";
|
||||
url = "https://hackage.haskell.org/";
|
||||
tags = ["hackage" "hack" "haskell"];
|
||||
keyword = "Hack";
|
||||
}
|
||||
{
|
||||
name = "Nix Home Manager Options";
|
||||
url = "https://mipmip.github.io/home-manager-option-search/";
|
||||
tags = ["nix" "nixos" "home" "home manager" "options"];
|
||||
keyword = "Home";
|
||||
}
|
||||
# Social Media
|
||||
{
|
||||
name = "Discord (Web Client)";
|
||||
url = "https://discord.com/channels/@me";
|
||||
tags = ["discord" "dis" "ds" "social"];
|
||||
keyword = "Discord";
|
||||
}
|
||||
{
|
||||
name = "Gmail";
|
||||
url = "https://mail.google.com/mail/u/0/#inbox";
|
||||
tags = ["gmail" "google" "mail" "gm" "email"];
|
||||
keyword = "Gmail";
|
||||
}
|
||||
{
|
||||
name = "Kijiji";
|
||||
url = "https://www.kijiji.ca";
|
||||
tags = ["kijiji" "kij" "ki"];
|
||||
keyword = "Kij";
|
||||
}
|
||||
{
|
||||
name = "Lemmy";
|
||||
url = "https://lemmy.world/";
|
||||
tags = ["lemmy" "social"];
|
||||
keyword = "Lem";
|
||||
}
|
||||
{
|
||||
name = "OnlyFans";
|
||||
url = "https://onlyfans.com/";
|
||||
tags = ["onlyfans" "only" "fans"];
|
||||
keyword = "Only";
|
||||
}
|
||||
{
|
||||
name = "Pixelfed";
|
||||
url = "https://pixelfed.social/i/web/profile/651714972141461392";
|
||||
tags = ["pixelfed" "pixel" "pi"];
|
||||
keyword = "Pix";
|
||||
}
|
||||
{
|
||||
name = "Proton Mail";
|
||||
url = "https://mail.proton.me/u/1/inbox";
|
||||
tags = ["protonmail" "proton" "mail" "pr" "email"];
|
||||
keyword = "Pro";
|
||||
}
|
||||
{
|
||||
name = "Reddit";
|
||||
url = "https://www.reddit.com/";
|
||||
tags = ["reddit" "social"];
|
||||
keyword = "Reddit";
|
||||
}
|
||||
{
|
||||
name = "StreamLabs";
|
||||
url = "https://streamlabs.com/dashboard";
|
||||
tags = ["streamlabs" "stream" "labs"];
|
||||
keyword = "Stream";
|
||||
}
|
||||
{
|
||||
name = "Tinder";
|
||||
url = "https://tinder.com/app/recs";
|
||||
tags = ["tinder" "dating" "booty"];
|
||||
keyword = "Tinder";
|
||||
}
|
||||
{
|
||||
name = "X (Twitter)";
|
||||
url = "https://twitter.com/TheNutrivore";
|
||||
tags = ["twitter" "x" "social"];
|
||||
keyword = "Twitter";
|
||||
}
|
||||
# Streaming
|
||||
{
|
||||
name = "Disney+";
|
||||
url = "https://www.disneyplus.com/select-profile";
|
||||
tags = ["disney" "video" "streaming" "movies" "shows"];
|
||||
keyword = "Disney";
|
||||
}
|
||||
{
|
||||
name = "Netflix";
|
||||
url = "https://www.netflix.com/browse";
|
||||
tags = ["netflix" "video" "streaming" "movies" "shows"];
|
||||
keyword = "Netflix";
|
||||
}
|
||||
{
|
||||
name = "Prime Video";
|
||||
url = "https://www.primevideo.com/?ref_=av_auth_return_redir";
|
||||
tags = ["prime" "video" "amazon" "streaming" "movies" "shows"];
|
||||
keyword = "Prime";
|
||||
}
|
||||
{
|
||||
name = "YouTube Studio";
|
||||
url = "https://studio.youtube.com/channel/UCy9yYcDx2XuVVgcWLJJDoxw";
|
||||
tags = ["youtube" "you" "tube" "yt" "studio"];
|
||||
keyword = "Studio";
|
||||
}
|
||||
{
|
||||
name = "YouTube";
|
||||
url = "https://www.youtube.com/";
|
||||
tags = ["youtube" "you" "tube" "yt"];
|
||||
keyword = "You";
|
||||
}
|
||||
# Shopping
|
||||
{
|
||||
name = "Amazon";
|
||||
url = "https://www.amazon.ca/";
|
||||
tags = ["amazon" "shopping" "supply"];
|
||||
keyword = "Amazon";
|
||||
}
|
||||
{
|
||||
name = "Door Dash";
|
||||
url = "https://www.doordash.com/";
|
||||
tags = ["doordash" "door" "dash" "food"];
|
||||
keyword = "Amazon";
|
||||
}
|
||||
{
|
||||
name = "FTY Supplies";
|
||||
url = "https://fytsupplies.ca/";
|
||||
tags = ["tattoo tat" "fyt" "shopping" "supply"];
|
||||
keyword = "FYT";
|
||||
}
|
||||
{
|
||||
name = "Skip the Dishes";
|
||||
url = "https://www.skipthedishes.com/";
|
||||
tags = ["skip" "dishes" "food"];
|
||||
keyword = "Skip";
|
||||
}
|
||||
{
|
||||
name = "Uber Eats";
|
||||
url = "https://www.ubereats.com/";
|
||||
tags = ["uber" "eats" "food"];
|
||||
keyword = "Uber";
|
||||
}
|
||||
{
|
||||
name = "TatSoul";
|
||||
url = "https://www.tatsoul.com/";
|
||||
tags = ["tattoo" "tat" "tatsoul" "shopping" "supply"];
|
||||
keyword = "TatSoul";
|
||||
}
|
||||
# Gaming
|
||||
{
|
||||
name = "Chess.com";
|
||||
url = "https://www.chess.com/home";
|
||||
tags = ["chess"];
|
||||
keyword = "Chess";
|
||||
}
|
||||
{
|
||||
name = "Lichess";
|
||||
url = "https://lichess.org/";
|
||||
tags = ["lichess" "chess"];
|
||||
keyword = "Li";
|
||||
}
|
||||
{
|
||||
name = "ProtonDB";
|
||||
url = "https://www.protondb.com/";
|
||||
tags = ["steam" "db"];
|
||||
keyword = "DB";
|
||||
}
|
||||
{
|
||||
name = "SteamDB";
|
||||
url = "https://steamdb.info/";
|
||||
tags = ["steamdb" "steam" "db"];
|
||||
keyword = "SteamDB";
|
||||
}
|
||||
# Finances
|
||||
{
|
||||
name = "Adsense";
|
||||
url = "https://www.google.com/adsense/new/u/0/pub-4524791551954022/payments";
|
||||
tags = ["google" "adsense" "ads" "money"];
|
||||
keyword = "Adsense";
|
||||
}
|
||||
{
|
||||
name = "Canada Revenue Agency";
|
||||
url = "https://apps4.ams-sga.cra-arc.gc.ca/gol-ged/awsc/amss/browser/check?program=mima&target=login&lang=en&idp=cms";
|
||||
tags = ["cra" "canada" "money"];
|
||||
keyword = "CRA";
|
||||
}
|
||||
{
|
||||
name = "Credit Karma";
|
||||
url = "https://www.creditkarma.ca/";
|
||||
tags = ["credit" "karma" "bank" "banking"];
|
||||
keyword = "Credit";
|
||||
}
|
||||
{
|
||||
name = "LiberaPay";
|
||||
url = "https://liberapay.com/TheNutrivore/";
|
||||
tags = ["libera" "liberapay" "donations" "bank" "banking" "money" "nutrivore"];
|
||||
keyword = "Libera";
|
||||
}
|
||||
{
|
||||
name = "Patreon";
|
||||
url = "https://www.patreon.com/thenutrivore";
|
||||
tags = ["patreon" "donations" "bank" "banking" "money" "nutrivore"];
|
||||
keyword = "Patreon";
|
||||
}
|
||||
{
|
||||
name = "PayPal";
|
||||
url = "https://www.paypal.com/myaccount/summary?intl=0";
|
||||
tags = ["paypal" "bank" "banking" "money"];
|
||||
keyword = "PayPal";
|
||||
}
|
||||
{
|
||||
name = "Shopify";
|
||||
url = "https://the-nutrivore.myshopify.com/admin";
|
||||
tags = ["shopify" "business" "shop" "bank" "banking" "money"];
|
||||
keyword = "Shopify";
|
||||
}
|
||||
{
|
||||
name = "Simplii";
|
||||
url = "https://online.simplii.com/ebm-resources/public/client/web/index.html#/signon";
|
||||
tags = ["simplii" "bank" "banking" "money"];
|
||||
keyword = "Simplii";
|
||||
}
|
||||
{
|
||||
name = "Stripe";
|
||||
url = "https://dashboard.stripe.com/settings/user";
|
||||
tags = ["stripe" "bank" "banking" "money"];
|
||||
keyword = "Stripe";
|
||||
}
|
||||
{
|
||||
name = "Wealthsimple";
|
||||
url = "https://my.wealthsimple.com/app/tax-onboarding/2021";
|
||||
tags = ["wealth" "simple" "bank" "banking" "crypto"];
|
||||
keyword = "Wealth";
|
||||
}
|
||||
{
|
||||
name = "Wix";
|
||||
url = "https://manage.wix.com/dashboard/413fd74d-8a8f-4c77-bd91-9ea560ffe906/home";
|
||||
tags = ["wix" "website" "business" "bills" "nutrivore"];
|
||||
keyword = "Wix";
|
||||
}
|
||||
# Academic
|
||||
{
|
||||
name = "Nutrivore";
|
||||
url = "https://www.the-nutrivore.com/";
|
||||
tags = ["nutrivore" "blog"];
|
||||
keyword = "Nutrivore";
|
||||
}
|
||||
{
|
||||
name = "Proof Tree";
|
||||
url = "https://www.umsu.de/trees/";
|
||||
tags = ["proof" "tree" "logic" "academic"];
|
||||
keyword = "Logic";
|
||||
}
|
||||
{
|
||||
name = "PubMed";
|
||||
url = "https://pubmed.ncbi.nlm.nih.gov/";
|
||||
tags = ["pub" "pubmed" "science" "research" "academic"];
|
||||
keyword = "Pub";
|
||||
}
|
||||
{
|
||||
name = "Sci-Hub";
|
||||
url = "https://sci-hub.ee/";
|
||||
tags = ["sci" "sci-hub" "scihub" "science" "research" "academic" "torrent"];
|
||||
keyword = "Sci";
|
||||
}
|
||||
{
|
||||
name = "Stanford Encyclopedia of Philosophy";
|
||||
url = "https://plato.stanford.edu/";
|
||||
tags = ["standford" "encyclopedia" "philosophy" "phil"];
|
||||
keyword = "Phil";
|
||||
}
|
||||
{
|
||||
name = "Zotero Bibliography";
|
||||
url = "https://zbib.org/";
|
||||
tags = ["votero" "bibliography" "bib" "zbib"];
|
||||
keyword = "Bib";
|
||||
}
|
||||
# Telus
|
||||
{
|
||||
name = "ADT";
|
||||
url = "https://www.adt.com/control-login";
|
||||
tags = ["adt" "security" "telus"];
|
||||
keyword = "ADT";
|
||||
}
|
||||
{
|
||||
name = "Telus";
|
||||
url = "https://www.telus.com/my-telus/billing/summary";
|
||||
tags = ["telus" "phone" "security" "bills" "money"];
|
||||
keyword = "Telus";
|
||||
}
|
||||
# Tools
|
||||
{
|
||||
name = "Uncensored AI";
|
||||
url = "https://www.aiuncensored.info/";
|
||||
tags = ["uncensored" "ai"];
|
||||
keyword = "AI";
|
||||
}
|
||||
{
|
||||
name = "ChatGPT";
|
||||
url = "https://chatgpt.com/";
|
||||
tags = ["chat" "chatgpt" "gpt"];
|
||||
keyword = "Chat";
|
||||
}
|
||||
{
|
||||
name = "Claude AI";
|
||||
url = "https://claude.ai";
|
||||
tags = ["claude" "ai"];
|
||||
keyword = "Claude";
|
||||
}
|
||||
{
|
||||
name = "Cronometer";
|
||||
url = "https://cronometer.com/#diary";
|
||||
tags = ["cronometer" "cron" "nutrition"];
|
||||
keyword = "Cron";
|
||||
}
|
||||
{
|
||||
name = "DNS Checker";
|
||||
url = "https://dnschecker.org/";
|
||||
tags = ["dns" "checker"];
|
||||
keyword = "DNS";
|
||||
}
|
||||
{
|
||||
name = "EventBrite";
|
||||
url = "https://www.eventbrite.ca/d/canada--winnipeg/events--today/winnipeg/?page=1";
|
||||
tags = ["eventbrite" "event" "brite"];
|
||||
keyword = "Event";
|
||||
}
|
||||
{
|
||||
name = "Google Maps";
|
||||
url = "https://www.maps.google.com/";
|
||||
tags = ["maps" "google"];
|
||||
keyword = "Map";
|
||||
}
|
||||
{
|
||||
name = "Memory Express";
|
||||
url = "https://www.memoryexpress.com/";
|
||||
tags = ["memoryexpress" "memory" "mem" "express"];
|
||||
keyword = "Mem";
|
||||
}
|
||||
{
|
||||
name = "Portchecker";
|
||||
url = "https://portchecker.co/";
|
||||
tags = ["portchecker" "port" "checker"];
|
||||
keyword = "Port";
|
||||
}
|
||||
{
|
||||
name = "RhymeZone";
|
||||
url = "https://www.rhymezone.com/";
|
||||
tags = ["rhymezone" "rhyme" "zone"];
|
||||
keyword = "Rhyme";
|
||||
}
|
||||
{
|
||||
name = "Chmod Calculator";
|
||||
url = "https://chmod-calculator.com/";
|
||||
tags = ["chmod" "calculator"];
|
||||
keyword = "Chmod";
|
||||
}
|
||||
{
|
||||
name = "ListenBrainz";
|
||||
url = "https://listenbrainz.org/user/BRBWaffles/";
|
||||
tags = ["listenbrainz" "listen" "brains"];
|
||||
keyword = "Listen";
|
||||
}
|
||||
{
|
||||
name = "Speedtest";
|
||||
url = "https://www.speedtest.net/";
|
||||
tags = ["speedtest" "speed" "test"];
|
||||
keyword = "Speed";
|
||||
}
|
||||
{
|
||||
name = "TinEye";
|
||||
url = "https://tineye.com/";
|
||||
tags = ["tineye" "tin" "eye"];
|
||||
keyword = "Tin";
|
||||
}
|
||||
{
|
||||
name = "Percentage Calculator";
|
||||
url = "https://percentagecalculator.net";
|
||||
tags = ["percentage" "percent" "calculator"];
|
||||
keyword = "Percent";
|
||||
}
|
||||
# Tracking
|
||||
{
|
||||
name = "Metal Tracker";
|
||||
url = "https://en.metal-tracker.com/";
|
||||
tags = ["metaltracker" "metal" "tracker"];
|
||||
keyword = "Metal";
|
||||
}
|
||||
{
|
||||
name = "Torrent Leech";
|
||||
url = "https://www.torrentleech.org/";
|
||||
tags = ["torrent" "leech"];
|
||||
keyword = "Leech";
|
||||
}
|
||||
{
|
||||
name = "1337";
|
||||
url = "https://1337x.to/";
|
||||
tags = ["torrent" "1337"];
|
||||
keyword = "1337";
|
||||
}
|
||||
# Admin
|
||||
{
|
||||
name = "Discord (Development Portal)";
|
||||
url = "https://discord.com/developers/applications";
|
||||
tags = ["discord" "development" "portal" "bot"];
|
||||
keyword = "Discord";
|
||||
}
|
||||
{
|
||||
name = "Namecheap";
|
||||
url = "https://www.namecheap.com/";
|
||||
tags = ["namecheap" "name" "cheap" "dns"];
|
||||
keyword = "Name";
|
||||
}
|
||||
{
|
||||
name = "Router";
|
||||
url = "http://192.168.50.1";
|
||||
tags = ["router" "asus"];
|
||||
keyword = "Router";
|
||||
}
|
||||
# Self-Hosted
|
||||
{
|
||||
name = "Forgejo";
|
||||
url = "https://source.the-nutrivore.social";
|
||||
tags = ["forgejo" "forge" "git"];
|
||||
keyword = "Forge";
|
||||
}
|
||||
{
|
||||
name = "Jellyfin (Internet)";
|
||||
url = "https://jellyfin.cloudbert.fun";
|
||||
tags = ["jelly" "video" "streaming" "movies" "shows" "music"];
|
||||
keyword = "Jelly";
|
||||
}
|
||||
{
|
||||
name = "Jellyfin (Local)";
|
||||
url = "http://192.168.50.140:8096";
|
||||
tags = ["jelly" "video" "streaming" "movies" "shows" "music"];
|
||||
keyword = "Jelly";
|
||||
}
|
||||
{
|
||||
name = "Mastodon";
|
||||
url = "https://the-nutrivore.social";
|
||||
tags = ["mastodon" "mast" "md"];
|
||||
keyword = "Mast";
|
||||
}
|
||||
{
|
||||
name = "Nextcloud";
|
||||
url = "https://nextcloud.cloudbert.fun";
|
||||
tags = ["nextcloud" "next" "cloud"];
|
||||
keyword = "Next";
|
||||
}
|
||||
{
|
||||
name = "Ollama (Server)";
|
||||
url = "https://ollama.cloudbert.fun";
|
||||
tags = ["ollama" "chat" "ai"];
|
||||
keyword = "Ollama";
|
||||
}
|
||||
{
|
||||
name = "Ollama (Desktop)";
|
||||
url = "http://localhost:8088";
|
||||
tags = ["ollama" "chat" "ai"];
|
||||
keyword = "Ollama";
|
||||
}
|
||||
{
|
||||
name = "PeerTube";
|
||||
url = "https://video.the-nutrivore.social";
|
||||
tags = ["peertube" "peer" "tube" "nutrivore"];
|
||||
keyword = "PeerTube";
|
||||
}
|
||||
{
|
||||
name = "Syncthing (Synology)";
|
||||
url = "http://192.168.50.209:8384";
|
||||
tags = ["syncthing" "sync" "thing" "synology"];
|
||||
keyword = "Sync";
|
||||
}
|
||||
{
|
||||
name = "Syncthing (Desktop)";
|
||||
url = "http://localhost:8388";
|
||||
tags = ["syncthing" "sync" "thing" "desktop"];
|
||||
keyword = "Sync";
|
||||
}
|
||||
{
|
||||
name = "Synology";
|
||||
url = "https://192.168.50.209:5001";
|
||||
tags = ["synology" "dsm" "cloud"];
|
||||
keyword = "DSM";
|
||||
}
|
||||
{
|
||||
name = "Vaultwarden";
|
||||
url = "https://vaultwarden.cloudbert.fun";
|
||||
tags = ["vaultwarden" "bitwarden" "vault" "bit" "warden"];
|
||||
keyword = "Vault";
|
||||
}
|
||||
];
|
||||
}
|
||||
]
|
14
home-manager/modules/firefox/config/extensions.nix
Executable file
|
@ -0,0 +1,14 @@
|
|||
{nur, ...}:
|
||||
builtins.attrValues {
|
||||
inherit
|
||||
(nur.repos.rycee.firefox-addons)
|
||||
bitwarden
|
||||
enhancer-for-youtube
|
||||
localcdn
|
||||
sponsorblock
|
||||
ublock-origin
|
||||
unpaywall
|
||||
;
|
||||
}
|
||||
# https://github.com/nix-community/nur-combined/blob/master/repos/rycee/pkgs/firefox-addons/generated-firefox-addons.nix
|
||||
|
BIN
home-manager/modules/firefox/config/icons/13.png
Executable file
After Width: | Height: | Size: 25 KiB |
BIN
home-manager/modules/firefox/config/icons/al.png
Executable file
After Width: | Height: | Size: 15 KiB |
BIN
home-manager/modules/firefox/config/icons/am.png
Executable file
After Width: | Height: | Size: 20 KiB |
BIN
home-manager/modules/firefox/config/icons/br.png
Executable file
After Width: | Height: | Size: 38 KiB |
BIN
home-manager/modules/firefox/config/icons/fy.png
Executable file
After Width: | Height: | Size: 7.2 KiB |
BIN
home-manager/modules/firefox/config/icons/ha.png
Executable file
After Width: | Height: | Size: 21 KiB |
BIN
home-manager/modules/firefox/config/icons/ho.png
Executable file
After Width: | Height: | Size: 5.3 KiB |
BIN
home-manager/modules/firefox/config/icons/jf.png
Executable file
After Width: | Height: | Size: 87 KiB |
BIN
home-manager/modules/firefox/config/icons/ka.png
Executable file
After Width: | Height: | Size: 11 KiB |
BIN
home-manager/modules/firefox/config/icons/ne.png
Executable file
After Width: | Height: | Size: 7.6 KiB |
BIN
home-manager/modules/firefox/config/icons/nx.png
Executable file
After Width: | Height: | Size: 195 KiB |
BIN
home-manager/modules/firefox/config/icons/ph.png
Executable file
After Width: | Height: | Size: 4.8 KiB |
BIN
home-manager/modules/firefox/config/icons/pi.png
Executable file
After Width: | Height: | Size: 58 KiB |
BIN
home-manager/modules/firefox/config/icons/re.png
Executable file
After Width: | Height: | Size: 7 KiB |
BIN
home-manager/modules/firefox/config/icons/sc.png
Executable file
After Width: | Height: | Size: 59 KiB |
BIN
home-manager/modules/firefox/config/icons/tl.png
Executable file
After Width: | Height: | Size: 13 KiB |
BIN
home-manager/modules/firefox/config/icons/ur.png
Executable file
After Width: | Height: | Size: 18 KiB |
BIN
home-manager/modules/firefox/config/icons/vs.png
Executable file
After Width: | Height: | Size: 26 KiB |
BIN
home-manager/modules/firefox/config/icons/wi.png
Executable file
After Width: | Height: | Size: 436 KiB |
BIN
home-manager/modules/firefox/config/icons/xv.png
Executable file
After Width: | Height: | Size: 44 KiB |
BIN
home-manager/modules/firefox/config/icons/yo.png
Executable file
After Width: | Height: | Size: 22 KiB |
149
home-manager/modules/firefox/config/search.nix
Executable file
|
@ -0,0 +1,149 @@
|
|||
{
|
||||
force = true;
|
||||
default = "Kagi";
|
||||
engines = {
|
||||
"AlternativeTo" = {
|
||||
definedAliases = ["@al"];
|
||||
icon = ./icons/al.png;
|
||||
urls = [{template = "https://alternativeto.net/browse/search/?q={searchTerms}";}];
|
||||
};
|
||||
"Amazon" = {
|
||||
definedAliases = ["@am"];
|
||||
icon = ./icons/am.png;
|
||||
urls = [{template = "https://www.amazon.ca/s?k={searchTerms}&ref=nav_bb_sb";}];
|
||||
};
|
||||
"Brave" = {
|
||||
definedAliases = ["@br"];
|
||||
icon = ./icons/br.png;
|
||||
urls = [{template = "https://search.brave.com/search?q={searchTerms}&source=web";}];
|
||||
};
|
||||
"Jellyfin" = {
|
||||
definedAliases = ["@jf"];
|
||||
icon = ./icons/ka.png;
|
||||
urls = [{template = "https://jellyfin.cloudbert.fun/web/#/search.html?query={searchTerms}";}];
|
||||
};
|
||||
"Hackage" = {
|
||||
definedAliases = ["@ha"];
|
||||
icon = ./icons/ha.png;
|
||||
urls = [{template = "https://hackage.haskell.org/packages/search?terms={searchTerms}";}];
|
||||
};
|
||||
"Kagi" = {
|
||||
definedAliases = ["@ka"];
|
||||
icon = ./icons/ka.png;
|
||||
urls = [{template = "https://kagi.com/search?q={searchTerms}";}];
|
||||
};
|
||||
"FYT Supplies" = {
|
||||
definedAliases = ["@fy"];
|
||||
icon = ./icons/fy.png;
|
||||
urls = [{template = "https://fytsupplies.ca/search?type=product%2Carticle%2Cpage%2Ccollection&options[prefix]=last&q={searchTerms}*";}];
|
||||
};
|
||||
"Hoogle" = {
|
||||
definedAliases = ["@ho"];
|
||||
icon = ./icons/ho.png;
|
||||
urls = [{template = "https://www.stackage.org/lts-22.33/hoogle?q={searchTerms}";}];
|
||||
};
|
||||
"Netflix" = {
|
||||
definedAliases = ["@ne"];
|
||||
icon = ./icons/ne.png;
|
||||
urls = [{template = "https://www.netflix.com/search?q={searchTerms}";}];
|
||||
};
|
||||
"Nix Packages" = {
|
||||
definedAliases = ["@np"];
|
||||
icon = ./icons/nx.png;
|
||||
urls = [{template = "https://searchix.alanpearce.eu/packages/nixpkgs/search?query={searchTerms}";}];
|
||||
};
|
||||
"Nix Options" = {
|
||||
definedAliases = ["@no"];
|
||||
icon = ./icons/nx.png;
|
||||
urls = [{template = "https://searchix.alanpearce.eu/options/nixos/search?query={searchTerms}";}];
|
||||
};
|
||||
"Nix Home Manager" = {
|
||||
definedAliases = ["@nh"];
|
||||
icon = ./icons/nx.png;
|
||||
urls = [{template = "https://searchix.alanpearce.eu/options/home-manager/search?query={searchTerms}";}];
|
||||
};
|
||||
"Nix Wiki" = {
|
||||
definedAliases = ["@nw"];
|
||||
icon = ./icons/nx.png;
|
||||
urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}];
|
||||
};
|
||||
"The Pirate Bay" = {
|
||||
definedAliases = ["@pi"];
|
||||
icon = ./icons/pi.png;
|
||||
urls = [{template = "https://thepiratebay.org/search.php?q={searchTerms}&all=on&search=Pirate+Search&page=0&orderby=";}];
|
||||
};
|
||||
"Reddit" = {
|
||||
definedAliases = ["@re"];
|
||||
icon = ./icons/re.png;
|
||||
urls = [{template = "https://www.reddit.com/search/?q={searchTerms}";}];
|
||||
};
|
||||
"Sci-Hub" = {
|
||||
definedAliases = ["@sc"];
|
||||
icon = ./icons/sc.png;
|
||||
urls = [{template = "https://sci-hub.ee/{searchTerms}";}];
|
||||
};
|
||||
"Stanford Encyclopedia of Philosophy" = {
|
||||
definedAliases = ["@ph"];
|
||||
icon = ./icons/ph.png;
|
||||
urls = [{template = "https://plato.stanford.edu/search/searcher.py?query={searchTerms}";}];
|
||||
};
|
||||
"Urban Dictionary" = {
|
||||
definedAliases = ["@ur"];
|
||||
icon = ./icons/ur.png;
|
||||
urls = [{template = "https://www.urbandictionary.com/define.php?term={searchTerms}";}];
|
||||
};
|
||||
"VSTorrent" = {
|
||||
definedAliases = ["@vs"];
|
||||
icon = ./icons/vs.png;
|
||||
urls = [{template = "https://vstorrent.org/?s={searchTerms}";}];
|
||||
};
|
||||
"Wikipedia" = {
|
||||
definedAliases = ["@wi"];
|
||||
icon = ./icons/wi.png;
|
||||
urls = [{template = "https://en.wikipedia.org/wiki/{searchTerms}";}];
|
||||
};
|
||||
"XVideos" = {
|
||||
definedAliases = ["@xv"];
|
||||
icon = ./icons/xv.png;
|
||||
urls = [{template = "https://www.xvideos.com/?k={searchTerms}";}];
|
||||
};
|
||||
"YouTube" = {
|
||||
definedAliases = ["@yo"];
|
||||
icon = ./icons/yo.png;
|
||||
urls = [{template = "https://www.youtube.com/results?search_query={searchTerms}";}];
|
||||
};
|
||||
"1337x" = {
|
||||
definedAliases = ["@13"];
|
||||
icon = ./icons/13.png;
|
||||
urls = [{template = "https://1337x.to/search/{searchTerms}/1/";}];
|
||||
};
|
||||
"Torrent Leech" = {
|
||||
definedAliases = ["@tl"];
|
||||
icon = ./icons/tl.png;
|
||||
urls = [{template = "https://www.torrentleech.org/torrents/browse/index/query/{searchTerms}";}];
|
||||
};
|
||||
"Amazon.ca".metaData.hidden = true;
|
||||
"Bing".metaData.hidden = true;
|
||||
"eBay".metaData.hidden = true;
|
||||
"Wikipedia (en)".metaData.hidden = true;
|
||||
};
|
||||
order = [
|
||||
"AlternativeTo"
|
||||
"Amazon"
|
||||
"Hackage"
|
||||
"FYT Supplies"
|
||||
"Nix Packages"
|
||||
"The Pirate Bay"
|
||||
"Reddit"
|
||||
"Urban Dictionary"
|
||||
"VSTorrent"
|
||||
"Wikipedia"
|
||||
"XVideos"
|
||||
"YouTube"
|
||||
"1337x"
|
||||
"Nix Packages"
|
||||
"Nix Options"
|
||||
"Brave"
|
||||
"Google"
|
||||
];
|
||||
}
|
233
home-manager/modules/firefox/config/settings.nix
Executable file
|
@ -0,0 +1,233 @@
|
|||
{
|
||||
"ui.systemUsesDarkTheme" = 1;
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"browser.aboutwelcome.enabled" = false;
|
||||
"browser.bookmarks.addedImportButton" = false;
|
||||
"browser.toolbars.bookmarks.visibility" = "never";
|
||||
"browser.urlbar.suggest.history" = false;
|
||||
"browser.urlbar.suggest.bookmark" = true;
|
||||
"browser.urlbar.suggest.openpage" = false;
|
||||
"browser.urlbar.suggest.shortcut" = false;
|
||||
"browser.urlbar.suggest.searches" = false;
|
||||
"browser.urlbar.suggest.recentsearches" = false;
|
||||
"dom.forms.autocomplete.formautofill" = true;
|
||||
"extensions.pocket.enabled" = false;
|
||||
"general.autoScroll" = true;
|
||||
"media.eme.enabled" = true;
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"browser.compactmode.show" = true;
|
||||
|
||||
# STARTUP
|
||||
"browser.newtab.url" = "about:home";
|
||||
"browser.newtabpage.activity-stream.default.sites" = "";
|
||||
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.topsites" = false;
|
||||
"browser.newtabpage.activity-stream.showRecentSaves" = false;
|
||||
"browser.newtabpage.activity-stream.showSearch" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.newtabpage.activity-stream.showWeather" = false;
|
||||
"browser.newtabpage.enabled" = true;
|
||||
"browser.startup.homepage" = "about:home";
|
||||
"browser.startup.page" = 1;
|
||||
"browser.tabs.closeWindowWithLastTab" = false;
|
||||
"browser.tabs.firefox-view-newIcon" = false;
|
||||
"browser.tabs.firefox-view" = false;
|
||||
"browser.tabs.inTitlebar" = 1;
|
||||
"browser.tabs.loadBookmarksInBackground" = true;
|
||||
"browser.tabs.tabmanager.enabled" = false;
|
||||
|
||||
# GEOLOCATION
|
||||
"geo.provider.network.url" = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
|
||||
"geo.provider.ms-windows-location" = false;
|
||||
"geo.provider.use_corelocation" = false;
|
||||
"geo.provider.use_gpsd" = false;
|
||||
"geo.provider.use_geoclue" = false;
|
||||
|
||||
# TELEMETRY
|
||||
"extensions.getAddons.showPane" = false;
|
||||
"extensions.htmlaboutaddons.recommendations.enabled" = false;
|
||||
"browser.discovery.enabled" = false;
|
||||
"browser.shopping.experience2023.enabled" = false;
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.server" = "data:,";
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"toolkit.telemetry.newProfilePing.enabled" = false;
|
||||
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
||||
"toolkit.telemetry.updatePing.enabled" = false;
|
||||
"toolkit.telemetry.bhrPing.enabled" = false;
|
||||
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
||||
"toolkit.telemetry.coverage.opt-out" = true;
|
||||
"toolkit.coverage.opt-out" = true;
|
||||
"toolkit.coverage.endpoint.base" = "";
|
||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"app.normandy.enabled" = false;
|
||||
"app.normandy.api_url" = "";
|
||||
"breakpad.reportURL" = "";
|
||||
"browser.tabs.crashReporting.sendReport" = false;
|
||||
"network.captive-portal-service.enabled" = false;
|
||||
"network.connectivity-service.enabled" = false;
|
||||
|
||||
# SAFE BROWSING
|
||||
"browser.safebrowsing.downloads.remote.enabled" = false;
|
||||
|
||||
# BLOCK IMPLICIT OUTBOUND
|
||||
"network.prefetch-next" = false;
|
||||
"network.dns.disablePrefetch" = true;
|
||||
"network.predictor.enabled" = false;
|
||||
"network.predictor.enable-prefetch" = false;
|
||||
"network.http.speculative-parallel-limit" = 0;
|
||||
"browser.places.speculativeConnect.enabled" = false;
|
||||
|
||||
# DNS / DoH / PROXY / SOCKS
|
||||
"network.proxy.socks_remote_dns" = true;
|
||||
"network.file.disable_unc_paths" = true;
|
||||
"network.gio.supported-protocols" = "";
|
||||
|
||||
# LOCATION BAR / SEARCH BAR / SUGGESTIONS / HISTORY / FORMS
|
||||
"browser.urlbar.speculativeConnect.enabled" = false;
|
||||
"browser.search.suggest.enabled" = false;
|
||||
"browser.formfill.enable" = false;
|
||||
"browser.search.separatePrivateDefault" = true;
|
||||
"browser.search.separatePrivateDefault.ui.enabled" = true;
|
||||
"extensions.formautofill.addresses.enabled" = false;
|
||||
"extensions.formautofill.addresses.supported" = "on";
|
||||
"extensions.formautofill.addresses.usage.hasEntry" = true;
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
"extensions.formautofill.heuristics.enabled" = false;
|
||||
|
||||
# PASSWORDS
|
||||
"network.auth.subresource-http-auth-allow" = 1;
|
||||
"signon.autofillForms" = false;
|
||||
"signon.formlessCapture.enabled" = false;
|
||||
"signon.rememberSignons" = false;
|
||||
|
||||
# DISK AVOIDANCE
|
||||
"browser.cache.disk.enable" = false;
|
||||
"browser.privatebrowsing.forceMediaMemoryCache" = true;
|
||||
"media.memory_cache_max_size" = 65536;
|
||||
"browser.sessionstore.privacy_level" = 2;
|
||||
"toolkit.winRegisterApplicationRestart" = false;
|
||||
"browser.shell.shortcutFavicons" = false;
|
||||
|
||||
# HTTPS (SSL/TLS / OCSP / CERTS / HPKP)
|
||||
"security.ssl.require_safe_negotiation" = true;
|
||||
"security.tls.enable_0rtt_data" = false;
|
||||
"security.OCSP.enabled" = 1;
|
||||
"security.OCSP.require" = true;
|
||||
"security.cert_pinning.enforcement_level" = 2;
|
||||
"security.remote_settings.crlite_filters.enabled" = true;
|
||||
"security.pki.crlite_mode" = 2;
|
||||
"dom.security.https_only_mode" = true;
|
||||
"dom.security.https_only_mode_send_http_background_request" = false;
|
||||
"security.ssl.treat_unsafe_negotiation_as_broken" = true;
|
||||
"browser.xul.error_pages.expert_bad_cert" = true;
|
||||
|
||||
# REFERERS
|
||||
"network.http.referer.XOriginTrimmingPolicy" = 2;
|
||||
|
||||
# CONTAINERS
|
||||
"privacy.userContext.enabled" = true;
|
||||
"privacy.userContext.ui.enabled" = true;
|
||||
|
||||
# PLUGINS / MEDIA / WEBRTC
|
||||
"media.peerconnection.ice.proxy_only_if_behind_proxy" = true;
|
||||
"media.peerconnection.ice.default_address_only" = true;
|
||||
|
||||
# DOM (DOCUMENT OBJECT MODEL)
|
||||
"dom.disable_window_move_resize" = true;
|
||||
|
||||
# MISCELLANEOUS
|
||||
"browser.download.start_downloads_in_tmp_dir" = true;
|
||||
"browser.helperApps.deleteTempFileOnExit" = true;
|
||||
"browser.uitour.enabled" = false;
|
||||
"devtools.debugger.remote-enabled" = false;
|
||||
"network.IDN_show_punycode" = true;
|
||||
"pdfjs.disabled" = false;
|
||||
"pdfjs.enableScripting" = false;
|
||||
|
||||
# SHUTDOWN & SANITIZING
|
||||
"privacy.sanitize.sanitizeOnShutdown" = false;
|
||||
"privacy.clearOnShutdown.cache" = true;
|
||||
"privacy.clearOnShutdown.downloads" = true;
|
||||
"privacy.clearOnShutdown.formdata" = true;
|
||||
"privacy.clearOnShutdown.history" = true;
|
||||
"privacy.clearOnShutdown.cookies" = true;
|
||||
"privacy.clearOnShutdown.offlineApps" = true;
|
||||
"privacy.clearOnShutdown.sessions" = false;
|
||||
"privacy.clearSiteData.cache" = true;
|
||||
"privacy.clearSiteData.historyFormDataAndDownloads" = true;
|
||||
"privacy.clearHistory.cache" = true;
|
||||
"privacy.clearHistory.cookiesAndStorage" = false;
|
||||
"privacy.clearHistory.historyFormDataAndDownloads" = true;
|
||||
"privacy.cpd.sessions" = true;
|
||||
|
||||
# FPP (fingerprintingProtection)
|
||||
"privacy.fingerprintingProtection.pbmode" = true;
|
||||
"privacy.fingerprintingProtection" = true;
|
||||
|
||||
# RFP (resistFingerprinting)
|
||||
"privacy.resistFingerprinting" = true;
|
||||
"privacy.window.maxInnerWidth" = 1600;
|
||||
"privacy.window.maxInnerHeight" = 900;
|
||||
"privacy.resistFingerprinting.block_mozAddonManager" = true;
|
||||
"privacy.resistFingerprinting.letterboxing" = false;
|
||||
"privacy.spoof_english" = 1;
|
||||
"browser.display.use_system_colors" = false;
|
||||
"widget.non-native-theme.enabled" = true;
|
||||
"browser.link.open_newwindow" = 3;
|
||||
"browser.link.open_newwindow.restriction" = 0;
|
||||
"webgl.disabled" = false;
|
||||
|
||||
# OPTIONAL OPSEC
|
||||
"browser.download.useDownloadDir" = false;
|
||||
"browser.download.alwaysOpenPanel" = false;
|
||||
"browser.download.manager.addToRecentDocs" = false;
|
||||
"browser.download.always_ask_before_handling_new_types" = true;
|
||||
"extensions.enabledScopes" = 5;
|
||||
"extensions.postDownloadThirdPartyPrompt" = false;
|
||||
|
||||
# ETP (ENHANCED TRACKING PROTECTION)
|
||||
"browser.contentblocking.category" = "strict";
|
||||
|
||||
# SHUTDOWN & SANITIZING (continued)
|
||||
"privacy.clearOnShutdown_v2.cache" = true;
|
||||
"privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true;
|
||||
"privacy.clearOnShutdown_v2.cookiesAndStorage" = true;
|
||||
|
||||
# OPTIONAL HARDENING
|
||||
# These settings are commented out in the original template; uncomment if needed
|
||||
# "mathml.disabled" = true;
|
||||
# "svg.disabled" = true;
|
||||
# "gfx.font_rendering.graphite.enabled" = false;
|
||||
# "javascript.options.asmjs" = false;
|
||||
# "javascript.options.ion" = false;
|
||||
# "javascript.options.baselinejit" = false;
|
||||
# "javascript.options.jit_trustedprincipals" = true;
|
||||
# "javascript.options.wasm" = false;
|
||||
# "gfx.font_rendering.opentype_svg.enabled" = false;
|
||||
# "media.eme.enabled" = false;
|
||||
# "browser.eme.ui.enabled" = false;
|
||||
# "network.dns.disableIPv6" = true;
|
||||
|
||||
# DON'T TOUCH
|
||||
"extensions.blocklist.enabled" = true;
|
||||
"network.http.referer.spoofSource" = false;
|
||||
"security.dialog_enable_delay" = 1000;
|
||||
"privacy.firstparty.isolate" = false;
|
||||
"extensions.webcompat.enable_shims" = true;
|
||||
"security.tls.version.enable-deprecated" = false;
|
||||
"extensions.webcompat-reporter.enabled" = false;
|
||||
"extensions.quarantinedDomains.enabled" = true;
|
||||
|
||||
# NON-PROJECT RELATED
|
||||
# "browser.startup.homepage_override.mstone" = "ignore";
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
|
||||
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
|
||||
"browser.urlbar.showSearchTerms.enabled" = false;
|
||||
}
|
98
home-manager/modules/firefox/config/userChrome.css
Executable file
|
@ -0,0 +1,98 @@
|
|||
/* Title bar */
|
||||
.titlebar-spacer {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Tab bar */
|
||||
#navigator-toolbox {
|
||||
border: 0px !important;
|
||||
}
|
||||
#TabsToolbar {
|
||||
margin-left: 3px !important;
|
||||
}
|
||||
#TabsToolbar > .tabbrowser-arrowscrollbox {
|
||||
overflow: visible !important;
|
||||
}
|
||||
|
||||
/* Nav bar */
|
||||
#nav-bar {
|
||||
height: 1px;
|
||||
min-height: 1px !important;
|
||||
overflow: hidden;
|
||||
transition: height 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
/* Only show nav-bar when specifically focused, not when clicking tab bar */
|
||||
#nav-bar:focus-within {
|
||||
overflow: visible;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Remove placeholder text in the URL bar */
|
||||
#urlbar-input::placeholder {
|
||||
color: transparent !important;
|
||||
}
|
||||
#urlbar {
|
||||
padding: 2px !important;
|
||||
}
|
||||
|
||||
/* Hide URL bar text */
|
||||
#urlbar-background {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
#urlbar-border:focus-within {
|
||||
overflow: visible;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Hide search engine icon */
|
||||
#urlbar .search-one-offs:not([hidden]) {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide tracking protection icon */
|
||||
#tracking-protection-icon-container {
|
||||
display: none !important;
|
||||
}
|
||||
#urlbar-container {
|
||||
width: auto !important;
|
||||
}
|
||||
#urlbar {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
#page-action-buttons {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide site information button */
|
||||
#identity-box {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide shield icon */
|
||||
#tracking-protection-icon-container {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Hide forward and back buttons when not active */
|
||||
#back-button[disabled="true"] {
|
||||
display: none !important;
|
||||
}
|
||||
#forward-button[disabled="true"] {
|
||||
display: none !important;
|
||||
}
|
||||
.personalize-button {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.tab-close-button {
|
||||
visibility: hidden !important;
|
||||
margin-inline-end: 0 !important;
|
||||
width: 16px !important;
|
||||
height: 16px !important;
|
||||
padding: 2px !important;
|
||||
}
|
||||
.tabbrowser-tab:hover .tab-close-button {
|
||||
visibility: visible !important;
|
||||
}
|
23
home-manager/modules/firefox/default.nix
Executable file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
pkgs,
|
||||
flake,
|
||||
nur,
|
||||
...
|
||||
}: let
|
||||
inherit (flake.config.people) user0;
|
||||
in {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox;
|
||||
profiles = {
|
||||
${user0} = {
|
||||
isDefault = true;
|
||||
search = import ./config/search.nix;
|
||||
bookmarks = import ./config/bookmarks.nix;
|
||||
settings = import ./config/settings.nix;
|
||||
extensions = import ./config/extensions.nix {inherit nur;};
|
||||
userChrome = builtins.readFile ./config/userChrome.css;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
49
home-manager/modules/freetube.nix
Executable file
|
@ -0,0 +1,49 @@
|
|||
{
|
||||
programs.freetube = {
|
||||
enable = true;
|
||||
settings = {
|
||||
allSettingsSectionsExpandedByDefault = false;
|
||||
barColor = false;
|
||||
baseTheme = "catppuccinMocha";
|
||||
bounds = {
|
||||
x = 880;
|
||||
y = 221;
|
||||
width = 1200;
|
||||
height = 800;
|
||||
maximized = false;
|
||||
fullScreen = false;
|
||||
};
|
||||
defaultQuality = "1080";
|
||||
downloadAskPath = false;
|
||||
downloadBehavior = "download";
|
||||
downloadFolderPath = "/home/nick/Downloads/FreeTube";
|
||||
expandSideBar = true;
|
||||
externalPlayer = "mpv";
|
||||
hideActiveSubscriptions = false;
|
||||
hideCommentLikes = true;
|
||||
hideCommentPhotos = true;
|
||||
hideHeaderLogo = true;
|
||||
hideLabelsSideBar = true;
|
||||
hidePlaylists = true;
|
||||
hidePopularVideos = true;
|
||||
hideRecommendedVideos = true;
|
||||
hideSubscriptionsShorts = false;
|
||||
hideSubscriptionsVideos = false;
|
||||
hideTrendingVideos = true;
|
||||
hideVideoLikesAndDislikes = true;
|
||||
mainColor = "CatppuccinMochaMauve";
|
||||
maxVideoPlaybackRate = 10;
|
||||
playNextVideo = false;
|
||||
quickBookmarkTargetPlaylistId = "favorites";
|
||||
rememberHistory = false;
|
||||
saveWatchedProgress = false;
|
||||
secColor = "CatppuccinMochaLavender";
|
||||
useDeArrowThumbnails = true;
|
||||
useDeArrowTitles = true;
|
||||
useSponsorBlock = true;
|
||||
defaultTheatreMode = true;
|
||||
listType = "grid";
|
||||
currentLocale = "en_GB";
|
||||
};
|
||||
};
|
||||
}
|
14
home-manager/modules/git.nix
Executable file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
config,
|
||||
flake,
|
||||
...
|
||||
}: let
|
||||
user = config.home.username;
|
||||
userConfig = flake.config.people.user.${user};
|
||||
in {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = userConfig.name;
|
||||
userEmail = userConfig.email.address0;
|
||||
};
|
||||
}
|
57
home-manager/modules/helix.nix
Executable file
|
@ -0,0 +1,57 @@
|
|||
{pkgs, ...}: {
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
package = pkgs.helix;
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "alejandra";
|
||||
name = "nix";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "haskell";
|
||||
name = "haskell";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "cssfmt";
|
||||
name = "css";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "yuck";
|
||||
name = "yuck";
|
||||
}
|
||||
{
|
||||
auto-format = true;
|
||||
formatter.command = "yamlfmt";
|
||||
name = "yaml";
|
||||
}
|
||||
];
|
||||
};
|
||||
settings = {
|
||||
editor = {
|
||||
mouse = true;
|
||||
auto-format = true;
|
||||
auto-save = true;
|
||||
line-number = "relative";
|
||||
lsp = {
|
||||
display-messages = true;
|
||||
display-inlay-hints = true;
|
||||
};
|
||||
};
|
||||
keys = {
|
||||
normal = {
|
||||
space = {
|
||||
f = ":format";
|
||||
q = ":q";
|
||||
w = ":w";
|
||||
};
|
||||
};
|
||||
};
|
||||
theme = "catppuccin_macchiato";
|
||||
};
|
||||
};
|
||||
}
|
1
home-manager/modules/home-manager.nix
Executable file
|
@ -0,0 +1 @@
|
|||
{programs.home-manager.enable = true;}
|
7
home-manager/modules/lazygit.nix
Executable file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
programs.lazygit = {
|
||||
enable = true;
|
||||
settings = {
|
||||
};
|
||||
};
|
||||
}
|
12
home-manager/modules/misc/android.nix
Executable file
|
@ -0,0 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
android-file-transfer
|
||||
android-tools
|
||||
scrcpy
|
||||
;
|
||||
};
|
||||
}
|
||||
#requires that users be part of the adbusers group
|
||||
|
36
home-manager/modules/misc/command-line.nix
Executable file
|
@ -0,0 +1,36 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
acpi
|
||||
cifs-utils
|
||||
fastfetch
|
||||
ffmpeg
|
||||
flac
|
||||
gvfs
|
||||
hardinfo
|
||||
inetutils
|
||||
libgen-cli
|
||||
libnatpmp
|
||||
ncdu
|
||||
networkmanager-openvpn
|
||||
nftables
|
||||
nyancat
|
||||
openssl
|
||||
pciutils
|
||||
pinentry
|
||||
playerctl
|
||||
simple-mtpfs
|
||||
sshfs
|
||||
tokei
|
||||
tomb
|
||||
unrar
|
||||
unzip
|
||||
wezterm
|
||||
wget
|
||||
wine
|
||||
xdotool
|
||||
zip
|
||||
;
|
||||
};
|
||||
}
|
12
home-manager/modules/misc/file-management.nix
Executable file
|
@ -0,0 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
celeste
|
||||
bulky
|
||||
flameshot
|
||||
gparted
|
||||
usbimager
|
||||
;
|
||||
};
|
||||
}
|
10
home-manager/modules/misc/gaming.nix
Executable file
|
@ -0,0 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
lutris
|
||||
prismlauncher
|
||||
steam
|
||||
;
|
||||
};
|
||||
}
|
34
home-manager/modules/misc/gnome-extras.nix
Executable file
|
@ -0,0 +1,34 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
evince
|
||||
file-roller
|
||||
gnome-calculator
|
||||
gnome-characters
|
||||
gnome-disk-utility
|
||||
# gnome-remote-desktop
|
||||
|
||||
# gnome-shell-extensions
|
||||
|
||||
gnome-system-monitor
|
||||
# gnome-tweaks
|
||||
|
||||
nautilus
|
||||
;
|
||||
|
||||
# inherit
|
||||
# (pkgs.gnomeExtensions)
|
||||
# appindicator
|
||||
# dash-to-panel
|
||||
# just-perfection
|
||||
# keep-awake
|
||||
# no-overview
|
||||
# notification-banner-reloaded
|
||||
# paperwm
|
||||
# start-overlay-in-application-view
|
||||
# tiling-assistant
|
||||
# wallpaper-slideshow
|
||||
# ;
|
||||
};
|
||||
}
|
12
home-manager/modules/misc/internet-extras.nix
Executable file
|
@ -0,0 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
brave
|
||||
firefox
|
||||
tdesktop
|
||||
teams-for-linux
|
||||
whatsapp-for-linux
|
||||
;
|
||||
};
|
||||
}
|
13
home-manager/modules/misc/internet.nix
Executable file
|
@ -0,0 +1,13 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
discord
|
||||
element-desktop
|
||||
openvpn
|
||||
signal-desktop
|
||||
vesktop
|
||||
xdg-utils
|
||||
;
|
||||
};
|
||||
}
|
12
home-manager/modules/misc/jellyfin.nix
Executable file
|
@ -0,0 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
kid3
|
||||
mp3gain
|
||||
nicotine-plus
|
||||
puddletag
|
||||
soulseekqt
|
||||
;
|
||||
};
|
||||
}
|
10
home-manager/modules/misc/kde-extras.nix
Executable file
|
@ -0,0 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs.kdePackages)
|
||||
okular
|
||||
partitionmanager
|
||||
kolourpaint
|
||||
;
|
||||
};
|
||||
}
|
16
home-manager/modules/misc/media.nix
Executable file
|
@ -0,0 +1,16 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
beets
|
||||
flameshot
|
||||
celluloid
|
||||
feishin
|
||||
nomacs
|
||||
mpv
|
||||
open-dyslexic
|
||||
spotify
|
||||
vlc
|
||||
;
|
||||
};
|
||||
}
|
12
home-manager/modules/misc/privacy.nix
Executable file
|
@ -0,0 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
bitwarden
|
||||
ledger-live-desktop
|
||||
protonvpn-gui
|
||||
protonvpn-cli
|
||||
tor-browser
|
||||
;
|
||||
};
|
||||
}
|
15
home-manager/modules/misc/production-art-extras.nix
Executable file
|
@ -0,0 +1,15 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
blender
|
||||
darktable
|
||||
gimp
|
||||
opentabletdriver
|
||||
;
|
||||
inherit
|
||||
(pkgs.sweethome3d)
|
||||
application
|
||||
;
|
||||
};
|
||||
}
|
9
home-manager/modules/misc/production-art.nix
Executable file
|
@ -0,0 +1,9 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
inkscape
|
||||
krita
|
||||
;
|
||||
};
|
||||
}
|
10
home-manager/modules/misc/production-audio.nix
Executable file
|
@ -0,0 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
reaper
|
||||
ardour
|
||||
yabridge
|
||||
;
|
||||
};
|
||||
}
|
10
home-manager/modules/misc/production-code.nix
Executable file
|
@ -0,0 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs.nodePackages_latest)
|
||||
dotenv-cli
|
||||
forever
|
||||
nodejs
|
||||
;
|
||||
};
|
||||
}
|
14
home-manager/modules/misc/production-video.nix
Executable file
|
@ -0,0 +1,14 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
droidcam
|
||||
deskreen
|
||||
shotcut
|
||||
# syncplay # group streaming thingie
|
||||
|
||||
# yt-dlp # dependency for syncplay
|
||||
|
||||
;
|
||||
};
|
||||
}
|
9
home-manager/modules/misc/production-writing.nix
Executable file
|
@ -0,0 +1,9 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
libreoffice
|
||||
obsidian
|
||||
;
|
||||
};
|
||||
}
|
8
home-manager/modules/misc/virtualization.nix
Executable file
|
@ -0,0 +1,8 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
virt-manager
|
||||
;
|
||||
};
|
||||
}
|
8
home-manager/modules/misc/wpsoffice.nix
Executable file
|
@ -0,0 +1,8 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
wpsoffice
|
||||
;
|
||||
};
|
||||
}
|
10
home-manager/modules/misc/yazi.nix
Executable file
|
@ -0,0 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = builtins.attrValues {
|
||||
inherit
|
||||
(pkgs)
|
||||
desktop-file-utils
|
||||
exiftool
|
||||
mediainfo
|
||||
;
|
||||
};
|
||||
}
|
11
home-manager/modules/mpv.nix
Executable file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
programs.mpv = {
|
||||
enable = true;
|
||||
config = {
|
||||
profile = "gpu-hq";
|
||||
ytdl-format = "bestvideo+bestaudio";
|
||||
cache-default = 4000000;
|
||||
loop-file = "inf";
|
||||
};
|
||||
};
|
||||
}
|
6
home-manager/modules/nextcloud.nix
Executable file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
services.nextcloud-client = {
|
||||
enable = true;
|
||||
startInBackground = true;
|
||||
};
|
||||
}
|
8
home-manager/modules/nushell.nix
Executable file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
configFile.text = ''
|
||||
$env.config = {show_banner: false}
|
||||
'';
|
||||
};
|
||||
}
|
12
home-manager/modules/obs-studio/default.nix
Executable file
|
@ -0,0 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
programs = {
|
||||
obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
obs-tuna
|
||||
obs-vkcapture
|
||||
];
|
||||
};
|
||||
};
|
||||
xdg.configFile."obs-studio/themes".source = ./themes;
|
||||
}
|
1054
home-manager/modules/obs-studio/themes/Catppuccin Frappe (compact).qss
Executable file
1520
home-manager/modules/obs-studio/themes/Catppuccin Frappe.qss
Executable file
1054
home-manager/modules/obs-studio/themes/Catppuccin Latte (compact).qss
Executable file
1520
home-manager/modules/obs-studio/themes/Catppuccin Latte.qss
Executable file
1054
home-manager/modules/obs-studio/themes/Catppuccin Macchiato (compact).qss
Executable file
1520
home-manager/modules/obs-studio/themes/Catppuccin Macchiato.qss
Executable file
1054
home-manager/modules/obs-studio/themes/Catppuccin Mocha (compact).qss
Executable file
1522
home-manager/modules/obs-studio/themes/Catppuccin Mocha.qss
Executable file
2
home-manager/modules/obs-studio/themes/Catppuccin/Dark/alert.svg
Executable file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 7.90625 0.105469 c -0.527344 -0.027344 -1.039062 0.28125 -1.4375 0.96875 l -6.25 11.59375 c -0.535156 0.964843 0.046875 2.34375 1.09375 2.34375 h 13.15625 c 0.980469 0 1.902344 -1.160157 1.21875 -2.34375 l -6.3125 -11.53125 c -0.398438 -0.648438 -0.941406 -1.003907 -1.46875 -1.03125 z m 0.0625 3.9375 c 0.542969 -0.019531 1.046875 0.488281 1.03125 1.03125 v 3.9375 c 0.007812 0.527343 -0.472656 1 -1 1 s -1.007812 -0.472657 -1 -1 v -3.9375 c -0.007812 -0.46875 0.355469 -0.914063 0.8125 -1 c 0.050781 -0.015625 0.101562 -0.023438 0.15625 -0.03125 z m 0.03125 6.96875 c 0.550781 0 1 0.449219 1 1 s -0.449219 1 -1 1 s -1 -0.449219 -1 -1 s 0.449219 -1 1 -1 z m 0 0" fill="#fefefe"/></svg>
|
After Width: | Height: | Size: 824 B |
11
home-manager/modules/obs-studio/themes/Catppuccin/Dark/checkbox_checked.svg
Executable file
|
@ -0,0 +1,11 @@
|
|||
<svg version="1.1" x="0px" y="0px" width="128px" height="128px" viewBox="0 0 128 128">
|
||||
<g>
|
||||
<path fill="none" stroke="#B0AFB3" stroke-width="8" stroke-miterlimit="10" d="M115.579,104.736
|
||||
c0,6.222-5.013,11.264-11.192,11.264H22.771c-6.182,0-11.192-5.042-11.192-11.264V23.263c0-6.221,5.01-11.263,11.192-11.263h81.616
|
||||
c6.18,0,11.191,5.042,11.191,11.263L115.579,104.736L115.579,104.736z"/>
|
||||
</g>
|
||||
<g>
|
||||
<line fill="none" stroke="#B0AFB3" stroke-width="12" stroke-miterlimit="10" x1="29.213" y1="66.025" x2="54.362" y2="91.168"/>
|
||||
<line fill="none" stroke="#B0AFB3" stroke-width="12" stroke-miterlimit="10" x1="98.213" y1="38.12" x2="45.165" y2="91.168"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 663 B |
|
@ -0,0 +1,11 @@
|
|||
<svg version="1.1" x="0" y="0" width="128" height="128" viewBox="0 0 128 128">
|
||||
<g>
|
||||
<path id="Unchecked_1_" fill="none" stroke="#4A4C53" stroke-width="8" stroke-miterlimit="10" d="M115.579,104.737
|
||||
c0,6.221-5.012,11.263-11.192,11.263H22.771c-6.182,0-11.192-5.042-11.192-11.263V23.263c0-6.221,5.01-11.263,11.192-11.263h81.615
|
||||
c6.181,0,11.192,5.042,11.192,11.263V104.737z"/>
|
||||
</g>
|
||||
<g>
|
||||
<line fill="none" stroke="#4A4C53" stroke-width="12" stroke-miterlimit="10" x1="29.213" y1="66.025" x2="54.362" y2="91.168"/>
|
||||
<line fill="none" stroke="#4A4C53" stroke-width="12" stroke-miterlimit="10" x1="98.213" y1="38.12" x2="45.165" y2="91.168"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 650 B |
|
@ -0,0 +1,11 @@
|
|||
<svg version="1.1" x="0" y="0" width="128" height="128" viewBox="0 0 128 128">
|
||||
<g>
|
||||
<path fill="none" stroke="#FFFFFF" stroke-width="12" stroke-miterlimit="10" d="
|
||||
M115.579,104.737c0,6.221-5.012,11.263-11.192,11.263H22.771c-6.182,0-11.192-5.042-11.192-11.263V23.263
|
||||
c0-6.221,5.01-11.263,11.192-11.263h81.615c6.181,0,11.192,5.042,11.192,11.263V104.737z"/>
|
||||
</g>
|
||||
<g>
|
||||
<line fill="none" stroke="#FFFFFF" stroke-width="20" stroke-miterlimit="10" x1="29.213" y1="66.025" x2="54.362" y2="91.168"/>
|
||||
<line fill="none" stroke="#FFFFFF" stroke-width="20" stroke-miterlimit="10" x1="98.213" y1="38.12" x2="45.165" y2="91.168"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 633 B |
|
@ -0,0 +1,9 @@
|
|||
<svg version="1.1" x="0" y="0" width="128" height="128" viewBox="0 0 128 128">
|
||||
<g>
|
||||
<path fill="none" stroke="#B0AFB3" stroke-width="8" stroke-miterlimit="10" d="M115.579,104.737
|
||||
c0,6.221-5.012,11.263-11.192,11.263H22.771c-6.182,0-11.192-5.042-11.192-11.263V23.263c0-6.221,5.01-11.263,11.192-11.263h81.615
|
||||
c6.181,0,11.192,5.042,11.192,11.263V104.737z"/>
|
||||
<path display="none" fill="#B0AFB3" d="M90,77.91C90,84.587,84.587,90,77.91,90H50.09C43.413,90,38,84.587,38,77.91V50.09
|
||||
C38,43.413,43.413,38,50.09,38h27.82C84.587,38,90,43.413,90,50.09V77.91z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 567 B |
|
@ -0,0 +1,7 @@
|
|||
<svg version="1.1" x="0" y="0" width="128" height="128" viewBox="0 0 128 128">
|
||||
<g>
|
||||
<path fill="none" stroke="#4A4C53" stroke-width="8" stroke-miterlimit="10" d="M115.579,104.737
|
||||
c0,6.221-5.012,11.263-11.192,11.263H22.771c-6.182,0-11.192-5.042-11.192-11.263V23.263c0-6.221,5.01-11.263,11.192-11.263h81.615
|
||||
c6.181,0,11.192,5.042,11.192,11.263V104.737z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 370 B |
|
@ -0,0 +1,7 @@
|
|||
<svg version="1.1" x="0" y="0" width="128" height="128" viewBox="0 0 128 128">
|
||||
<g>
|
||||
<path fill="none" stroke="#FFFFFF" stroke-width="12" stroke-miterlimit="10" d="
|
||||
M115.579,104.737c0,6.221-5.012,11.263-11.192,11.263H22.771c-6.182,0-11.192-5.042-11.192-11.263V23.263
|
||||
c0-6.221,5.01-11.263,11.192-11.263h81.615c6.181,0,11.192,5.042,11.192,11.263V104.737z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 371 B |
4
home-manager/modules/obs-studio/themes/Catppuccin/Dark/close.svg
Executable file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 4 4 h 1 h 0.03125 c 0.253906 0.011719 0.511719 0.128906 0.6875 0.3125 l 2.28125 2.28125 l 2.3125 -2.28125 c 0.265625 -0.230469 0.445312 -0.304688 0.6875 -0.3125 h 1 v 1 c 0 0.285156 -0.035156 0.550781 -0.25 0.75 l -2.28125 2.28125 l 2.25 2.25 c 0.1875 0.1875 0.28125 0.453125 0.28125 0.71875 v 1 h -1 c -0.265625 0 -0.53125 -0.09375 -0.71875 -0.28125 l -2.28125 -2.28125 l -2.28125 2.28125 c -0.1875 0.1875 -0.453125 0.28125 -0.71875 0.28125 h -1 v -1 c 0 -0.265625 0.09375 -0.53125 0.28125 -0.71875 l 2.28125 -2.25 l -2.28125 -2.28125 c -0.210938 -0.195312 -0.304688 -0.46875 -0.28125 -0.75 z m 0 0" fill="#fefefe"/>
|
||||
</svg>
|
After Width: | Height: | Size: 767 B |
1
home-manager/modules/obs-studio/themes/Catppuccin/Dark/cogs.svg
Executable file
|
@ -0,0 +1 @@
|
|||
<svg fill="#fefefe" enable-background="new 924 796 200 200" height="200" viewBox="924 796 200 200" width="200" xmlns="http://www.w3.org/2000/svg"><path d="m1049.078 903.431h-3.447c-3.104 0-5.875-1.963-6.904-4.891-.626-1.793-1.354-3.536-2.176-5.227-1.361-2.806-.799-6.167 1.404-8.369l2.381-2.382c4.029-4.028 4.029-10.556.002-14.583l-1.717-1.717c-4.025-4.024-10.557-4.028-14.58 0l-2.436 2.433c-2.193 2.196-5.538 2.769-8.336 1.425-1.696-.811-3.442-1.532-5.236-2.155-2.948-1.017-4.928-3.795-4.928-6.91v-3.37c0-5.693-4.618-10.31-10.309-10.31h-2.43c-5.695 0-10.312 4.616-10.312 10.31v3.444c0 3.107-1.962 5.877-4.892 6.906-1.792.627-3.534 1.354-5.224 2.176-2.803 1.361-6.166.796-8.371-1.406l-2.377-2.382c-4.03-4.028-10.558-4.028-14.584 0l-1.719 1.717c-4.026 4.028-4.028 10.555 0 14.583l2.434 2.432c2.193 2.197 2.765 5.54 1.421 8.341-.812 1.691-1.532 3.44-2.15 5.234-1.021 2.945-3.798 4.926-6.915 4.926h-3.367c-5.695 0-10.312 4.617-10.312 10.313v2.429c0 5.693 4.617 10.31 10.312 10.31h3.441c3.106 0 5.876 1.963 6.903 4.893.63 1.791 1.358 3.537 2.18 5.227 1.361 2.804.795 6.164-1.408 8.367l-2.379 2.383c-4.029 4.027-4.027 10.555 0 14.582l1.718 1.718c4.025 4.023 10.553 4.026 14.58-.003l2.431-2.432c2.195-2.194 5.54-2.768 8.341-1.424 1.694.813 3.441 1.533 5.236 2.155 2.946 1.018 4.927 3.795 4.927 6.913v3.364c-.004 5.699 4.614 10.313 10.311 10.313h2.427c5.696 0 10.314-4.614 10.311-10.309v-3.445c0-3.104 1.962-5.875 4.892-6.905 1.792-.628 3.537-1.354 5.229-2.175 2.801-1.362 6.165-.798 8.368 1.404l2.379 2.38c4.027 4.029 10.555 4.025 14.583.002l1.717-1.718c4.027-4.026 4.03-10.557 0-14.581l-2.432-2.433c-2.197-2.193-2.768-5.54-1.426-8.337.814-1.696 1.533-3.445 2.154-5.24 1.021-2.947 3.795-4.926 6.914-4.926h3.367c5.695.002 10.31-4.616 10.31-10.312v-2.429c.001-5.691-4.613-10.313-10.306-10.309zm-57.384 36.716c-13.852 0-25.081-11.227-25.081-25.078 0-13.853 11.229-25.08 25.081-25.08 13.85 0 25.079 11.228 25.079 25.08-.001 13.852-11.229 25.078-25.079 25.078z"/><path d="m1117.307 845.487h-1.727c-2.557 0-4.847-1.583-5.752-3.974-.229-.609-.479-1.212-.746-1.804-1.053-2.329-.554-5.07 1.256-6.876l1.219-1.221c2.613-2.611 2.613-6.853 0-9.466l-.473-.473c-2.613-2.612-6.852-2.612-9.465 0l-1.219 1.221c-1.809 1.809-4.547 2.308-6.877 1.258-.593-.268-1.192-.516-1.805-.747-2.389-.903-3.975-3.196-3.975-5.748v-1.729c0-3.697-2.996-6.692-6.689-6.692h-.668c-3.698 0-6.696 2.995-6.696 6.692v1.724c0 2.557-1.581 4.85-3.972 5.753-.609.231-1.215.479-1.805.747-2.328 1.05-5.069.551-6.876-1.256l-1.22-1.221c-2.611-2.614-6.854-2.613-9.467.001l-.472.472c-2.613 2.613-2.613 6.853 0 9.465l1.219 1.22c1.806 1.806 2.31 4.547 1.257 6.876-.268.592-.517 1.194-.748 1.804-.903 2.391-3.193 3.977-5.748 3.977h-1.727c-3.695-.002-6.691 2.997-6.691 6.69v.669c0 3.696 2.996 6.693 6.691 6.693h1.722c2.557-.001 4.85 1.582 5.753 3.973.231.611.48 1.215.747 1.809 1.052 2.326.552 5.065-1.255 6.871l-1.219 1.224c-2.613 2.609-2.613 6.851 0 9.463l.475.473c2.611 2.614 6.852 2.614 9.463 0l1.217-1.219c1.807-1.806 4.549-2.308 6.877-1.255.592.269 1.197.517 1.809.748 2.389.901 3.974 3.193 3.974 5.747v1.724c-.004 3.694 2.995 6.692 6.692 6.692h.669c3.693 0 6.692-2.994 6.692-6.692v-1.721c0-2.556 1.582-4.849 3.971-5.752.612-.23 1.216-.479 1.809-.746 2.326-1.053 5.068-.551 6.873 1.251l1.223 1.222c2.609 2.615 6.85 2.615 9.465 0l.473-.475c2.611-2.611 2.611-6.851 0-9.464l-1.221-1.22c-1.805-1.806-2.307-4.547-1.256-6.875.268-.59.518-1.194.749-1.805.901-2.391 3.191-3.976 5.747-3.976h1.725c3.694.004 6.691-2.995 6.695-6.69v-.669c-.004-3.697-3-6.693-6.693-6.693zm-36.59 21.753c-8.131 0-14.723-6.592-14.723-14.724s6.592-14.724 14.723-14.724c8.133 0 14.725 6.592 14.725 14.724s-6.592 14.724-14.725 14.724z"/></svg>
|
After Width: | Height: | Size: 3.6 KiB |
4
home-manager/modules/obs-studio/themes/Catppuccin/Dark/collapse.svg
Executable file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 13.996094 5 l -5.996094 6 l -6.003906 -6 z m 0 0" fill="#fefefe"/>
|
||||
</svg>
|
After Width: | Height: | Size: 216 B |
4
home-manager/modules/obs-studio/themes/Catppuccin/Dark/dots-vert.svg
Executable file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 7.996094 0 c -1.105469 0 -2 0.894531 -2 2 s 0.894531 2 2 2 c 1.101562 0 2 -0.894531 2 -2 s -0.898438 -2 -2 -2 z m 0 6 c -1.105469 0 -2 0.894531 -2 2 s 0.894531 2 2 2 c 1.101562 0 2 -0.894531 2 -2 s -0.898438 -2 -2 -2 z m 0 6 c -1.105469 0 -2 0.894531 -2 2 s 0.894531 2 2 2 c 1.101562 0 2 -0.894531 2 -2 s -0.898438 -2 -2 -2 z m 0 0" fill="#fefefe"/>
|
||||
</svg>
|
After Width: | Height: | Size: 499 B |
4
home-manager/modules/obs-studio/themes/Catppuccin/Dark/dots.svg
Executable file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 2 6.007812 c -1.105469 0 -2 0.894532 -2 2 c 0 1.101563 0.894531 2 2 2 s 2 -0.898437 2 -2 c 0 -1.105468 -0.894531 -2 -2 -2 z m 6 0 c -1.105469 0 -2 0.894532 -2 2 c 0 1.101563 0.894531 2 2 2 s 2 -0.898437 2 -2 c 0 -1.105468 -0.894531 -2 -2 -2 z m 6 0 c -1.105469 0 -2 0.894532 -2 2 c 0 1.101563 0.894531 2 2 2 s 2 -0.898437 2 -2 c 0 -1.105468 -0.894531 -2 -2 -2 z m 0 0" fill="#fefefe"/>
|
||||
</svg>
|
After Width: | Height: | Size: 535 B |
4
home-manager/modules/obs-studio/themes/Catppuccin/Dark/down.svg
Executable file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 1 5 c 0 -0.265625 0.105469 -0.519531 0.292969 -0.707031 c 0.390625 -0.390625 1.023437 -0.390625 1.414062 0 l 5.292969 5.292969 l 5.292969 -5.292969 c 0.390625 -0.390625 1.023437 -0.390625 1.414062 0 c 0.1875 0.1875 0.292969 0.441406 0.292969 0.707031 s -0.105469 0.519531 -0.292969 0.707031 l -6 6 c -0.390625 0.390625 -1.023437 0.390625 -1.414062 0 l -6 -6 c -0.1875 -0.1875 -0.292969 -0.441406 -0.292969 -0.707031 z m 0 0" fill="#fefefe"/>
|
||||
</svg>
|
After Width: | Height: | Size: 591 B |
4
home-manager/modules/obs-studio/themes/Catppuccin/Dark/entry-clear.svg
Executable file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 6 2 l -6 6 l 6 6 h 9.035156 c 0.53125 -0.023438 0.964844 -0.492188 0.964844 -1 v -10 c 0 -0.53125 -0.34375 -1 -1.007812 -1 z m 1 3 h 1 h 0.03125 c 0.253906 0.011719 0.511719 0.128906 0.6875 0.3125 l 1.28125 1.28125 l 1.3125 -1.28125 c 0.265625 -0.230469 0.445312 -0.304688 0.6875 -0.3125 h 1 v 1 c 0 0.285156 -0.035156 0.550781 -0.25 0.75 l -1.28125 1.28125 l 1.25 1.25 c 0.1875 0.1875 0.28125 0.453125 0.28125 0.71875 v 1 h -1 c -0.265625 0 -0.53125 -0.09375 -0.71875 -0.28125 l -1.28125 -1.28125 l -1.28125 1.28125 c -0.1875 0.1875 -0.453125 0.28125 -0.71875 0.28125 h -1 v -1 c 0 -0.265625 0.09375 -0.53125 0.28125 -0.71875 l 1.28125 -1.25 l -1.28125 -1.28125 c -0.210938 -0.195312 -0.304688 -0.46875 -0.28125 -0.75 z m 0 0" fill="#fefefe"/>
|
||||
</svg>
|
After Width: | Height: | Size: 894 B |
4
home-manager/modules/obs-studio/themes/Catppuccin/Dark/expand.svg
Executable file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 4.996094 14 l 6.003906 -6 l -6.003906 -6 z m 0 0" fill="#fefefe"/>
|
||||
</svg>
|
After Width: | Height: | Size: 216 B |
2
home-manager/modules/obs-studio/themes/Catppuccin/Dark/filter.svg
Executable file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#fefefe"><path d="m 1 1 v 14 h 14 v -14 z m 1 1 h 12 v 12 h -12 z m 0 0"/><path d="m 6 11 h 1 v 1 h -1 z m 1 1 h 1 v 1 h -1 z m -1 -3 h 1 v 1 h -1 z m 1 1 h 1 v 1 h -1 z m -1 -3 h 1 v 1 h -1 z m 1 1 h 1 v 1 h -1 z m -1 -3 h 1 v 1 h -1 z m 1 1 h 1 v 1 h -1 z m -1 -3 h 1 v 1 h -1 z m 1 1 h 1 v 1 h -1 z m -4 -1 h 3 v 10 h -3 z m 0 0"/><path d="m 8 3 h 1 v 10 h -1 z m 2 9 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m -1 7 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 -2 h 1 v 1 h -1 z m 0 0" fill-opacity="0.34902"/></g></svg>
|
After Width: | Height: | Size: 761 B |
2
home-manager/modules/obs-studio/themes/Catppuccin/Dark/interact.svg
Executable file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><g fill="#fefefe"><path d="m 6.957031 3.015625 c -0.101562 0.003906 -0.199219 0.023437 -0.292969 0.054687 c -0.0625 0.023438 -0.125 0.054688 -0.179687 0.085938 c -0.03125 0.019531 -0.058594 0.039062 -0.082031 0.058594 c -0.082032 0.058594 -0.152344 0.132812 -0.210938 0.210937 c -0.082031 0.109375 -0.136718 0.234375 -0.164062 0.363281 c -0.007813 0.03125 -0.015625 0.066407 -0.019532 0.097657 c -0.003906 0.039062 -0.007812 0.074219 -0.007812 0.113281 v 8.382812 l -2.550781 -1.277343 c -0.464844 -0.234375 -1.03125 -0.074219 -1.300781 0.367187 c -0.273438 0.441406 -0.164063 1.019532 0.253906 1.328125 l 3.976562 2.980469 l 0.019532 0.019531 c 0.011718 0.007813 0.019531 0.011719 0.03125 0.019531 c 0.015624 0.011719 0.03125 0.019532 0.046874 0.03125 c 0.011719 0.007813 0.023438 0.011719 0.035157 0.019532 c 0.015625 0.007812 0.03125 0.015625 0.042969 0.023437 c 0.019531 0.007813 0.039062 0.015625 0.054687 0.023438 c 0.015625 0.007812 0.027344 0.011719 0.039063 0.015625 c 0.019531 0.007812 0.042968 0.015625 0.0625 0.023437 c 0.007812 0.003907 0.019531 0.003907 0.03125 0.007813 c 0.015624 0.003906 0.03125 0.007812 0.050781 0.011718 c 0.015625 0.003907 0.035156 0.007813 0.054687 0.011719 c 0.011719 0 0.019532 0.003907 0.027344 0.003907 c 0.027344 0.003906 0.054688 0.003906 0.082031 0.007812 h 0.042969 h 5 s 0.457031 0.015625 0.949219 -0.230469 c 0.488281 -0.246093 1.050781 -0.9375 1.050781 -1.769531 v -4 c 0 -0.460938 -0.3125 -0.859375 -0.757812 -0.96875 l -4 -1 c -0.078126 -0.023438 -0.160157 -0.03125 -0.242188 -0.03125 h -1 v -4 c 0 -0.101562 -0.019531 -0.199219 -0.050781 -0.292969 c -0.027344 -0.097656 -0.074219 -0.1875 -0.132813 -0.269531 c -0.019531 -0.027344 -0.039062 -0.054688 -0.0625 -0.078125 c -0.0625 -0.074219 -0.140625 -0.140625 -0.226562 -0.195313 c -0.027344 -0.015624 -0.054688 -0.03125 -0.085938 -0.046874 c -0.03125 -0.015626 -0.058594 -0.027344 -0.09375 -0.039063 c -0.03125 -0.011719 -0.0625 -0.023437 -0.09375 -0.03125 s -0.066406 -0.015625 -0.097656 -0.023437 c -0.066406 -0.007813 -0.132812 -0.011719 -0.199219 -0.007813 z m 0 0"/><path d="m 7 0 c -2.199219 0 -4 1.800781 -4 4 c 0 1.464844 0.8125 2.742188 2 3.4375 v -3.4375 c 0 -1.089844 0.910156 -2 2 -2 s 2 0.910156 2 2 v 3 c 0.082031 0 0.164062 0.007812 0.242188 0.03125 l 0.253906 0.0625 c 0.910156 -0.734375 1.503906 -1.84375 1.503906 -3.09375 c 0 -2.199219 -1.804688 -4 -4 -4 z m 0 0" fill-opacity="0.501961"/></g></svg>
|
After Width: | Height: | Size: 2.5 KiB |
4
home-manager/modules/obs-studio/themes/Catppuccin/Dark/left.svg
Executable file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m 12 2 c 0 -0.265625 -0.105469 -0.519531 -0.292969 -0.707031 c -0.390625 -0.390625 -1.023437 -0.390625 -1.414062 0 l -6 6 c -0.1875 0.1875 -0.292969 0.441406 -0.292969 0.707031 s 0.105469 0.519531 0.292969 0.707031 l 6 6 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 c 0.1875 -0.1875 0.292969 -0.441406 0.292969 -0.707031 s -0.105469 -0.519531 -0.292969 -0.707031 l -5.292969 -5.292969 l 5.292969 -5.292969 c 0.1875 -0.1875 0.292969 -0.441406 0.292969 -0.707031 z m 0 0" fill="#fefefe"/>
|
||||
</svg>
|
After Width: | Height: | Size: 638 B |
2
home-manager/modules/obs-studio/themes/Catppuccin/Dark/locked.svg
Executable file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px"><path d="m 8 1 c -2.199219 0 -4 1.800781 -4 4 v 2 c -1.109375 0 -2 0.890625 -2 2 v 5 c 0 0.554688 0.445312 1 1 1 h 10 c 0.554688 0 1 -0.445312 1 -1 v -5 c 0 -1.109375 -0.890625 -2 -2 -2 v -2 c 0 -2.199219 -1.800781 -4 -4 -4 z m 0 2 c 1.125 0 2 0.875 2 2 v 2 h -4 v -2 c 0 -1.125 0.875 -2 2 -2 z m 0 0" fill="#fefefe"/></svg>
|
After Width: | Height: | Size: 451 B |
7
home-manager/modules/obs-studio/themes/Catppuccin/Dark/media-pause.svg
Executable file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#fefefe">
|
||||
<path d="m 3 1 h 3 c 0.550781 0 1 0.449219 1 1 v 12 c 0 0.550781 -0.449219 1 -1 1 h -3 c -0.550781 0 -1 -0.449219 -1 -1 v -12 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0"/>
|
||||
<path d="m 10 1 h 3 c 0.550781 0 1 0.449219 1 1 v 12 c 0 0.550781 -0.449219 1 -1 1 h -3 c -0.550781 0 -1 -0.449219 -1 -1 v -12 c 0 -0.550781 0.449219 -1 1 -1 z m 0 0"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 519 B |
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#fefefe">
|
||||
<path d="m 1 3 v 10 c 0 1 1.085938 1 1.085938 1 h 0.113281 c 0.210937 0 0.417969 -0.046875 0.601562 -0.148438 l 8.398438 -4.800781 c 0.375 -0.207031 0.5625 -0.628906 0.5625 -1.050781 s -0.1875 -0.84375 -0.5625 -1.050781 l -8.398438 -4.800781 c -0.183593 -0.101563 -0.390625 -0.148438 -0.601562 -0.148438 h -0.113281 s -1.085938 0 -1.085938 1 z m 0 0"/>
|
||||
<path d="m 14.5 2 h -1 c -0.277344 0 -0.5 0.222656 -0.5 0.5 v 11 c 0 0.277344 0.222656 0.5 0.5 0.5 h 1 c 0.277344 0 0.5 -0.222656 0.5 -0.5 v -11 c 0 -0.277344 -0.222656 -0.5 -0.5 -0.5 z m 0 0"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 730 B |