mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-06-16 01:55:13 -05:00
feat: added user2 and refactored to accommodate
This commit is contained in:
parent
c169f84dcc
commit
9cdcf4fec4
97 changed files with 1473 additions and 1052 deletions
|
@ -12,9 +12,6 @@ let
|
||||||
attrList = lib.mkOption {
|
attrList = lib.mkOption {
|
||||||
type = lib.types.attrsOf lib.types.str;
|
type = lib.types.attrsOf lib.types.str;
|
||||||
};
|
};
|
||||||
boolType = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
};
|
|
||||||
|
|
||||||
numOptions = 20;
|
numOptions = 20;
|
||||||
|
|
||||||
|
@ -87,7 +84,7 @@ let
|
||||||
ip = genOptions stringType "address";
|
ip = genOptions stringType "address";
|
||||||
label = stringType;
|
label = stringType;
|
||||||
name = stringType;
|
name = stringType;
|
||||||
sync = stringType;
|
sync = genOptions stringType "address";
|
||||||
}
|
}
|
||||||
// genOptions mountConfig "folder"
|
// genOptions mountConfig "folder"
|
||||||
// genOptions mountConfig "samba"
|
// genOptions mountConfig "samba"
|
||||||
|
@ -96,14 +93,14 @@ let
|
||||||
|
|
||||||
themesSubmodule = lib.types.submodule {
|
themesSubmodule = lib.types.submodule {
|
||||||
options = {
|
options = {
|
||||||
currentTheme = stringType;
|
currentThemes = genOptions stringType "theme";
|
||||||
font = {
|
fonts = {
|
||||||
name = stringType;
|
names = genOptions stringType "name";
|
||||||
size = {
|
sizes = {
|
||||||
applications = intType;
|
applications = genOptions intType "size";
|
||||||
desktop = intType;
|
desktop = genOptions intType "size";
|
||||||
popups = intType;
|
popups = genOptions intType "size";
|
||||||
terminal = intType;
|
terminal = genOptions intType "size";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
cursor = {
|
cursor = {
|
||||||
|
|
|
@ -1,13 +1,16 @@
|
||||||
{devicesFunctions}: let
|
{ devicesFunctions }:
|
||||||
inherit
|
let
|
||||||
(devicesFunctions)
|
inherit (devicesFunctions)
|
||||||
ownerWriteOthersReadMask
|
ownerWriteOthersReadMask
|
||||||
readWritePermissions
|
readWritePermissions
|
||||||
;
|
;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
label = "Desktop";
|
label = "Desktop";
|
||||||
name = "desktop";
|
name = "desktop";
|
||||||
sync = "";
|
sync = {
|
||||||
|
address0 = "";
|
||||||
|
};
|
||||||
ip = {
|
ip = {
|
||||||
address0 = "192.168.50.196";
|
address0 = "192.168.50.196";
|
||||||
};
|
};
|
||||||
|
|
32
config/devices/config/fallaryn.nix
Normal file
32
config/devices/config/fallaryn.nix
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{ devicesFunctions }:
|
||||||
|
let
|
||||||
|
inherit (devicesFunctions)
|
||||||
|
readWritePermissions
|
||||||
|
;
|
||||||
|
drivePath = "/run/media";
|
||||||
|
byLabel = "/dev/disk/by-label";
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
label = "Fallaryn";
|
||||||
|
name = "fallaryn";
|
||||||
|
ip = {
|
||||||
|
address0 = "192.168.58.104";
|
||||||
|
};
|
||||||
|
boot = {
|
||||||
|
options = [
|
||||||
|
"fmask=0022"
|
||||||
|
"dmask=0022"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
storage0 = {
|
||||||
|
mount = "${drivePath}/games";
|
||||||
|
device = "${byLabel}/Games";
|
||||||
|
options = readWritePermissions;
|
||||||
|
};
|
||||||
|
storage1 = {
|
||||||
|
mount = "${drivePath}/entertainment";
|
||||||
|
device = "${byLabel}/Entertainment";
|
||||||
|
options = readWritePermissions;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,12 +1,15 @@
|
||||||
{devicesFunctions}: let
|
{ devicesFunctions }:
|
||||||
inherit
|
let
|
||||||
(devicesFunctions)
|
inherit (devicesFunctions)
|
||||||
ownerWriteOthersReadMask
|
ownerWriteOthersReadMask
|
||||||
;
|
;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
label = "Laptop";
|
label = "Laptop";
|
||||||
name = "laptop";
|
name = "laptop";
|
||||||
sync = "";
|
sync = {
|
||||||
|
address0 = "";
|
||||||
|
};
|
||||||
ip = {
|
ip = {
|
||||||
address0 = "192.168.50.142";
|
address0 = "192.168.50.142";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
{devicesFunctions}: let
|
{ devicesFunctions }:
|
||||||
inherit
|
let
|
||||||
(devicesFunctions)
|
inherit (devicesFunctions)
|
||||||
dummy
|
dummy
|
||||||
;
|
;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
name = "pixel";
|
name = "pixel";
|
||||||
label = dummy;
|
label = dummy;
|
||||||
sync = "RMDKNJY-BTX6FYF-G6SR332-WS6HARI-PF74SC6-VPBSGRQ-MKVQZEQ-KSIB6QV";
|
sync = {
|
||||||
|
address0 = "RMDKNJY-BTX6FYF-G6SR332-WS6HARI-PF74SC6-VPBSGRQ-MKVQZEQ-KSIB6QV"; # User0
|
||||||
|
address1 = "RUKSHY4-UCBYRVG-CVYFCMU-M3NLA3Q-JINRF5V-YPR5W32-TEIBJN6-DNQRCAR"; # User2
|
||||||
|
};
|
||||||
ip = {
|
ip = {
|
||||||
address0 = "192.168.50.243";
|
address0 = "192.168.50.243";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{devicesFunctions}: let
|
{ devicesFunctions }:
|
||||||
inherit
|
let
|
||||||
(devicesFunctions)
|
inherit (devicesFunctions)
|
||||||
fileModeAndDirMode
|
fileModeAndDirMode
|
||||||
ownerExclusiveReadWriteMask
|
ownerExclusiveReadWriteMask
|
||||||
readWritePermissions
|
readWritePermissions
|
||||||
|
@ -10,9 +10,13 @@
|
||||||
serverName = "server";
|
serverName = "server";
|
||||||
serverIP = "192.168.50.140";
|
serverIP = "192.168.50.140";
|
||||||
serverStorageDriveName = "NAS1";
|
serverStorageDriveName = "NAS1";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
label = "Server";
|
label = "Server";
|
||||||
name = serverName;
|
name = serverName;
|
||||||
|
sync = {
|
||||||
|
address0 = "";
|
||||||
|
};
|
||||||
ip = {
|
ip = {
|
||||||
address0 = serverIP;
|
address0 = serverIP;
|
||||||
};
|
};
|
||||||
|
|
|
@ -15,7 +15,10 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
label = "Synology";
|
label = "Synology";
|
||||||
sync = "MWRGX2V-F5XKE5E-REP6ECT-OOPFBMF-22NHSMW-YFBU6MB-PLFUN63-R3MW2QX";
|
sync = {
|
||||||
|
address0 = "MWRGX2V-F5XKE5E-REP6ECT-OOPFBMF-22NHSMW-YFBU6MB-PLFUN63-R3MW2QX"; # User0
|
||||||
|
address1 = ""; # User2
|
||||||
|
};
|
||||||
name = synologyName;
|
name = synologyName;
|
||||||
ip = {
|
ip = {
|
||||||
address0 = synologyIP;
|
address0 = synologyIP;
|
||||||
|
|
|
@ -1,12 +1,15 @@
|
||||||
{devicesFunctions}: let
|
{ devicesFunctions }:
|
||||||
inherit
|
let
|
||||||
(devicesFunctions)
|
inherit (devicesFunctions)
|
||||||
dummy
|
dummy
|
||||||
;
|
;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
name = "tablet";
|
name = "tablet";
|
||||||
label = dummy;
|
label = dummy;
|
||||||
sync = "I2ZSCZU-T4JMUJJ-XCUQ3MY-G5EUFZ5-KRG2DRY-XIBJZZM-FQW3UMY-CBCTUQU";
|
sync = {
|
||||||
|
address0 = "I2ZSCZU-T4JMUJJ-XCUQ3MY-G5EUFZ5-KRG2DRY-XIBJZZM-FQW3UMY-CBCTUQU";
|
||||||
|
};
|
||||||
ip = {
|
ip = {
|
||||||
address0 = "192.168.50.189";
|
address0 = "192.168.50.189";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
let
|
let
|
||||||
currentTheme = catppuccin-mocha;
|
currentTheme0 = catppuccin-mocha;
|
||||||
|
currentTheme1 = catppuccin-macchiato;
|
||||||
|
|
||||||
brogrammer = "brogrammer";
|
brogrammer = "brogrammer";
|
||||||
catppuccin-frappe = "catppuccin-frappe";
|
catppuccin-frappe = "catppuccin-frappe";
|
||||||
|
@ -22,20 +23,35 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
themes = {
|
themes = {
|
||||||
currentTheme = currentTheme;
|
currentThemes = {
|
||||||
|
theme0 = currentTheme0;
|
||||||
|
};
|
||||||
cursor = {
|
cursor = {
|
||||||
name = "";
|
name = "";
|
||||||
size = 18;
|
size = 18;
|
||||||
};
|
};
|
||||||
font = {
|
fonts = {
|
||||||
name = "MonaspiceRn Nerd Font";
|
names = {
|
||||||
size = {
|
name0 = "MonaspiceRn Nerd Font";
|
||||||
|
name1 = "";
|
||||||
applications = 14;
|
};
|
||||||
desktop = 12;
|
sizes = {
|
||||||
popups = 10;
|
applications = {
|
||||||
terminal = 10;
|
size0 = 14;
|
||||||
|
size1 = 14;
|
||||||
|
};
|
||||||
|
desktop = {
|
||||||
|
size0 = 12;
|
||||||
|
size1 = 12;
|
||||||
|
};
|
||||||
|
popups = {
|
||||||
|
size0 = 10;
|
||||||
|
size1 = 10;
|
||||||
|
};
|
||||||
|
terminal = {
|
||||||
|
size0 = 10;
|
||||||
|
size1 = 10;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
palettes =
|
palettes =
|
||||||
|
|
19
config/users/config/user2.nix
Normal file
19
config/users/config/user2.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{ user2 }:
|
||||||
|
let
|
||||||
|
inherit
|
||||||
|
user2
|
||||||
|
;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = "Stacie";
|
||||||
|
email = {
|
||||||
|
address0 = "staciesimonson@gmail.com";
|
||||||
|
};
|
||||||
|
paths = {
|
||||||
|
path0 = "/home/${user2}"; # Git path
|
||||||
|
};
|
||||||
|
sshKeys = [
|
||||||
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILQQDw0NigCC76G/GlHWIMunckaBmfgqbfJXFGWB+8fe stacie@desktop"
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
|
@ -3,21 +3,17 @@ let
|
||||||
|
|
||||||
user0 = "nick";
|
user0 = "nick";
|
||||||
user1 = "garnet";
|
user1 = "garnet";
|
||||||
in {
|
user2 = "fallaryn";
|
||||||
|
in
|
||||||
|
{
|
||||||
inherit
|
inherit
|
||||||
user0
|
user0
|
||||||
user1
|
user1
|
||||||
|
user2
|
||||||
;
|
;
|
||||||
users = {
|
users = {
|
||||||
"${user0}" = import (configPath + "/user0.nix") {
|
"${user0}" = import (configPath + /user0.nix) { inherit user0; };
|
||||||
inherit
|
"${user1}" = import (configPath + /user1.nix) { inherit user1; };
|
||||||
user0
|
"${user2}" = import (configPath + /user2.nix) { inherit user2; };
|
||||||
;
|
|
||||||
};
|
|
||||||
"${user1}" = import (configPath + "/user1.nix") {
|
|
||||||
inherit
|
|
||||||
user1
|
|
||||||
;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
773
flake.lock
generated
773
flake.lock
generated
File diff suppressed because it is too large
Load diff
21
flake.nix
21
flake.nix
|
@ -18,12 +18,6 @@
|
||||||
ghostty = {
|
ghostty = {
|
||||||
url = "github:ghostty-org/ghostty";
|
url = "github:ghostty-org/ghostty";
|
||||||
};
|
};
|
||||||
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
|
|
||||||
edgedb = {
|
|
||||||
url = "github:edgedb/packages-nix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.flake-parts.follows = "flake-parts";
|
|
||||||
};
|
|
||||||
nur = {
|
nur = {
|
||||||
url = "github:nix-community/NUR";
|
url = "github:nix-community/NUR";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -71,10 +65,6 @@
|
||||||
url = "github:zed-industries/zed";
|
url = "github:zed-industries/zed";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
stylix = {
|
|
||||||
url = "github:danth/stylix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
@ -105,8 +95,15 @@
|
||||||
inputs.lix-module.nixosModules.default
|
inputs.lix-module.nixosModules.default
|
||||||
inputs.nur.modules.nixos.default
|
inputs.nur.modules.nixos.default
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.nixos-cosmic.nixosModules.default
|
];
|
||||||
inputs.stylix.nixosModules.stylix
|
fallaryn = inputs.self.lib.mkLinuxSystem [
|
||||||
|
./systems/fallaryn
|
||||||
|
./profiles/user2
|
||||||
|
config.nixosModules.personal
|
||||||
|
config.nixosModules.fallaryn
|
||||||
|
config.nixosModules.shared
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
inputs.lix-module.nixosModules.default
|
||||||
];
|
];
|
||||||
laptop = inputs.self.lib.mkLinuxSystem [
|
laptop = inputs.self.lib.mkLinuxSystem [
|
||||||
./systems/laptop
|
./systems/laptop
|
||||||
|
|
120
home/default.nix
120
home/default.nix
|
@ -1,5 +1,5 @@
|
||||||
|
{ config, ... }:
|
||||||
let
|
let
|
||||||
# Recursively collect directories
|
|
||||||
collectDirs =
|
collectDirs =
|
||||||
path:
|
path:
|
||||||
let
|
let
|
||||||
|
@ -7,14 +7,11 @@ let
|
||||||
subdirs = builtins.filter (name: content.${name} == "directory") (builtins.attrNames content);
|
subdirs = builtins.filter (name: content.${name} == "directory") (builtins.attrNames content);
|
||||||
buildPath = name: path + "/${name}";
|
buildPath = name: path + "/${name}";
|
||||||
|
|
||||||
# Get immediate subdirectories
|
|
||||||
thisDirs = map buildPath subdirs;
|
thisDirs = map buildPath subdirs;
|
||||||
# Recursively get sub-subdirectories
|
|
||||||
subDirs = builtins.concatMap collectDirs thisDirs;
|
subDirs = builtins.concatMap collectDirs thisDirs;
|
||||||
in
|
in
|
||||||
[ path ] ++ subDirs;
|
[ path ] ++ subDirs;
|
||||||
|
|
||||||
# Import directories and their default.nix files
|
|
||||||
directoryImport =
|
directoryImport =
|
||||||
path:
|
path:
|
||||||
builtins.listToAttrs (
|
builtins.listToAttrs (
|
||||||
|
@ -24,27 +21,128 @@ let
|
||||||
}) (collectDirs path)
|
}) (collectDirs path)
|
||||||
);
|
);
|
||||||
|
|
||||||
# Create the modules attrset
|
|
||||||
modules = directoryImport ./.;
|
modules = directoryImport ./.;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
flake.homeModules = {
|
flake.homeModules =
|
||||||
desktop = {
|
let
|
||||||
|
inherit (config.machines.devices)
|
||||||
|
desktop
|
||||||
|
fallaryn
|
||||||
|
laptop
|
||||||
|
server
|
||||||
|
;
|
||||||
|
inherit (config.people) user0 user1 user2;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"${desktop.name}-${user0}" = {
|
||||||
imports = builtins.attrValues {
|
imports = builtins.attrValues {
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
cli
|
cli
|
||||||
gui
|
brave
|
||||||
|
emulators
|
||||||
|
firefox
|
||||||
|
tor
|
||||||
|
code
|
||||||
|
gaming
|
||||||
|
media
|
||||||
|
messaging
|
||||||
|
sharing
|
||||||
|
tools
|
||||||
|
desktop
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
laptop = {
|
"${desktop.name}-${user1}" = {
|
||||||
imports = builtins.attrValues {
|
imports = builtins.attrValues {
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
apps
|
cli
|
||||||
|
brave
|
||||||
|
ghostty
|
||||||
|
zed
|
||||||
|
gaming
|
||||||
|
spotify
|
||||||
|
docs
|
||||||
|
mpv
|
||||||
|
kolourPaint
|
||||||
|
discord
|
||||||
|
signal
|
||||||
|
scrcpy
|
||||||
|
bitwarden
|
||||||
|
emote
|
||||||
|
desktop
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
server = {
|
"${fallaryn.name}-${user2}" = {
|
||||||
|
imports = builtins.attrValues {
|
||||||
|
inherit (modules)
|
||||||
|
cli
|
||||||
|
brave
|
||||||
|
firefoxNix
|
||||||
|
braveNix
|
||||||
|
code
|
||||||
|
ghostty
|
||||||
|
gaming
|
||||||
|
spotify
|
||||||
|
audioProduction
|
||||||
|
wpsOffice
|
||||||
|
obsidian
|
||||||
|
okular
|
||||||
|
images
|
||||||
|
modeling
|
||||||
|
obsStudio
|
||||||
|
kdenlive
|
||||||
|
videoPlaying
|
||||||
|
discord
|
||||||
|
signal
|
||||||
|
tdesktop
|
||||||
|
teams
|
||||||
|
whatsApp
|
||||||
|
zoom
|
||||||
|
tools
|
||||||
|
;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"${laptop.name}-${user0}" = {
|
||||||
|
imports = builtins.attrValues {
|
||||||
|
inherit (modules)
|
||||||
|
cli
|
||||||
|
brave
|
||||||
|
emulators
|
||||||
|
firefox
|
||||||
|
tor
|
||||||
|
code
|
||||||
|
gaming
|
||||||
|
media
|
||||||
|
messaging
|
||||||
|
sharing
|
||||||
|
tools
|
||||||
|
;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"${laptop.name}-${user1}" = {
|
||||||
|
imports = builtins.attrValues {
|
||||||
|
inherit (modules)
|
||||||
|
cli
|
||||||
|
brave
|
||||||
|
ghostty
|
||||||
|
zed
|
||||||
|
gaming
|
||||||
|
spotify
|
||||||
|
docs
|
||||||
|
mpv
|
||||||
|
kolourPaint
|
||||||
|
discord
|
||||||
|
signal
|
||||||
|
scrcpy
|
||||||
|
bitwarden
|
||||||
|
emote
|
||||||
|
desktop
|
||||||
|
;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"${server.name}-${user0}" = {
|
||||||
imports = builtins.attrValues {
|
imports = builtins.attrValues {
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
cli
|
cli
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
currentTheme
|
currentThemes
|
||||||
palettes
|
palettes
|
||||||
;
|
;
|
||||||
|
|
||||||
el = palettes.${currentTheme}.colours;
|
el = palettes.${currentThemes.theme0}.colours;
|
||||||
|
|
||||||
makeColor = c: "#" + c;
|
makeColor = c: "#" + c;
|
||||||
makeStyle = bg: fg: "bg:" + bg + " fg:" + fg + " bold";
|
makeStyle = bg: fg: "bg:" + bg + " fg:" + fg + " bold";
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{ flake, ... }:
|
{ flake, ... }:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
currentTheme
|
currentThemes
|
||||||
palettes
|
palettes
|
||||||
;
|
;
|
||||||
|
|
||||||
el = palettes.${currentTheme}.colours;
|
el = palettes.${currentThemes.theme0}.colours;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
colors = {
|
colors = {
|
||||||
|
|
11
home/modules/gui/apps/browsers/braveNix/default.nix
Normal file
11
home/modules/gui/apps/browsers/braveNix/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
brave
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
|
@ -12,21 +12,9 @@ in
|
||||||
programs.firefox =
|
programs.firefox =
|
||||||
let
|
let
|
||||||
configPath = ./config;
|
configPath = ./config;
|
||||||
bookmarksPath = import (configPath + /bookmarks) {
|
bookmarksPath = import (configPath + /bookmarks) { inherit flake; };
|
||||||
inherit
|
extensionsPath = import (configPath + /extensions) { inherit pkgs; };
|
||||||
flake
|
searchPath = import (configPath + /search) { inherit flake; };
|
||||||
;
|
|
||||||
};
|
|
||||||
extensionsPath = import (configPath + /extensions) {
|
|
||||||
inherit
|
|
||||||
pkgs
|
|
||||||
;
|
|
||||||
};
|
|
||||||
searchPath = import (configPath + /search) {
|
|
||||||
inherit
|
|
||||||
flake
|
|
||||||
;
|
|
||||||
};
|
|
||||||
settingsPath = import (configPath + /settings);
|
settingsPath = import (configPath + /settings);
|
||||||
themesPath = import (configPath + /themes);
|
themesPath = import (configPath + /themes);
|
||||||
in
|
in
|
||||||
|
|
11
home/modules/gui/apps/browsers/firefoxNix/default.nix
Normal file
11
home/modules/gui/apps/browsers/firefoxNix/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
firefox
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -26,9 +26,9 @@ in
|
||||||
"elmLS.disableElmLSDiagnostics" = true;
|
"elmLS.disableElmLSDiagnostics" = true;
|
||||||
"elmLS.elmReviewDiagnostics" = "warning";
|
"elmLS.elmReviewDiagnostics" = "warning";
|
||||||
"editor.wordWrap" = "on";
|
"editor.wordWrap" = "on";
|
||||||
"editor.fontSize" = font.size.applications;
|
"editor.fontSize" = fonts.sizes.applications.size0;
|
||||||
"editor.fontFamily" = "'${font.name}', 'monospace', monospace";
|
"editor.fontFamily" = "'${fonts.names.name0}', 'monospace', monospace";
|
||||||
"terminal.integrated.fontSize" = font.size.applications;
|
"terminal.integrated.fontSize" = fonts.sizes.applications.size0;
|
||||||
"terminal.integrated.fontFamily" = "'${font.name}', 'monospace', monospace";
|
"terminal.integrated.fontFamily" = "'${fonts.names.name0}', 'monospace', monospace";
|
||||||
"editor.fontLigatures" = true;
|
"editor.fontLigatures" = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
{ flake, ... }:
|
{ flake, ... }:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
ui_font_family = font.name;
|
ui_font_family = fonts.names.name0;
|
||||||
buffer_font_family = font.name;
|
buffer_font_family = fonts.names.name0;
|
||||||
hour_format = "hour12";
|
hour_format = "hour12";
|
||||||
vim_mode = false;
|
vim_mode = false;
|
||||||
show_whitespaces = "none";
|
show_whitespaces = "none";
|
||||||
ui_font_size = font.size.applications;
|
ui_font_size = fonts.sizes.applications.size0;
|
||||||
buffer_font_size = font.size.applications;
|
buffer_font_size = fonts.sizes.applications.size0;
|
||||||
tab_size = 2;
|
tab_size = 2;
|
||||||
cursor_blink = true;
|
cursor_blink = true;
|
||||||
theme = "Catppuccin Macchiato";
|
theme = "Catppuccin Macchiato";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ flake, ... }:
|
{ flake, ... }:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -25,9 +25,9 @@ in
|
||||||
TERM = "ghostty";
|
TERM = "ghostty";
|
||||||
};
|
};
|
||||||
|
|
||||||
font_family = font.name;
|
font_family = fonts.names.name0;
|
||||||
font_features = null;
|
font_features = null;
|
||||||
font_size = font.size.terminal;
|
font_size = fonts.sizes.terminal.size0;
|
||||||
line_height = "comfortable";
|
line_height = "comfortable";
|
||||||
option_as_meta = false;
|
option_as_meta = false;
|
||||||
button = false;
|
button = false;
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{ flake, ... }:
|
{ flake, ... }:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
currentTheme
|
currentThemes
|
||||||
palettes
|
palettes
|
||||||
;
|
;
|
||||||
|
|
||||||
el = palettes.${currentTheme}.colours;
|
el = palettes.${currentThemes.theme0}.colours;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
accents = [
|
accents = [
|
||||||
|
|
|
@ -6,37 +6,14 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
configPath = ./config;
|
configPath = ./config;
|
||||||
assistantPath = import (configPath + /assistant) {
|
assistantPath = import (configPath + /assistant) { inherit flake; };
|
||||||
inherit
|
interfacePath = import (configPath + /interface) { inherit flake; };
|
||||||
flake
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
interfacePath = import (configPath + /interface) {
|
|
||||||
inherit
|
|
||||||
flake
|
|
||||||
;
|
|
||||||
};
|
|
||||||
languagesPath = import (configPath + /languages);
|
languagesPath = import (configPath + /languages);
|
||||||
lspPath = import (configPath + /lsp);
|
lspPath = import (configPath + /lsp);
|
||||||
terminalPath = import (configPath + /terminal) {
|
terminalPath = import (configPath + /terminal) { inherit flake; };
|
||||||
inherit
|
experimentalPath = import (configPath + /theme) { inherit flake; };
|
||||||
flake
|
|
||||||
;
|
|
||||||
};
|
|
||||||
|
|
||||||
experimentalPath = import (configPath + /theme) {
|
|
||||||
inherit
|
|
||||||
flake
|
|
||||||
;
|
|
||||||
};
|
|
||||||
gitPath = import (configPath + /git);
|
gitPath = import (configPath + /git);
|
||||||
miscPath = import (configPath + /misc) {
|
miscPath = import (configPath + /misc) { inherit lib pkgs; };
|
||||||
inherit
|
|
||||||
lib
|
|
||||||
pkgs
|
|
||||||
;
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
git = gitPath;
|
git = gitPath;
|
||||||
|
|
|
@ -8,18 +8,8 @@ let
|
||||||
configPath = ./config;
|
configPath = ./config;
|
||||||
extensionsPath = import (configPath + /extensions);
|
extensionsPath = import (configPath + /extensions);
|
||||||
userKeymapsPath = import (configPath + /userKeymaps);
|
userKeymapsPath = import (configPath + /userKeymaps);
|
||||||
userSettingsPath = import (configPath + /userSettings) {
|
userSettingsPath = import (configPath + /userSettings) { inherit flake lib pkgs; };
|
||||||
inherit
|
extraPackagesPath = import (configPath + /extraPackages) { inherit pkgs; };
|
||||||
flake
|
|
||||||
lib
|
|
||||||
pkgs
|
|
||||||
;
|
|
||||||
};
|
|
||||||
extraPackagesPath = import (configPath + /extraPackages) {
|
|
||||||
inherit
|
|
||||||
pkgs
|
|
||||||
;
|
|
||||||
};
|
|
||||||
packagePath = flake.inputs.zed-editor.packages.${pkgs.system}.default;
|
packagePath = flake.inputs.zed-editor.packages.${pkgs.system}.default;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
|
@ -5,14 +5,14 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
confirm-close-surface = false;
|
confirm-close-surface = false;
|
||||||
window-decoration = false;
|
window-decoration = false;
|
||||||
font-size = font.size.terminal;
|
font-size = fonts.sizes.terminal.size0;
|
||||||
font-family = font.name;
|
font-family = fonts.names.name0;
|
||||||
window-padding-x = 10;
|
window-padding-x = 10;
|
||||||
window-padding-y = 10;
|
window-padding-y = 10;
|
||||||
copy-on-select = true;
|
copy-on-select = true;
|
|
@ -1,11 +1,11 @@
|
||||||
{ flake, ... }:
|
{ flake, ... }:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
currentTheme
|
currentThemes
|
||||||
palettes
|
palettes
|
||||||
;
|
;
|
||||||
|
|
||||||
el = palettes.${currentTheme}.colours;
|
el = palettes.${currentThemes.theme0}.colours;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
theme = {
|
theme = {
|
|
@ -4,15 +4,15 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
name = font.name;
|
name = fonts.names.name0;
|
||||||
size = font.size.terminal;
|
size = fonts.sizes.terminal.size0;
|
||||||
};
|
};
|
||||||
themeFile = "Catppuccin-Macchiato";
|
themeFile = "Catppuccin-Macchiato";
|
||||||
};
|
};
|
|
@ -1,14 +1,14 @@
|
||||||
{ flake, ... }:
|
{ flake, ... }:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
''
|
''
|
||||||
return {
|
return {
|
||||||
color_scheme = "Catppuccin Macchiato",
|
color_scheme = "Catppuccin Macchiato",
|
||||||
font_size = ${builtins.toString font.size.terminal},
|
font_size = ${builtins.toString fonts.sizes.terminal.size0},
|
||||||
font = wezterm.font('${font.name}'),
|
font = wezterm.font('${fonts.names.name0}'),
|
||||||
enable_tab_bar = false,
|
enable_tab_bar = false,
|
||||||
window_close_confirmation = 'NeverPrompt',
|
window_close_confirmation = 'NeverPrompt',
|
||||||
term = 'wezterm',
|
term = 'wezterm',
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
beets
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
blender
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
darktable
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
gimp
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
11
home/modules/gui/apps/media/modeling/blender/default.nix
Normal file
11
home/modules/gui/apps/media/modeling/blender/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
blender
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
10
home/modules/gui/apps/media/modeling/default.nix
Executable file
10
home/modules/gui/apps/media/modeling/default.nix
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
let
|
||||||
|
content = builtins.readDir ./.;
|
||||||
|
|
||||||
|
dirContent = builtins.filter (n: content.${n} == "directory") (builtins.attrNames content);
|
||||||
|
|
||||||
|
importList = map (name: ./. + "/${name}") dirContent;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = importList;
|
||||||
|
}
|
11
home/modules/gui/apps/media/modeling/sweetHome/default.nix
Normal file
11
home/modules/gui/apps/media/modeling/sweetHome/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs.sweethome3d)
|
||||||
|
application
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,5 +7,8 @@
|
||||||
inherit (pkgs.kdePackages)
|
inherit (pkgs.kdePackages)
|
||||||
kdenlive
|
kdenlive
|
||||||
;
|
;
|
||||||
|
inherit (pkgs)
|
||||||
|
glaxnimate
|
||||||
|
;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
11
home/modules/gui/apps/messaging/tdesktop/default.nix
Normal file
11
home/modules/gui/apps/messaging/tdesktop/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
tdesktop
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
11
home/modules/gui/apps/messaging/whatsApp/default.nix
Normal file
11
home/modules/gui/apps/messaging/whatsApp/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
whatsapp-for-linux
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
11
home/modules/gui/apps/messaging/zoom/default.nix
Normal file
11
home/modules/gui/apps/messaging/zoom/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
zoom-us
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
11
home/modules/gui/apps/tools/celeste/default.nix
Normal file
11
home/modules/gui/apps/tools/celeste/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
celeste
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
8
home/modules/gui/apps/tools/droidCam/default.nix
Normal file
8
home/modules/gui/apps/tools/droidCam/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
droidcam
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
12
home/modules/gui/apps/tools/openRgb/default.nix
Normal file
12
home/modules/gui/apps/tools/openRgb/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
openrgb
|
||||||
|
;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
12
home/modules/gui/apps/tools/openTablet/default.nix
Normal file
12
home/modules/gui/apps/tools/openTablet/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
opentabletdriver
|
||||||
|
;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
11
home/modules/gui/apps/tools/synologyDrive/default.nix
Normal file
11
home/modules/gui/apps/tools/synologyDrive/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
synology-drive-client
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
11
home/modules/gui/apps/tools/virtManager/default.nix
Normal file
11
home/modules/gui/apps/tools/virtManager/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
virt-manager
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
12
home/modules/gui/desktop/catppuccin/default.nix
Normal file
12
home/modules/gui/desktop/catppuccin/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
catppuccin
|
||||||
|
catppuccin-gtk
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,18 +2,18 @@
|
||||||
let
|
let
|
||||||
|
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
currentTheme
|
currentThemes
|
||||||
palettes
|
palettes
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
|
|
||||||
el = palettes.${currentTheme}.colours;
|
el = palettes.${currentThemes.theme0}.colours;
|
||||||
|
|
||||||
makeColor = c: "#" + c;
|
makeColor = c: "#" + c;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
global = {
|
global = {
|
||||||
font = "${font.name} ${builtins.toString font.size.popups}";
|
font = "${fonts.names.name0} ${builtins.toString fonts.sizes.popups.size0}";
|
||||||
background = makeColor el.base01;
|
background = makeColor el.base01;
|
||||||
frame_color = makeColor el.base0E;
|
frame_color = makeColor el.base0E;
|
||||||
foreground = makeColor el.base05;
|
foreground = makeColor el.base05;
|
||||||
|
|
|
@ -21,7 +21,7 @@ in
|
||||||
"flameshot"
|
"flameshot"
|
||||||
"pactl set-default-sink bluez_output.00_16_94_35_0D_5F.1"
|
"pactl set-default-sink bluez_output.00_16_94_35_0D_5F.1"
|
||||||
"pactl set-default-source alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y818KFJ0C671CE-00.HiFi__Mic1__source"
|
"pactl set-default-source alsa_input.usb-Focusrite_Scarlett_2i2_USB_Y818KFJ0C671CE-00.HiFi__Mic1__source"
|
||||||
"gsettings set org.blueman.plugins.powermanager auto-power-on true"
|
"bluetoothctl power on"
|
||||||
"gsettings set org.gnome.desktop.interface cursor-theme 'catppuccin-mocha-dark-cursors'"
|
"gsettings set org.gnome.desktop.interface cursor-theme 'catppuccin-mocha-dark-cursors'"
|
||||||
"gsettings set org.gnome.desktop.interface cursor-size ${builtins.toString cursor.size}"
|
"gsettings set org.gnome.desktop.interface cursor-size ${builtins.toString cursor.size}"
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
let
|
let
|
||||||
|
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
currentTheme
|
currentThemes
|
||||||
palettes
|
palettes
|
||||||
;
|
;
|
||||||
|
|
||||||
el = palettes.${currentTheme}.colours;
|
el = palettes.${currentThemes.theme0}.colours;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
gaps_in = 5;
|
gaps_in = 5;
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
{ flake, ... }:
|
{ flake, ... }:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
currentTheme
|
currentThemes
|
||||||
palettes
|
palettes
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
|
|
||||||
el = palettes.${currentTheme}.colours;
|
el = palettes.${currentThemes.theme0}.colours;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
font = font.name;
|
font = fonts.names.name0;
|
||||||
font-size = font.size.desktop;
|
font-size = fonts.sizes.desktop.size0;
|
||||||
indicator-idle-visible = true;
|
indicator-idle-visible = true;
|
||||||
indicator-radius = 100;
|
indicator-radius = 100;
|
||||||
indicator-thickness = 20;
|
indicator-thickness = 20;
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
{ flake, ... }:
|
{ flake, ... }:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
currentTheme
|
currentThemes
|
||||||
palettes
|
palettes
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
|
|
||||||
el = palettes.${currentTheme}.colours;
|
el = palettes.${currentThemes.theme0}.colours;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
font-size = font.size.desktop;
|
font-size = fonts.sizes.desktop.size0;
|
||||||
hint-font = true;
|
hint-font = true;
|
||||||
background-color = "#${el.base02}";
|
background-color = "#${el.base02}";
|
||||||
outline-color = "#${el.base0E}";
|
outline-color = "#${el.base0E}";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
let
|
let
|
||||||
|
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
currentTheme
|
currentThemes
|
||||||
palettes
|
palettes
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
|
|
||||||
el = palettes.${currentTheme}.colours;
|
el = palettes.${currentThemes.theme0}.colours;
|
||||||
|
|
||||||
custom = {
|
custom = {
|
||||||
font = font.name;
|
font = fonts.names.name0;
|
||||||
font_size = "${builtins.toString font.size.desktop}px";
|
font_size = "${builtins.toString fonts.sizes.desktop.size0}px";
|
||||||
font_weight = "bold";
|
font_weight = "bold";
|
||||||
opacityBg = "0.90";
|
opacityBg = "0.90";
|
||||||
opacityBt = "1";
|
opacityBt = "1";
|
||||||
|
|
|
@ -60,9 +60,16 @@ in
|
||||||
inherit (modules)
|
inherit (modules)
|
||||||
syncthing
|
syncthing
|
||||||
ollama
|
ollama
|
||||||
# hledger
|
;
|
||||||
# plasma
|
};
|
||||||
# sddm
|
};
|
||||||
|
|
||||||
|
fallaryn = {
|
||||||
|
imports = builtins.attrValues {
|
||||||
|
inherit (modules)
|
||||||
|
tablet
|
||||||
|
plasma
|
||||||
|
sddm
|
||||||
;
|
;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,80 +0,0 @@
|
||||||
{
|
|
||||||
# inputs,
|
|
||||||
# lib,
|
|
||||||
# pkgs,
|
|
||||||
# ...
|
|
||||||
# }: let
|
|
||||||
# bootstrap-server = pkgs.writeText "bootstrap.edgesql" ''
|
|
||||||
# ALTER ROLE edgedb SET password := "test";
|
|
||||||
# '';
|
|
||||||
|
|
||||||
# edgedb-server = inputs.edgedb.packages."x86_64-linux".edgedb-server-5_0_beta;
|
|
||||||
# working-dir = "/var/lib/edgedb";
|
|
||||||
# in {
|
|
||||||
# environment.systemPackages = [
|
|
||||||
# pkgs.edgedb
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# # system.activationScripts = {
|
|
||||||
# # edgedb-data-dir = {
|
|
||||||
# # text = ''
|
|
||||||
# # install -d -m 0750 -o edgedb -g edgedb ${working-dir}
|
|
||||||
# # '';
|
|
||||||
# # };
|
|
||||||
# # };
|
|
||||||
|
|
||||||
# systemd.services = {
|
|
||||||
# "edgedb@" = {
|
|
||||||
# enable = true;
|
|
||||||
# after = ["network.target" "syslog.target"];
|
|
||||||
# description = "EdgeDB Database Service, instance %i";
|
|
||||||
# documentation = ["https://edgedb.com"];
|
|
||||||
# path = [edgedb-server];
|
|
||||||
# reload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
|
||||||
# script = ''
|
|
||||||
# ${lib.getExe' edgedb-server "edgedb-server"} \
|
|
||||||
# --data-dir=${working-dir}/$1 \
|
|
||||||
# --disable-dynamic-system-config \
|
|
||||||
# --emit-server-status=${working-dir}/$1/status.json \
|
|
||||||
# --instance-name=$1 \
|
|
||||||
# --security=insecure_dev_mode \
|
|
||||||
# --tls-cert-mode=generate_self_signed \
|
|
||||||
# --admin-ui=enabled
|
|
||||||
# '';
|
|
||||||
# scriptArgs = "%i";
|
|
||||||
# serviceConfig = {
|
|
||||||
# Type = "simple";
|
|
||||||
# User = "edgedb";
|
|
||||||
# Group = "edgedb";
|
|
||||||
# KillMode = "mixed";
|
|
||||||
# TimeoutSec = 0;
|
|
||||||
# ExecStartPre = ''
|
|
||||||
# ${lib.getExe' edgedb-server "edgedb-server"} \
|
|
||||||
# --data-dir=${working-dir}/%i \
|
|
||||||
# --instance-name=%i \
|
|
||||||
# --disable-dynamic-system-config \
|
|
||||||
# --bootstrap-only \
|
|
||||||
# --bootstrap-command-file=${bootstrap-server}
|
|
||||||
# '';
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# "edgedb@test" = {
|
|
||||||
# enable = true;
|
|
||||||
# environment = {
|
|
||||||
# EDGEDB_DEBUG_HTTP_INJECT_CORS = "1";
|
|
||||||
# };
|
|
||||||
# overrideStrategy = "asDropin";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
|
|
||||||
# users.groups.edgedb = {};
|
|
||||||
|
|
||||||
# users.users.edgedb = {
|
|
||||||
# group = "edgedb";
|
|
||||||
# description = "EdgeDB Server";
|
|
||||||
# isSystemUser = true;
|
|
||||||
# packages = [
|
|
||||||
# edgedb-server
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
}
|
|
|
@ -5,7 +5,7 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -14,13 +14,13 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultFonts = {
|
defaultFonts = {
|
||||||
serif = [
|
serif = [
|
||||||
font.name
|
fonts.names.name0
|
||||||
];
|
];
|
||||||
monospace = [
|
monospace = [
|
||||||
font.name
|
fonts.names.name0
|
||||||
];
|
];
|
||||||
sansSerif = [
|
sansSerif = [
|
||||||
font.name
|
fonts.names.name0
|
||||||
];
|
];
|
||||||
emoji = [
|
emoji = [
|
||||||
"Noto Fonts Color Emoji"
|
"Noto Fonts Color Emoji"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.aesthetics.themes)
|
inherit (flake.config.aesthetics.themes)
|
||||||
font
|
fonts
|
||||||
;
|
;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -20,7 +20,7 @@ in
|
||||||
# GTK = {
|
# GTK = {
|
||||||
# application_prefer_dark_theme = true;
|
# application_prefer_dark_theme = true;
|
||||||
# cursor_theme_name = lib.mkForce "catppuccin-macchiato-dark-cursors";
|
# cursor_theme_name = lib.mkForce "catppuccin-macchiato-dark-cursors";
|
||||||
# font_name = lib.mkForce "${font.name} ${font.size.desktop}";
|
# font_name = lib.mkForce "${fonts.names.name0} ${font.size.desktop}";
|
||||||
# icon_theme_name = lib.mkForce "Papirus-Dark";
|
# icon_theme_name = lib.mkForce "Papirus-Dark";
|
||||||
# theme_name = lib.mkForce "catppuccin-macchiato-mauve-compact";
|
# theme_name = lib.mkForce "catppuccin-macchiato-mauve-compact";
|
||||||
# };
|
# };
|
||||||
|
|
|
@ -1,35 +1,50 @@
|
||||||
{flake, ...}: let
|
{
|
||||||
inherit
|
flake,
|
||||||
(flake.config.machines.devices)
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (flake.config.machines.devices)
|
||||||
printer0
|
printer0
|
||||||
printer1
|
printer1
|
||||||
;
|
;
|
||||||
genericPPD = "drv:///sample.drv/generic.ppd";
|
genericPPD = "drv:///sample.drv/generic.ppd";
|
||||||
pageSize = "Letter";
|
pageSize = "Letter";
|
||||||
in {
|
in
|
||||||
hardware.printers = {
|
{
|
||||||
ensurePrinters = [
|
services = {
|
||||||
{
|
printing = {
|
||||||
name = printer0.label;
|
enable = true;
|
||||||
location = "Downstairs";
|
drivers = with pkgs; [
|
||||||
deviceUri = "https://${printer0.ip.address0}";
|
brlaser
|
||||||
model = genericPPD;
|
cups-brother-hll2375dw
|
||||||
ppdOptions = {
|
|
||||||
PageSize = pageSize;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = printer1.label;
|
|
||||||
location = "Upstairs";
|
|
||||||
deviceUri = "https://${printer1.ip.address0}";
|
|
||||||
model = genericPPD;
|
|
||||||
ppdOptions = {
|
|
||||||
PageSize = pageSize;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
ensureDefaultPrinter = printer1.label;
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# hardware.printers = {
|
||||||
|
# ensurePrinters = [
|
||||||
|
# {
|
||||||
|
# name = printer0.label;
|
||||||
|
# location = "Downstairs";
|
||||||
|
# deviceUri = "https://${printer0.ip.address0}";
|
||||||
|
# model = genericPPD;
|
||||||
|
# ppdOptions = {
|
||||||
|
# PageSize = pageSize;
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
# {
|
||||||
|
# name = printer1.label;
|
||||||
|
# location = "Upstairs";
|
||||||
|
# deviceUri = "https://${printer1.ip.address0}";
|
||||||
|
# model = genericPPD;
|
||||||
|
# ppdOptions = {
|
||||||
|
# PageSize = pageSize;
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
# ];
|
||||||
|
# ensureDefaultPrinter = printer1.label;
|
||||||
|
# };
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
firewall = {
|
firewall = {
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
{flake, ...}: let
|
{ flake, ... }:
|
||||||
inherit
|
let
|
||||||
(flake.config.machines.devices)
|
inherit (flake.config.machines.devices)
|
||||||
synology
|
synology
|
||||||
phone
|
phone
|
||||||
tablet
|
tablet
|
||||||
;
|
;
|
||||||
inherit
|
inherit (flake.config.services.instances)
|
||||||
(flake.config.services.instances)
|
|
||||||
syncthing
|
syncthing
|
||||||
web
|
web
|
||||||
;
|
;
|
||||||
service = syncthing;
|
service = syncthing;
|
||||||
localhost = web.localhost.address0;
|
localhost = web.localhost.address0;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
services = {
|
services = {
|
||||||
syncthing = {
|
syncthing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -29,7 +29,7 @@ in {
|
||||||
addresses = [
|
addresses = [
|
||||||
"tcp://${synology.ip.address0}:${toString service.ports.port2}"
|
"tcp://${synology.ip.address0}:${toString service.ports.port2}"
|
||||||
];
|
];
|
||||||
id = synology.sync;
|
id = synology.sync.address0;
|
||||||
};
|
};
|
||||||
${phone.name} = {
|
${phone.name} = {
|
||||||
autoAcceptFolders = true;
|
autoAcceptFolders = true;
|
||||||
|
@ -37,7 +37,7 @@ in {
|
||||||
addresses = [
|
addresses = [
|
||||||
"tcp://${phone.ip.address0}:${toString service.ports.port2}"
|
"tcp://${phone.ip.address0}:${toString service.ports.port2}"
|
||||||
];
|
];
|
||||||
id = phone.sync;
|
id = phone.sync.address0;
|
||||||
};
|
};
|
||||||
${tablet.name} = {
|
${tablet.name} = {
|
||||||
autoAcceptFolders = true;
|
autoAcceptFolders = true;
|
||||||
|
@ -45,7 +45,7 @@ in {
|
||||||
addresses = [
|
addresses = [
|
||||||
"tcp://${tablet.ip.address0}:${toString service.ports.port2}"
|
"tcp://${tablet.ip.address0}:${toString service.ports.port2}"
|
||||||
];
|
];
|
||||||
id = tablet.sync;
|
id = tablet.sync.address0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
6
nixos/modules/tablet.nix
Normal file
6
nixos/modules/tablet.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
hardware.opentabletdriver = {
|
||||||
|
enable = true;
|
||||||
|
daemon.enable = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,13 +0,0 @@
|
||||||
{ flake, ... }:
|
|
||||||
let
|
|
||||||
inherit (flake)
|
|
||||||
self
|
|
||||||
;
|
|
||||||
|
|
||||||
moduleImports = map (module: self.homeModules.${module}) [
|
|
||||||
"desktop"
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = moduleImports;
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
{ flake, ... }:
|
|
||||||
let
|
|
||||||
inherit (flake)
|
|
||||||
self
|
|
||||||
;
|
|
||||||
|
|
||||||
moduleImports = map (module: self.homeModules.${module}) [
|
|
||||||
"desktop"
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = moduleImports;
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
{ flake, ... }:
|
|
||||||
let
|
|
||||||
inherit (flake)
|
|
||||||
self
|
|
||||||
;
|
|
||||||
|
|
||||||
moduleImports = map (module: self.homeModules.${module}) [
|
|
||||||
"server"
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = moduleImports;
|
|
||||||
}
|
|
|
@ -6,14 +6,10 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (flake.config.people)
|
inherit (flake) self;
|
||||||
user0
|
inherit (flake.config.people) user0;
|
||||||
;
|
inherit (flake.config.machines) devices;
|
||||||
inherit (flake.config.people.users.${user0})
|
inherit (flake.config.people.users.${user0}) name paths;
|
||||||
name
|
|
||||||
paths
|
|
||||||
;
|
|
||||||
|
|
||||||
hostname = config.networking.hostName;
|
hostname = config.networking.hostName;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -74,7 +70,11 @@ in
|
||||||
{
|
{
|
||||||
home.stateVersion = config.system.stateVersion;
|
home.stateVersion = config.system.stateVersion;
|
||||||
}
|
}
|
||||||
(import ./configs/${hostname}.nix { flake = flake; })
|
{
|
||||||
|
imports = [
|
||||||
|
self.homeModules."${devices.${hostname}.name}-${user0}"
|
||||||
|
];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -107,14 +107,4 @@ in
|
||||||
"Videos"
|
"Videos"
|
||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
# system.activationScripts.zoxide = ''
|
|
||||||
# z /home/nick/Files/Projects/dotfiles
|
|
||||||
# z /home/nick/Files/Projects/website
|
|
||||||
# z /home/nick/Files/Projects/website/frontend
|
|
||||||
# z /home/nick/Downloads
|
|
||||||
# z /mnt/media/server/jellyfin/media
|
|
||||||
# z /mnt/media/storage
|
|
||||||
# z /mnt/media/synology/nick/Multimedia/Images/Assorted/Stuff
|
|
||||||
# z /mnt/media/synology/nick/Syncthing/Pixel
|
|
||||||
# '';
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
{ flake, ... }:
|
|
||||||
let
|
|
||||||
inherit (flake)
|
|
||||||
self
|
|
||||||
;
|
|
||||||
|
|
||||||
moduleImports = map (module: self.homeModules.${module}) [
|
|
||||||
"desktop"
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = moduleImports;
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
{ flake, ... }:
|
|
||||||
let
|
|
||||||
inherit (flake)
|
|
||||||
self
|
|
||||||
;
|
|
||||||
|
|
||||||
moduleImports = map (module: self.homeModules.${module}) [
|
|
||||||
"desktop"
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = moduleImports;
|
|
||||||
}
|
|
|
@ -3,18 +3,15 @@
|
||||||
flake,
|
flake,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}:
|
||||||
inherit
|
let
|
||||||
(flake.config.people)
|
inherit (flake) self;
|
||||||
user1
|
inherit (flake.config.people) user1;
|
||||||
;
|
inherit (flake.config.machines) devices;
|
||||||
inherit
|
inherit (flake.config.people.users.${user1}) name;
|
||||||
(flake.config.people.users.${user1})
|
|
||||||
name
|
|
||||||
;
|
|
||||||
|
|
||||||
hostname = config.networking.hostName;
|
hostname = config.networking.hostName;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
users = {
|
users = {
|
||||||
users.${user1} = {
|
users.${user1} = {
|
||||||
description = name;
|
description = name;
|
||||||
|
@ -41,15 +38,17 @@ in {
|
||||||
source = ./files/justfile;
|
source = ./files/justfile;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
sessionVariables = {};
|
sessionVariables = { };
|
||||||
};
|
};
|
||||||
imports = [
|
imports = [
|
||||||
{
|
{
|
||||||
home.stateVersion = config.system.stateVersion;
|
home.stateVersion = config.system.stateVersion;
|
||||||
}
|
}
|
||||||
(
|
{
|
||||||
import ./configs/${hostname}.nix {flake = flake;}
|
imports = [
|
||||||
)
|
self.homeModules."${devices.${hostname}.name}-${user1}"
|
||||||
|
];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
88
profiles/user2/default.nix
Normal file
88
profiles/user2/default.nix
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
flake,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (flake) self;
|
||||||
|
inherit (flake.config.people) user2;
|
||||||
|
inherit (flake.config.machines) devices;
|
||||||
|
inherit (flake.config.people.user.${user2}) name paths;
|
||||||
|
hostname = config.networking.hostName;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
users = {
|
||||||
|
users.${user2} = {
|
||||||
|
description = name;
|
||||||
|
isNormalUser = true;
|
||||||
|
shell = pkgs.nushell;
|
||||||
|
extraGroups = [
|
||||||
|
"adbusers"
|
||||||
|
"disk"
|
||||||
|
"libvirtd"
|
||||||
|
"minecraft"
|
||||||
|
"netdev"
|
||||||
|
"networkmanager"
|
||||||
|
"ollama"
|
||||||
|
"syncthing"
|
||||||
|
"vboxusers"
|
||||||
|
"wheel"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
home-manager.users = {
|
||||||
|
${user2} = {
|
||||||
|
home = {
|
||||||
|
username = user2;
|
||||||
|
homeDirectory = "/home/${user2}";
|
||||||
|
file = {
|
||||||
|
"./justfile" = {
|
||||||
|
source = ./files/justfile;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
sessionVariables = {
|
||||||
|
WLR_NO_HARDWARE_CURSORS = "1";
|
||||||
|
WLR_DRM_NO_ATOMIC = "1";
|
||||||
|
VIDEO_PLAYER = "vlc";
|
||||||
|
EDITOR = "vscode";
|
||||||
|
NIXPKGS_ALLOW_INSECURE = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
{
|
||||||
|
home.stateVersion = config.system.stateVersion;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
self.homeModules."${devices.${hostname}.name}-${user2}"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.tmpfiles =
|
||||||
|
let
|
||||||
|
directoriesAddedToHome = [
|
||||||
|
"Projects"
|
||||||
|
];
|
||||||
|
|
||||||
|
directoriesRemovedFromHome = [
|
||||||
|
"Music"
|
||||||
|
"Public"
|
||||||
|
"Templates"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
|
rules =
|
||||||
|
[
|
||||||
|
"d ${paths.path0}/Projects 0755 ${user2} users -"
|
||||||
|
"Z ${paths.path0}/.ssh 700 ${user2} users -"
|
||||||
|
]
|
||||||
|
++ (map (path: "d /home/${user2}/${path} 0755 ${user2} users -") directoriesAddedToHome)
|
||||||
|
++ (map (path: "R /home/${user2}/${path} 0755 ${user2} users - -") directoriesRemovedFromHome);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
266
profiles/user2/files/firefox/userChrome.css
Executable file
266
profiles/user2/files/firefox/userChrome.css
Executable file
|
@ -0,0 +1,266 @@
|
||||||
|
/**
|
||||||
|
* Decrease size of the sidebar header
|
||||||
|
*/
|
||||||
|
*, html, body, html body, :root, #sidebar, #sidebar-box, .sidebar-panel, #root.root, #PlacesToolbarItems .bookmark-item, #PlacesToolbarItems .tab-item, .sidebar-placesTreechildren::-moz-tree-cell-text, .sidebar-placesTreechildren, .form-control {
|
||||||
|
font: 7pt "Lucida Sans", Classica !important;
|
||||||
|
outline: 0px !important;
|
||||||
|
border: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
html, body, :root, #sidebar, #sidebar-box, .sidebar-panel, #root.root, #PlacesToolbarItems.bookmark-item, #PlacesToolbarItems.tab-item, .titlebar, .toolbar, #PlacesToolbar, #personal-bookmarks, #bookmarks-toolbar-button, #navigator-toolbox, #nav-bar, #library {
|
||||||
|
background-color: #1a1920 !important;
|
||||||
|
outline: 0px !important;
|
||||||
|
border: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-document url-prefix("moz-extension://4bfeee63-c7b3-4bb9-a7df-a2c0fd73eec0") {
|
||||||
|
*, html, body, html body, #root, :root, .Tab .title, .main-items .nav-item .len {
|
||||||
|
font-size: 7pt !important;
|
||||||
|
font-family: "Lucida Sans", "Classica" !important;
|
||||||
|
--tabs-font: 7pt "Lucida Sans", "Classica" !important;
|
||||||
|
background-color: #1a1920 !important;
|
||||||
|
outline: 0px !important;
|
||||||
|
border: 0px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* extension icons opacity and fade */
|
||||||
|
|
||||||
|
#nav-bar toolbarbutton {
|
||||||
|
filter: grayscale(100%) !important;
|
||||||
|
opacity: 0.3 !important;
|
||||||
|
transition: transform 200ms ease 0.5s, opacity 200ms ease 0.5s !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-bar toolbarbutton:hover {
|
||||||
|
filter: grayscale(0%) !important;
|
||||||
|
opacity: 1 !important;
|
||||||
|
transition-duration: 200ms !important;
|
||||||
|
transition-delay: 0s !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-header toolbarbutton {
|
||||||
|
filter: grayscale(100%) !important;
|
||||||
|
opacity: 0 !important;
|
||||||
|
transition: transform 200ms ease 0.5s, opacity 200ms ease 0.5s !important;
|
||||||
|
min-width:150px !important;
|
||||||
|
align: center !important;
|
||||||
|
}
|
||||||
|
#sidebar-header toolbarbutton:hover {
|
||||||
|
filter: grayscale(0%) !important;
|
||||||
|
opacity: 1 !important;
|
||||||
|
transition-duration: 200ms !important;
|
||||||
|
transition-delay: 0s !important;
|
||||||
|
min-width:150px !important;
|
||||||
|
align: center !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.close-icon {width:0px !important;}
|
||||||
|
|
||||||
|
/* --- */
|
||||||
|
|
||||||
|
|
||||||
|
/* hide address bar bloat */
|
||||||
|
#tracking-protection-icon-container { display: none; }
|
||||||
|
#identity-box { display: none; }
|
||||||
|
#reader-mode-button { display: none; }
|
||||||
|
#pageActionButton { display: none; }
|
||||||
|
#pocket-button { display: none; }
|
||||||
|
#star-button { display: none; }
|
||||||
|
#urlbar-zoom-button { display: none; }
|
||||||
|
/* --- */
|
||||||
|
|
||||||
|
/* Go to arrow button at the end of the urlbar when searching */
|
||||||
|
#urlbar-go-button { display: none; }
|
||||||
|
|
||||||
|
/* Bottom left page loading status or url preview */
|
||||||
|
/* #statuspanel { display: none !important; } */
|
||||||
|
|
||||||
|
|
||||||
|
/* hide address bar*/
|
||||||
|
|
||||||
|
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_main_toolbar.css made available under Mozilla Public License v. 2.0
|
||||||
|
S ee the above repository for updates as well as full license text. */ *
|
||||||
|
|
||||||
|
/* This style hides the main toolbar and shows it when the cursor is over the tabs toolbar as well as whenever the focus is inside nav-bar, such as when urlbar is focused. */
|
||||||
|
|
||||||
|
:root{ --uc-navbar-transform: -40px }
|
||||||
|
:root[uidensity="compact"]{ --uc-navbar-transform: -4px }
|
||||||
|
|
||||||
|
|
||||||
|
#navigator-toolbox > div{ display: contents; }
|
||||||
|
:root[sessionrestored] :where(#nav-bar,#PersonalToolbar,#tab-notification-deck,.global-notificationbox){
|
||||||
|
transform: translateY(var(--uc-navbar-transform))
|
||||||
|
}
|
||||||
|
:root:is([customizing],[chromehidden*="toolbar"]) :where(#nav-bar,#PersonalToolbar,#tab-notification-deck,.global-notificationbox){
|
||||||
|
transform: none !important;
|
||||||
|
opacity: 1 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-bar, #nav-bar-customization-target {
|
||||||
|
height: 30px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-bar-content, #nav-bar-content {
|
||||||
|
height: 20px !important;
|
||||||
|
margin-top: 4px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#urlbar {
|
||||||
|
width: 300px !important;
|
||||||
|
padding-left: 10px !important;
|
||||||
|
padding-right: -10px !important;
|
||||||
|
left: -50px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#nav-bar:not([customizing]){
|
||||||
|
opacity: 0;
|
||||||
|
transition: transform 400ms ease 1.5s, opacity 400ms ease 1.5s !important;
|
||||||
|
position: relative;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
#titlebar{ position: relative; z-index: 3 }
|
||||||
|
|
||||||
|
/* Show when toolbox is focused, like when urlbar has received focus */
|
||||||
|
#navigator-toolbox:focus-within > .browser-toolbar{
|
||||||
|
transform: translateY(0);
|
||||||
|
opacity: 1;
|
||||||
|
transition-duration: 500ms, 200ms !important;
|
||||||
|
transition-delay: 0s !important;
|
||||||
|
}
|
||||||
|
/* Show when toolbox is hovered */
|
||||||
|
#titlebar:hover ~ .browser-toolbar,
|
||||||
|
#nav-bar:hover,
|
||||||
|
#nav-bar:hover + #PersonalToolbar{
|
||||||
|
transform: translateY(0);
|
||||||
|
opacity: 1;
|
||||||
|
transition-duration: 500ms, 200ms !important;
|
||||||
|
transition-delay: 0s !important;
|
||||||
|
}
|
||||||
|
/* This ruleset is separate, because not having :has support breaks other selectors as well */
|
||||||
|
#mainPopupSet:has(> #appMenu-popup:hover) ~ #navigator-toolbox > .browser-toolbar{
|
||||||
|
transition-delay: 33ms !important;
|
||||||
|
transform: translateY(0);
|
||||||
|
opacity: 1;
|
||||||
|
background-color: #1a1920 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Bookmarks toolbar needs so extra rules */
|
||||||
|
#PersonalToolbar{ transition: transform 400ms ease 1.5s !important; position: relative; z-index: 1; background-color: #1a1920 !important; }
|
||||||
|
|
||||||
|
/* Move up the content view */
|
||||||
|
:root[sessionrestored]:not([inFullscreen],[chromehidden~="toolbar"]) > body > #browser{ margin-top: var(--uc-navbar-transform); }
|
||||||
|
|
||||||
|
/* --- end hide --- */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#sidebar-header {color: #1a1920 !important;
|
||||||
|
font-size: 1.2em !important;
|
||||||
|
font-family: "Dumbledor 3", Times New Roman !important;
|
||||||
|
padding: 2px 6px 2px 3px !important;
|
||||||
|
}
|
||||||
|
#sidebar-header #sidebar-close {
|
||||||
|
padding: 3px !important;
|
||||||
|
}
|
||||||
|
#sidebar-header #sidebar-close .toolbarbutton-icon {
|
||||||
|
width: 0px !important;
|
||||||
|
height: 0px !important;
|
||||||
|
opacity: 0.6 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#TabsToolbar {
|
||||||
|
font-size: 0.8em !important;
|
||||||
|
font-family: "Troglodyte" !important;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_sidebar.css made available under Mozilla Public License v. 2.0
|
||||||
|
*See the above repository for updates as well as full license text. */
|
||||||
|
|
||||||
|
/* Show sidebar only when the cursor is over it */
|
||||||
|
/* The border controlling sidebar width will be removed so you'll need to modify these values to change width */
|
||||||
|
|
||||||
|
#sidebar-box{
|
||||||
|
--uc-sidebar-width: 30px;
|
||||||
|
--uc-sidebar-hover-width: 180px;
|
||||||
|
--uc-autohide-sidebar-delay: 600ms; /* Wait 0.6s before hiding sidebar */
|
||||||
|
--uc-autohide-transition-duration: 115ms;
|
||||||
|
--uc-autohide-transition-type: linear;
|
||||||
|
position: relative;
|
||||||
|
min-width: var(--uc-sidebar-width) !important;
|
||||||
|
width: var(--uc-sidebar-width) !important;
|
||||||
|
max-width: var(--uc-sidebar-width) !important;
|
||||||
|
z-index:1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-box[positionend]{ direction: rtl }
|
||||||
|
#sidebar-box[positionend] > *{ direction: ltr }
|
||||||
|
|
||||||
|
#sidebar-box[positionend]:-moz-locale-dir(rtl){ direction: ltr }
|
||||||
|
#sidebar-box[positionend]:-moz-locale-dir(rtl) > *{ direction: rtl }
|
||||||
|
|
||||||
|
#main-window[sizemode="fullscreen"] #sidebar-box{ --uc-sidebar-width: 1px; }
|
||||||
|
|
||||||
|
#sidebar-splitter{ display: none }
|
||||||
|
|
||||||
|
#sidebar-header{
|
||||||
|
overflow: hidden;
|
||||||
|
color: var(--chrome-color, inherit) !important;
|
||||||
|
padding-inline: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-header::before,
|
||||||
|
#sidebar-header::after{
|
||||||
|
content: "";
|
||||||
|
display: flex;
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-header,
|
||||||
|
#sidebar{
|
||||||
|
transition: min-width var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important;
|
||||||
|
min-width: var(--uc-sidebar-width) !important;
|
||||||
|
will-change: min-width;
|
||||||
|
}
|
||||||
|
#sidebar-box:hover > #sidebar-header,
|
||||||
|
#sidebar-box:hover > #sidebar{
|
||||||
|
min-width: var(--uc-sidebar-hover-width) !important;
|
||||||
|
transition-delay: 0ms !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-panel{
|
||||||
|
background-color: transparent !important;
|
||||||
|
color: var(--newtab-text-primary-color) !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-panel #search-box{
|
||||||
|
-moz-appearance: none !important;
|
||||||
|
background-color: rgba(249,249,250,0.1) !important;
|
||||||
|
color: inherit !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add sidebar divider and give it background */
|
||||||
|
|
||||||
|
#sidebar,
|
||||||
|
#sidebar-header{
|
||||||
|
background-color: inherit !important;
|
||||||
|
border-inline: 1px solid rgb(80,80,80);
|
||||||
|
border-inline-width: 0px 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-box:not([positionend]) > :-moz-locale-dir(rtl),
|
||||||
|
#sidebar-box[positionend] > *{
|
||||||
|
border-inline-width: 1px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */
|
||||||
|
|
||||||
|
#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel{
|
||||||
|
inset-inline: auto 0px !important;
|
||||||
|
}
|
||||||
|
#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel-label{
|
||||||
|
margin-inline: 0px !important;
|
||||||
|
border-left-style: solid !important;
|
||||||
|
}
|
126
profiles/user2/files/firefox/userContent.css
Executable file
126
profiles/user2/files/firefox/userContent.css
Executable file
|
@ -0,0 +1,126 @@
|
||||||
|
/* home page edits */
|
||||||
|
|
||||||
|
@-moz-document url("about:home"), url("about:newtab"){
|
||||||
|
html, body, #root, input {
|
||||||
|
background-color: #1a1920 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
* { /* this is where I enforce the font everywhere */
|
||||||
|
font-size: 8pt !important;
|
||||||
|
font-family: "Lucida Grande", "Classica" !important;
|
||||||
|
line-height: 9pt !important;
|
||||||
|
} /* so that my sidebar tabs aren't fucking HUGE */
|
||||||
|
|
||||||
|
.collapsible-section.ds-layout {
|
||||||
|
max-height: 400px !important;
|
||||||
|
background-color: #000 !important;
|
||||||
|
}
|
||||||
|
.search-wrapper {
|
||||||
|
filter: grayscale(80%) !important;
|
||||||
|
opacity: 0 !important;
|
||||||
|
vertical-align: middle !important;
|
||||||
|
}
|
||||||
|
.personalizeButtonWrapper {
|
||||||
|
opacity: 0.2 !important;
|
||||||
|
transition: transform 200ms ease 0.5s, opacity 200ms ease 0.5s !important;
|
||||||
|
}
|
||||||
|
.personalizeButtonWrapper:hover {
|
||||||
|
opacity: 0.7 !important;
|
||||||
|
transition-duration: 200ms !important;
|
||||||
|
transition-delay: 0s !important;
|
||||||
|
}
|
||||||
|
.search-inner-wrapper { /* begone THOT */
|
||||||
|
display:none !important;
|
||||||
|
width: 300px !important;
|
||||||
|
min-height: 30px !important;
|
||||||
|
--newtab-search-icon: 0 !important;
|
||||||
|
}
|
||||||
|
.body-wrapper {margin-top: -200px;}
|
||||||
|
.context-menu-button { /* the button that has the menu to edit your shortcuts */
|
||||||
|
margin-right: 10px !important; margin-top: 0px !important; opacity: 0 !important;
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
.context-menu-button:hover {opacity: 0.7 !important;}
|
||||||
|
.top-site-outer, .top-site-inner {
|
||||||
|
margin-block-end: 0px !important;
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
.top-site-outer:hover {
|
||||||
|
background-color: transparent !important;
|
||||||
|
}
|
||||||
|
.top-site-button {padding: 0px !important; background-color:transparent !important;}
|
||||||
|
|
||||||
|
.tile { /* here be buttons */
|
||||||
|
filter: grayscale(100%) !important;
|
||||||
|
background-color: transparent !important;
|
||||||
|
border: 0px !important;
|
||||||
|
opacity: 0.1 !important;
|
||||||
|
transition: 50ms ease 0.4s !important;
|
||||||
|
vertical-align: middle !important;
|
||||||
|
}
|
||||||
|
.tile:hover {
|
||||||
|
filter: grayscale(50%) !important;
|
||||||
|
opacity: 0.7 !important;
|
||||||
|
transition: 50ms ease 0.2s !important;
|
||||||
|
}
|
||||||
|
.icon-wrapper {
|
||||||
|
background-color: transparent !important;
|
||||||
|
border: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-site-button .top-site-icon{
|
||||||
|
background-color: transparent !important;
|
||||||
|
background-size: contain !important;
|
||||||
|
background-repeat: no-repeat !important;
|
||||||
|
background-position: center !important;
|
||||||
|
padding: 0px !important;
|
||||||
|
border-radius: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* custom icons so I can have custom+transparency on Home and New Tab pages */
|
||||||
|
.top-site-button[href="http://deck.blue"] .top-site-icon{
|
||||||
|
background-image: url("https://i.imgur.com/Z8IrhAY.png") !important;
|
||||||
|
}
|
||||||
|
.top-site-button[href="http://new.reddit.com"] .top-site-icon{
|
||||||
|
background-image: url("https://i.imgur.com/3QIQIeD.png") !important;
|
||||||
|
}
|
||||||
|
.top-site-button[href="http://gaiaonline.com"] .top-site-icon{
|
||||||
|
background-image: url("https://i.imgur.com/Vp7urqM.png") !important;
|
||||||
|
}
|
||||||
|
.top-site-button[href="http://orcanetwork.org"] .top-site-icon{
|
||||||
|
background-image: url("https://i.imgur.com/hvKM68l.png") !important;
|
||||||
|
}
|
||||||
|
.top-site-button[href="http://whaleresearch.com"] .top-site-icon{
|
||||||
|
background-image: url("https://i.imgur.com/uuBDA57.png") !important;
|
||||||
|
}
|
||||||
|
.top-site-button[href="http://whale-of-a-porpoise.blogspot.ca"] .top-site-icon{
|
||||||
|
background-image: url("https://i.imgur.com/qm2BYfR.png") !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* !!! icon alignment and size fix !!! */
|
||||||
|
.icon.icon-pin-small {
|
||||||
|
width: 0px !important;
|
||||||
|
}
|
||||||
|
.top-site-outer .title {
|
||||||
|
padding-top: 0px !important;
|
||||||
|
}
|
||||||
|
.top-site-outer {
|
||||||
|
margin-block-end: unset !important;
|
||||||
|
}
|
||||||
|
.top-site-outer .title span {
|
||||||
|
visibility: hidden !important;
|
||||||
|
}
|
||||||
|
.top-site-outer .title:not(.sponsored) .sponsored-label {
|
||||||
|
height: 0px !important;
|
||||||
|
}
|
||||||
|
.top-site-outer .context-menu-button:hover {
|
||||||
|
background-color: unset !important;
|
||||||
|
}
|
||||||
|
.top-site-outer .context-menu-button {
|
||||||
|
transition: none !important;
|
||||||
|
background-color: unset !important;
|
||||||
|
top: 0px !important;
|
||||||
|
}
|
||||||
|
.top-site-outer .default-icon {width:48px !important; height:48px !important;}
|
||||||
|
}
|
||||||
|
/* --- home page edits end --- */
|
6
profiles/user2/files/justfile
Executable file
6
profiles/user2/files/justfile
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
gobrr:
|
||||||
|
nixos-rebuild switch --use-remote-sudo --flake ~/Projects/dotfiles#desktop
|
||||||
|
|
||||||
|
|
||||||
|
fuckoff:
|
||||||
|
shutdown now
|
3
profiles/user2/files/loop.sh
Executable file
3
profiles/user2/files/loop.sh
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
while true ; do date ; natpmpc -a 1 0 udp 60 -g 10.2.0.1 && natpmpc -a 1 0 tcp 60 -g 10.2.0.1 || { echo -e "ERROR with natpmpc command \a" ; break ; } ; sleep 45 ; done
|
8
profiles/user2/files/modnix.sh
Executable file
8
profiles/user2/files/modnix.sh
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
cp /etc/nixos/configuration.nix /etc/nixos/configuration.nix.backup
|
||||||
|
|
||||||
|
sed -i '/services\.printing\.enable = true;/a\ nix.settings.experimental-features = ["nix-command" "flakes"];\n services.openssh.enable = true;' /etc/nixos/configuration.nix
|
||||||
|
sed -i '/thunderbird/a\ git\n vscode\n tomb' /etc/nixos/configuration.nix
|
||||||
|
|
||||||
|
echo "/etc/nixos/configuration.nix updated successfully."
|
47
systems/fallaryn/config/boot.nix
Executable file
47
systems/fallaryn/config/boot.nix
Executable file
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
boot = {
|
||||||
|
extraModulePackages = [
|
||||||
|
config.boot.kernelPackages.v4l2loopback.out
|
||||||
|
];
|
||||||
|
supportedFilesystems = [ "ntfs" ];
|
||||||
|
initrd = {
|
||||||
|
availableKernelModules = [
|
||||||
|
"amdgpu"
|
||||||
|
"nvme"
|
||||||
|
"ahci"
|
||||||
|
"xhci_pci"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
kernelModules = [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
kernelModules = [
|
||||||
|
"kvm-amd"
|
||||||
|
"vfio-pci"
|
||||||
|
"v4l2loopback"
|
||||||
|
];
|
||||||
|
|
||||||
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
loader = {
|
||||||
|
efi = {
|
||||||
|
canTouchEfiVariables = true;
|
||||||
|
efiSysMountPoint = "/boot";
|
||||||
|
};
|
||||||
|
systemd-boot.enable = false;
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
device = "nodev";
|
||||||
|
useOSProber = true;
|
||||||
|
efiSupport = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
53
systems/fallaryn/config/filesystem.nix
Executable file
53
systems/fallaryn/config/filesystem.nix
Executable file
|
@ -0,0 +1,53 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
flake,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (flake.config.people) user0;
|
||||||
|
inherit (flake.config.system.device) fallaryn;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = [ ];
|
||||||
|
|
||||||
|
fileSystems =
|
||||||
|
let
|
||||||
|
storageDrives = [
|
||||||
|
"storage0"
|
||||||
|
"storage1"
|
||||||
|
];
|
||||||
|
|
||||||
|
storageMounts = storage: {
|
||||||
|
name = "${fallaryn.${storage}.mount}";
|
||||||
|
value = {
|
||||||
|
device = fallaryn.${storage}.device;
|
||||||
|
fsType = "ext4";
|
||||||
|
options = fallaryn.${storage}.options;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"/" = {
|
||||||
|
device = "/dev/disk/by-uuid/d02cb367-26e0-4708-8840-75dcc4362ff4";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
"/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/22BD-5A25";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = fallaryn.boot.options;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
// (builtins.listToAttrs (map storageMounts storageDrives));
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-uuid/cc7ab213-26c9-4567-91ca-9dba6e98c9d1"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"Z ${config.home-manager.users.${user0}.home.homeDirectory} 0755 ${user0} users -"
|
||||||
|
"Z ${fallaryn.storage0.mount} 0755 ${user0} users -"
|
||||||
|
"Z ${fallaryn.storage1.mount} 0755 ${user0} users -"
|
||||||
|
];
|
||||||
|
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
}
|
24
systems/fallaryn/config/graphics.nix
Executable file
24
systems/fallaryn/config/graphics.nix
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
hardware = {
|
||||||
|
graphics = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = builtins.attrValues {
|
||||||
|
inherit (pkgs)
|
||||||
|
amdvlk
|
||||||
|
;
|
||||||
|
inherit (pkgs.rocmPackages.clr)
|
||||||
|
icd
|
||||||
|
;
|
||||||
|
};
|
||||||
|
extraPackages32 = builtins.attrValues {
|
||||||
|
inherit (pkgs.driversi686Linux)
|
||||||
|
amdvlk
|
||||||
|
;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
boot.initrd.kernelModules = [
|
||||||
|
"amdgpu"
|
||||||
|
];
|
||||||
|
}
|
13
systems/fallaryn/config/hardware.nix
Executable file
13
systems/fallaryn/config/hardware.nix
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
hardware = {
|
||||||
|
firmware = [ pkgs.rtl8761b-firmware ];
|
||||||
|
enableAllFirmware = true;
|
||||||
|
cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
};
|
||||||
|
}
|
31
systems/fallaryn/config/networking.nix
Executable file
31
systems/fallaryn/config/networking.nix
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
flake,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (flake.config.system.device) fallaryn;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
networking = {
|
||||||
|
hostName = fallaryn.name;
|
||||||
|
networkmanager.enable = true;
|
||||||
|
useDHCP = lib.mkDefault true;
|
||||||
|
firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [ ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
avahi = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
};
|
||||||
|
sshd.enable = true;
|
||||||
|
openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings.PasswordAuthentication = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
20
systems/fallaryn/default.nix
Executable file
20
systems/fallaryn/default.nix
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
configPath = ./config;
|
||||||
|
|
||||||
|
fallarynImports =
|
||||||
|
let
|
||||||
|
files = builtins.attrNames (builtins.readDir configPath);
|
||||||
|
in
|
||||||
|
map (name: configPath + "/${name}") (
|
||||||
|
builtins.filter (name: builtins.match ".*\\.nix$" name != null) files
|
||||||
|
);
|
||||||
|
in
|
||||||
|
{
|
||||||
|
imports = fallarynImports;
|
||||||
|
nixpkgs.hostPlatform = lib.mkForce "x86_64-linux";
|
||||||
|
system.stateVersion = lib.mkForce "24.05";
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue