Compare commits
16 commits
0d098f3823
...
f9f9abf279
Author | SHA1 | Date | |
---|---|---|---|
f9f9abf279 | |||
0ba745d792 | |||
ead6eb1832 | |||
a813e5a010 | |||
5ce5eb0a8f | |||
6ea68a2b25 | |||
106b0d752e | |||
ccfb74fa5c | |||
540bd601e2 | |||
6ab38a390f | |||
181970f273 | |||
79d253f2d7 | |||
2b98d371f1 | |||
fc4764ef04 | |||
6be6e4db46 | |||
93ba9bfdaa |
47 changed files with 323 additions and 300 deletions
8
Justfile
8
Justfile
|
@ -74,6 +74,14 @@ genFirefoxAddons:
|
|||
secret name:
|
||||
cd secrets && agenix --edit {{name}}.age --identity ~/.ssh/marley@nyx && cd -
|
||||
|
||||
[group('maintainence')]
|
||||
check:
|
||||
nix flake check
|
||||
|
||||
[group('maintainence')]
|
||||
checkall:
|
||||
nix flake check --all-systems
|
||||
|
||||
alias s := search
|
||||
search this:
|
||||
nh search {{this}}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
let
|
||||
{marleylib, ...}: let
|
||||
my = {
|
||||
name = "marley";
|
||||
fullName = "Marley Rae";
|
||||
|
@ -6,17 +6,20 @@ let
|
|||
email = "marley@punkfairie.net";
|
||||
};
|
||||
in {
|
||||
marleycfg.my = my;
|
||||
config = {
|
||||
marleycfg.my = my;
|
||||
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
backupFileExtension = "bak";
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
backupFileExtension = "bak";
|
||||
|
||||
users."${my.name}" = {
|
||||
home.username = my.name;
|
||||
users."${my.name}" = {
|
||||
home.username = my.name;
|
||||
};
|
||||
|
||||
sharedModules = [../home];
|
||||
extraSpecialArgs = {inherit marleylib;};
|
||||
};
|
||||
|
||||
sharedModules = [../home];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -50,6 +50,10 @@
|
|||
};
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
# More useful repl.
|
||||
environment.systemPackages = let
|
||||
nrepl =
|
||||
|
|
|
@ -1,20 +1,22 @@
|
|||
{pkgs, ...}: {
|
||||
stylix = {
|
||||
enable = true;
|
||||
config = {
|
||||
stylix = {
|
||||
enable = true;
|
||||
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml";
|
||||
override = {slug = "rose-pine";};
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/rose-pine.yaml";
|
||||
override = {slug = "rose-pine";};
|
||||
|
||||
image = ./wallpaper.png;
|
||||
image = ./wallpaper.png;
|
||||
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.maple-mono-NF;
|
||||
name = "Maple Mono";
|
||||
};
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.maple-mono-NF;
|
||||
name = "Maple Mono";
|
||||
};
|
||||
|
||||
sizes = {
|
||||
terminal = 11;
|
||||
sizes = {
|
||||
terminal = 11;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-users = [
|
||||
"@darwin"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -3,8 +3,11 @@
|
|||
inputs.agenix.darwinModules.default
|
||||
|
||||
../base
|
||||
./base
|
||||
|
||||
./home.nix
|
||||
./stylix.nix
|
||||
|
||||
./system
|
||||
./programs
|
||||
];
|
||||
}
|
||||
|
|
6
modules/darwin/system/default.nix
Normal file
6
modules/darwin/system/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./homebrew.nix
|
||||
./nix.nix
|
||||
];
|
||||
}
|
11
modules/darwin/system/nix.nix
Normal file
11
modules/darwin/system/nix.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
config = {
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-users = [
|
||||
"@darwin"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -5,8 +5,11 @@
|
|||
./options
|
||||
|
||||
./home-manager.nix
|
||||
./profile.nix
|
||||
|
||||
./system
|
||||
./shell
|
||||
./programs
|
||||
|
||||
./profiles.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{
|
||||
programs.home-manager.enable = true;
|
||||
config = {
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
home.language.base = "en_US.UTF-8";
|
||||
home.language.base = "en_US.UTF-8";
|
||||
|
||||
# Autostart wanted systemd services on Linux.
|
||||
systemd.user.startServices = true;
|
||||
# Autostart wanted systemd services on Linux.
|
||||
systemd.user.startServices = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,13 +1,15 @@
|
|||
{osConfig, ...}: let
|
||||
cfg = osConfig.marleycfg;
|
||||
in {
|
||||
marleycfg = {
|
||||
profiles = {
|
||||
inherit (cfg.profiles) desktop server;
|
||||
};
|
||||
config = {
|
||||
marleycfg = {
|
||||
profiles = {
|
||||
inherit (cfg.profiles) desktop server;
|
||||
};
|
||||
|
||||
my = {
|
||||
inherit (cfg.my) name fullName username email git;
|
||||
my = {
|
||||
inherit (cfg.my) name fullName username email git;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
inherit (marleylib.module) enabled;
|
||||
in {
|
||||
marleyos =
|
||||
marleyos = lib.mkMerge [
|
||||
# Universal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
{
|
||||
programs = {
|
||||
|
@ -18,9 +18,10 @@ in {
|
|||
#
|
||||
#
|
||||
# Graphical Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// (lib.optionalAttrs cfg.desktop {})
|
||||
(lib.optionalAttrs cfg.desktop {})
|
||||
#
|
||||
#
|
||||
# Server - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// (lib.optionalAttrs cfg.server {});
|
||||
(lib.optionalAttrs cfg.server {})
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
{config, ...}: {
|
||||
config.home = {
|
||||
sessionPath = [
|
||||
"${config.home.homeDirectory}/.local/bin"
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
HACK = "${config.home.homeDirectory}/hackin";
|
||||
};
|
||||
|
||||
shellAbbrs = {
|
||||
c = "clear";
|
||||
e = "${config.home.sessionVariables.EDITOR}";
|
||||
v = "${config.home.sessionVariables.EDITOR}";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./home.nix
|
||||
./nix.nix
|
||||
./stylix.nix
|
||||
./gtk.nix
|
||||
./qt.nix
|
||||
];
|
||||
}
|
|
@ -2,12 +2,8 @@
|
|||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.appearance.gtk;
|
||||
in {
|
||||
options.marleyos.appearance.gtk.enable = lib.mkEnableOption "gtk";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
}: {
|
||||
config = lib.mkIf config.marleycfg.profiles.desktop {
|
||||
home.pointerCursor.gtk.enable = true;
|
||||
|
||||
gtk = {
|
11
modules/home/shell/qt.nix
Normal file
11
modules/home/shell/qt.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
config = lib.mkIf config.marleycfg.profiles.desktop {
|
||||
qt = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
21
modules/home/shell/stylix.nix
Normal file
21
modules/home/shell/stylix.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = {
|
||||
stylix = {
|
||||
iconTheme = {
|
||||
package = pkgs.kora-icon-theme;
|
||||
dark = "kora";
|
||||
light = "kora-light-panel";
|
||||
};
|
||||
|
||||
fonts.sizes.terminal = lib.mkIf pkgs.stdenv.isDarwin 14;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
kora-icon-theme
|
||||
];
|
||||
};
|
||||
}
|
6
modules/home/system/default.nix
Normal file
6
modules/home/system/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./session.nix
|
||||
./xdg.nix
|
||||
];
|
||||
}
|
34
modules/home/system/session.nix
Normal file
34
modules/home/system/session.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.marleycfg) profiles;
|
||||
in {
|
||||
config = {
|
||||
home = {
|
||||
sessionPath = [
|
||||
"${config.home.homeDirectory}/.local/bin"
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
HACK = "${config.home.homeDirectory}/hackin";
|
||||
};
|
||||
|
||||
shellAbbrs = {
|
||||
c = "clear";
|
||||
e = "${config.home.sessionVariables.EDITOR}";
|
||||
v = "${config.home.sessionVariables.EDITOR}";
|
||||
};
|
||||
|
||||
packages = [
|
||||
config.marleycfg.apps.pinentry
|
||||
];
|
||||
};
|
||||
|
||||
marleycfg.apps.pinentry =
|
||||
if profiles.desktop
|
||||
then pkgs.pinentry-gtk2
|
||||
else pkgs.pinentry-curses;
|
||||
};
|
||||
}
|
|
@ -1,42 +1,39 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
system,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.snowfall.system) is-linux;
|
||||
|
||||
inherit (config.marleyos) isDesktop;
|
||||
inherit (config.marleycfg) profiles;
|
||||
in {
|
||||
config = {
|
||||
home.preferXdgDirectories = true;
|
||||
|
||||
xdg = let
|
||||
homeDir = config.home.homeDirectory;
|
||||
home = config.home.homeDirectory;
|
||||
in
|
||||
lib.mkMerge [
|
||||
{
|
||||
enable = true;
|
||||
|
||||
cacheHome = "${homeDir}/.cache";
|
||||
configHome = "${homeDir}/.config";
|
||||
dataHome = "${homeDir}/.local/share";
|
||||
stateHome = "${homeDir}/.local/state";
|
||||
cacheHome = "${home}/.cache";
|
||||
configHome = "${home}/.config";
|
||||
dataHome = "${home}/.local/share";
|
||||
stateHome = "${home}/.local/state";
|
||||
}
|
||||
|
||||
(lib.mkIf (isDesktop && (is-linux system)) {
|
||||
(lib.mkIf (profiles.desktop && pkgs.stdenv.isLinux) {
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
|
||||
desktop = "${homeDir}/desktop";
|
||||
desktop = "${home}/desktop";
|
||||
documents = null;
|
||||
download = "${homeDir}/downloads";
|
||||
download = "${home}/downloads";
|
||||
music = null;
|
||||
pictures = "${homeDir}/pictures";
|
||||
pictures = "${home}/pictures";
|
||||
templates = null;
|
||||
videos = "${homeDir}/videos";
|
||||
videos = "${home}/videos";
|
||||
};
|
||||
|
||||
portal = {
|
||||
|
@ -50,7 +47,7 @@ in {
|
|||
enable = true;
|
||||
|
||||
associations.added = let
|
||||
browser = "${lib.getName config.marleyos.apps.browser}";
|
||||
browser = "${lib.getName config.marleycfg.apps.browser}";
|
||||
in {
|
||||
"application/json" = ["nvim.desktop"];
|
||||
"application/pdf" = ["org.pwmt.zathura-pdf-mupdf.desktop"];
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
boot = {
|
||||
kernelPackages =
|
||||
lib.mkIf (!config.marleycfg.profiles.server)
|
||||
pkgs.linuxPackages_xanmod;
|
||||
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
{pkgs, ...}: {
|
||||
fonts = {
|
||||
enableDefaultPackages = true;
|
||||
|
||||
packages = with pkgs; [
|
||||
corefonts
|
||||
noto-fonts
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (config.marleycfg.my) name;
|
||||
in {
|
||||
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||
config = {
|
||||
home-manager.users."${name}" = {
|
||||
home.homeDirectory = "/home/${name}";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
{config, ...}: {
|
||||
time.timeZone =
|
||||
if config.marleycfg.profiles.server
|
||||
then "UTC"
|
||||
else "America/Los_Angeles";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
|
||||
extraLocaleSettings = {
|
||||
LC_MESSAGES = "en_US.UTF-8";
|
||||
LC_TIME = "de_DE.UTF-8";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [80 443];
|
||||
};
|
||||
|
||||
wireless.enable = lib.mkIf config.marleycfg.profiles.server false;
|
||||
};
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-users = [
|
||||
"@wheel"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
my = {
|
||||
name = "marley";
|
||||
username = "punkfairie";
|
||||
fullName = "Marley Rae";
|
||||
email = "marley@punkfairie.net";
|
||||
};
|
||||
|
||||
desktopPass = "$y$j9T$ztWf9WeUCENC2T12qS4mi1$51ihV/5cQ8mdJJrNe7MMguk4hPB61S5xHawsfi.1hL3";
|
||||
serverPass = "$y$j9T$8hA7OWZsdQMHqYIy8LkYQ1$hFeP2ak3QA4FtoIYIwqPg10//ZOSZrAw1PzJj0PuGSA";
|
||||
in {
|
||||
marleycfg.my = {
|
||||
inherit (my) name username fullName email;
|
||||
};
|
||||
|
||||
users = {
|
||||
mutableUsers = false;
|
||||
|
||||
groups = {
|
||||
"compat" = {
|
||||
gid = 1000;
|
||||
};
|
||||
};
|
||||
|
||||
users."${my.name}" = {
|
||||
isNormalUser = true;
|
||||
description = my.fullName;
|
||||
extraGroups =
|
||||
["wheel" "compat"]
|
||||
++ (lib.optional config.networking.networkmanager.enable "networkmanager")
|
||||
++ (lib.optional config.virtualisation.docker.enable "docker");
|
||||
hashedPassword =
|
||||
if config.marleycfg.profiles.server
|
||||
then serverPass
|
||||
else desktopPass;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -4,10 +4,12 @@
|
|||
|
||||
../base
|
||||
|
||||
./base
|
||||
./hardware
|
||||
./system
|
||||
./shell
|
||||
|
||||
./users.nix
|
||||
|
||||
./programs
|
||||
./services
|
||||
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
./audio.nix
|
||||
./mounts
|
||||
./nvidia.nix
|
||||
|
||||
./misc.nix # try to use this as little as possible
|
||||
];
|
||||
|
||||
config = {
|
||||
services.printing.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
services.printing.enable = true;
|
||||
}
|
|
@ -1,7 +1,9 @@
|
|||
{
|
||||
boot.supportedFilesystems = {
|
||||
ntfs = true;
|
||||
};
|
||||
config = {
|
||||
boot.supportedFilesystems = {
|
||||
ntfs = true;
|
||||
};
|
||||
|
||||
services.udisks2.enable = true;
|
||||
services.udisks2.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
inherit (marleylib.module) enabled;
|
||||
in {
|
||||
marleyos =
|
||||
marleyos = lib.mkMerge [
|
||||
# Universal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
{
|
||||
programs = {
|
||||
|
@ -24,7 +24,7 @@ in {
|
|||
#
|
||||
#
|
||||
# Graphical Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// (lib.optionalAttrs cfg.desktop {
|
||||
(lib.optionalAttrs cfg.desktop {
|
||||
mounts.babeshare = enabled;
|
||||
|
||||
shell = {
|
||||
|
@ -40,9 +40,10 @@ in {
|
|||
#
|
||||
#
|
||||
# Server - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// (lib.optionalAttrs cfg.server {
|
||||
(lib.optionalAttrs cfg.server {
|
||||
services = {
|
||||
prometheus = enabled;
|
||||
};
|
||||
});
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{
|
||||
imports = [
|
||||
./stylix.nix
|
||||
./fonts.nix
|
||||
|
||||
./hyprlock.nix
|
||||
./ly.nix
|
||||
./niri.nix
|
||||
|
|
12
modules/nixos/shell/fonts.nix
Normal file
12
modules/nixos/shell/fonts.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
config = {
|
||||
fonts = {
|
||||
enableDefaultPackages = true;
|
||||
|
||||
packages = with pkgs; [
|
||||
corefonts
|
||||
noto-fonts
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,11 +1,15 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [inputs.stylix.nixosModules.stylix];
|
||||
|
||||
config = {
|
||||
# whatsapp-emoji-font is unfree.
|
||||
nixpkgs.config.allowUnfree = lib.mkForce true;
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
|
19
modules/nixos/system/boot.nix
Normal file
19
modules/nixos/system/boot.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
config = {
|
||||
boot = {
|
||||
kernelPackages =
|
||||
lib.mkIf (!config.marleycfg.profiles.server)
|
||||
pkgs.linuxPackages_xanmod;
|
||||
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,12 +1,8 @@
|
|||
{
|
||||
imports = [
|
||||
./boot.nix
|
||||
./fonts.nix
|
||||
./home.nix
|
||||
./i18n.nix
|
||||
./networking.nix
|
||||
./nix.nix
|
||||
./stylix.nix
|
||||
./users.nix
|
||||
];
|
||||
}
|
17
modules/nixos/system/i18n.nix
Normal file
17
modules/nixos/system/i18n.nix
Normal file
|
@ -0,0 +1,17 @@
|
|||
{config, ...}: {
|
||||
config = {
|
||||
time.timeZone =
|
||||
if config.marleycfg.profiles.server
|
||||
then "UTC"
|
||||
else "America/Los_Angeles";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
|
||||
extraLocaleSettings = {
|
||||
LC_MESSAGES = "en_US.UTF-8";
|
||||
LC_TIME = "de_DE.UTF-8";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
18
modules/nixos/system/networking.nix
Normal file
18
modules/nixos/system/networking.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
config = {
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [80 443];
|
||||
};
|
||||
|
||||
wireless.enable = lib.mkIf config.marleycfg.profiles.server false;
|
||||
};
|
||||
};
|
||||
}
|
11
modules/nixos/system/nix.nix
Normal file
11
modules/nixos/system/nix.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
config = {
|
||||
nix = {
|
||||
settings = {
|
||||
trusted-users = [
|
||||
"@wheel"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
51
modules/nixos/users.nix
Normal file
51
modules/nixos/users.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
my = {
|
||||
name = "marley";
|
||||
username = "punkfairie";
|
||||
fullName = "Marley Rae";
|
||||
email = "marley@punkfairie.net";
|
||||
};
|
||||
|
||||
desktopPass = "$y$j9T$ztWf9WeUCENC2T12qS4mi1$51ihV/5cQ8mdJJrNe7MMguk4hPB61S5xHawsfi.1hL3";
|
||||
serverPass = "$y$j9T$8hA7OWZsdQMHqYIy8LkYQ1$hFeP2ak3QA4FtoIYIwqPg10//ZOSZrAw1PzJj0PuGSA";
|
||||
in {
|
||||
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||
|
||||
config = {
|
||||
marleycfg.my = {
|
||||
inherit (my) name username fullName email;
|
||||
};
|
||||
|
||||
users = {
|
||||
mutableUsers = false;
|
||||
|
||||
groups = {
|
||||
"compat" = {
|
||||
gid = 1000;
|
||||
};
|
||||
};
|
||||
|
||||
users."${my.name}" = {
|
||||
isNormalUser = true;
|
||||
description = my.fullName;
|
||||
extraGroups =
|
||||
["wheel" "compat"]
|
||||
++ (lib.optional config.networking.networkmanager.enable "networkmanager")
|
||||
++ (lib.optional config.virtualisation.docker.enable "docker");
|
||||
hashedPassword =
|
||||
if config.marleycfg.profiles.server
|
||||
then serverPass
|
||||
else desktopPass;
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users."${my.name}" = {
|
||||
home.homeDirectory = "/home/${my.name}";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
system,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.snowfall.system) is-darwin;
|
||||
|
||||
cfg = config.marleyos.appearance.base;
|
||||
inherit (config.marleyos) isDesktop;
|
||||
in {
|
||||
options.marleyos.appearance.base.enable = lib.mkEnableOption "base";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
marleyos = {
|
||||
apps = {
|
||||
pinentry =
|
||||
if isDesktop
|
||||
then pkgs.pinentry-gtk2
|
||||
else pkgs.pinentry-curses;
|
||||
};
|
||||
};
|
||||
|
||||
stylix = {
|
||||
iconTheme = {
|
||||
package = pkgs.kora-icon-theme;
|
||||
dark = "kora";
|
||||
light = "kora-light-panel";
|
||||
};
|
||||
|
||||
fonts.sizes.terminal = lib.mkIf (is-darwin system) 14;
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
kora-icon-theme
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.appearance.qt;
|
||||
in {
|
||||
options.marleyos.appearance.qt.enable = lib.mkEnableOption "qt";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
qt = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.nixGL;
|
||||
in {
|
||||
options.marleyos.nixGL.enable = lib.mkEnableOption "nixGL";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
nixGL = {
|
||||
inherit (inputs.nixgl) packages;
|
||||
defaultWrapper = "nvidia";
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue