Compare commits

...

2 commits

74 changed files with 368 additions and 585 deletions

View file

@ -578,9 +578,7 @@
"neotab-nvim": "neotab-nvim",
"neovim-nightly": "neovim-nightly",
"nerdy-nvim": "nerdy-nvim",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs": "nixpkgs_2",
"nvim-emmet": "nvim-emmet"
},
"locked": {
@ -738,6 +736,22 @@
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1736798957,
"narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1736523798,
"narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=",
@ -753,7 +767,7 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_4": {
"locked": {
"lastModified": 1710272261,
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
@ -830,7 +844,7 @@
"lix": "lix",
"marleyvim": "marleyvim",
"nixgl": "nixgl",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs_3",
"nur": "nur",
"rofi-themes": "rofi-themes",
"rose-pine": "rose-pine",
@ -876,7 +890,7 @@
"rose-pine-hyprcursor": {
"inputs": {
"hyprlang": "hyprlang",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_4",
"utils": "utils"
},
"locked": {

View file

@ -78,10 +78,7 @@
rose-pine.url = "git+https://codewith.babesonthe.net/punkfairie/rose-pine-nix";
marleyvim = {
url = "git+https://codewith.babesonthe.net/punkfairie/marleyvim";
inputs.nixpkgs.follows = "nixpkgs";
};
marleyvim.url = "git+https://codewith.babesonthe.net/punkfairie/marleyvim";
wezterm = {
url = "github:wez/wezterm?dir=nix";

View file

@ -3,16 +3,12 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.appearance.base;
in
{
options.marleyos.appearance.base.enable = mkEnableOption "base";
in {
options.marleyos.appearance.base.enable = lib.mkEnableOption "base";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
fonts.packages = with pkgs; [
maple-mono-NF
];

View file

@ -1,9 +1,4 @@
{
lib,
config,
...
}:
{
_: {
config = {
homebrew = {
enable = true;

View file

@ -3,13 +3,11 @@
config,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.marleyos.programs.fish;
in {
options.marleyos.programs.fish.enable = mkEnableOption "fish";
options.marleyos.programs.fish.enable = lib.mkEnableOption "fish";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.fish = {
enable = true;

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.wezterm;
in
{
options.marleyos.programs.wezterm.enable = mkEnableOption "wezterm";
in {
options.marleyos.programs.wezterm.enable = lib.mkEnableOption "wezterm";
config = mkIf cfg.enable {
homebrew.casks = [ "wezterm" ];
config = lib.mkIf cfg.enable {
homebrew.casks = ["wezterm"];
};
}

View file

@ -4,20 +4,18 @@
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.appearance.base;
inherit (config.marleyos) isDesktop;
in {
options.marleyos.appearance.base.enable = mkEnableOption "base";
options.marleyos.appearance.base.enable = lib.mkEnableOption "base";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
rose-pine = {
enable = true;
flavor = "main";
};
rose-pine.pointerCursor.enable = mkIf config.rose-pine.enable true;
rose-pine.pointerCursor.enable = lib.mkIf config.rose-pine.enable true;
marleyos = {
theme = {

View file

@ -3,20 +3,17 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
inherit (lib.marleyos) enabled;
cfg = config.marleyos.appearance.gtk;
in {
options.marleyos.appearance.gtk.enable = mkEnableOption "gtk";
options.marleyos.appearance.gtk.enable = lib.mkEnableOption "gtk";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.pointerCursor.gtk.enable = true;
gtk = {
enable = true;
rose-pine = mkIf config.rose-pine.enable enabled;
rose-pine.enable = lib.mkIf config.rose-pine.enable true;
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
};

View file

@ -4,14 +4,12 @@
inputs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.appearance.qt;
in {
options.marleyos.appearance.qt.enable = mkEnableOption "qt";
options.marleyos.appearance.qt.enable = lib.mkEnableOption "qt";
config = mkIf cfg.enable {
xdg.configFile = mkIf config.rose-pine.enable {
config = lib.mkIf cfg.enable {
xdg.configFile = lib.mkIf config.rose-pine.enable {
"qt5ct/colors/rose-pine.conf" = {
source = "${inputs.rose-pine-qt5ct}/rose-pine.conf";
};

View file

@ -2,13 +2,9 @@
lib,
system,
...
}:
let
inherit (lib) mkIf;
}: let
inherit (lib.snowfall.system) is-linux;
inherit (lib.marleyos) enabled;
in
{
in {
# Anything in this folder should not include an enable/disable option. This is
# the only folder that is always applied.
config = {
@ -21,9 +17,9 @@ in
home.language.base = "en_US.UTF-8";
programs.home-manager = enabled;
programs.home-manager.enable = true;
# Autostart wanted systemd services.
systemd.user.startServices = mkIf (is-linux system) true;
systemd.user.startServices = lib.mkIf (is-linux system) true;
};
}

View file

@ -4,22 +4,18 @@
system,
pkgs,
...
}:
let
inherit (lib) mkMerge mkIf;
}: let
inherit (lib.snowfall.system) is-linux;
inherit (config.marleyos) isDesktop;
in
{
in {
config = {
home.preferXdgDirectories = true;
xdg =
let
homeDir = config.home.homeDirectory;
in
mkMerge [
xdg = let
homeDir = config.home.homeDirectory;
in
lib.mkMerge [
{
enable = true;
@ -29,7 +25,7 @@ in
stateHome = "${homeDir}/.local/state";
}
(mkIf (isDesktop && (is-linux system)) {
(lib.mkIf (isDesktop && (is-linux system)) {
userDirs = {
enable = true;
createDirectories = true;
@ -46,28 +42,28 @@ in
portal = {
enable = true;
xdgOpenUsePortal = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
config.common.default = [ "gtk" ];
extraPortals = [pkgs.xdg-desktop-portal-gtk];
config.common.default = ["gtk"];
};
mimeApps = rec {
enable = true;
associations.added = {
"application/json" = [ "nvim.desktop" ];
"application/pdf" = [ "org.pwmt.zathura-pdf-mupdf.desktop" ];
"application/xhtml+xml" = [ "zen-alpha.desktop" ];
"application/x-extension-htm" = [ "zen-alpha.desktop" ];
"application/x-extension-html" = [ "zen-alpha.desktop" ];
"application/x-extension-shtml" = [ "zen-alpha.desktop" ];
"application/x-extension-xhtml" = [ "zen-alpha.desktop" ];
"application/x-extension-xht" = [ "zen-alpha.desktop" ];
"image/png" = [ "feh.desktop" ];
"text/html" = [ "zen-alpha.desktop" ];
"text/plain" = [ "nvim.desktop" ];
"x-scheme-handler/chrome" = [ "zen-alpha.desktop" ];
"x-scheme-handler/http" = [ "zen-alpha.desktop" ];
"x-scheme-handler/https" = [ "zen-alpha.desktop" ];
"application/json" = ["nvim.desktop"];
"application/pdf" = ["org.pwmt.zathura-pdf-mupdf.desktop"];
"application/xhtml+xml" = ["zen-alpha.desktop"];
"application/x-extension-htm" = ["zen-alpha.desktop"];
"application/x-extension-html" = ["zen-alpha.desktop"];
"application/x-extension-shtml" = ["zen-alpha.desktop"];
"application/x-extension-xhtml" = ["zen-alpha.desktop"];
"application/x-extension-xht" = ["zen-alpha.desktop"];
"image/png" = ["feh.desktop"];
"text/html" = ["zen-alpha.desktop"];
"text/plain" = ["nvim.desktop"];
"x-scheme-handler/chrome" = ["zen-alpha.desktop"];
"x-scheme-handler/http" = ["zen-alpha.desktop"];
"x-scheme-handler/https" = ["zen-alpha.desktop"];
};
defaultApplications = associations.added;

View file

@ -3,16 +3,12 @@
config,
inputs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.nixGL;
in
{
options.marleyos.nixGL.enable = mkEnableOption "nixGL";
in {
options.marleyos.nixGL.enable = lib.mkEnableOption "nixGL";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
nixGL = {
inherit (inputs.nixgl) packages;
defaultWrapper = "nvidia";

View file

@ -1,10 +1,6 @@
{ lib, ... }:
let
inherit (lib) mkOption types;
in
{
options.marleyos.isDesktop = mkOption {
type = with types; bool;
{lib, ...}: {
options.marleyos.isDesktop = lib.mkOption {
type = with lib.types; bool;
default = false;
description = "Whether this machine is used as a graphical desktop.";
};

View file

@ -2,71 +2,60 @@
lib,
config,
...
}:
let
inherit (lib)
mkOption
types
mkDefault
mkIf
;
in
{
}: {
options.marleyos.my = rec {
name = mkOption {
type = with types; str;
name = lib.mkOption {
type = with lib.types; str;
default = config.snowfallorg.user.name or "marley";
description = "Your username, for use as your login name.";
};
username = mkOption {
type = with types; str;
username = lib.mkOption {
type = with lib.types; str;
default = name;
description = "Your username, for external profiles.";
};
fullName = mkOption {
type = with types; str;
fullName = lib.mkOption {
type = with lib.types; str;
default = name;
description = "Your full name, for display purposes.";
};
email = mkOption {
type = with types; nullOr str;
email = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
description = "Your email";
};
git.name = mkOption {
type = with types; str;
git.name = lib.mkOption {
type = with lib.types; str;
default = username;
description = "Your git committer name.";
};
git.email = mkOption {
type = with types; nullOr str;
git.email = lib.mkOption {
type = with lib.types; nullOr str;
default = email;
description = "Your git committer email.";
};
};
config =
let
cfg = config.marleyos.my;
in
{
assertions = [
{
assertion = cfg.name != null;
message = "marleyos.my.name must be set.";
}
];
config = let
cfg = config.marleyos.my;
in {
assertions = [
{
assertion = cfg.name != null;
message = "marleyos.my.name must be set.";
}
];
home.username = mkDefault cfg.name;
home.username = lib.mkDefault cfg.name;
programs.git = {
userName = mkDefault cfg.git.name;
userEmail = mkDefault cfg.git.email;
};
programs.git = {
userName = lib.mkDefault cfg.git.name;
userEmail = lib.mkDefault cfg.git.email;
};
};
}

View file

@ -1,24 +1,19 @@
{ config, lib, ... }:
let
inherit (lib)
types
mkOption
attrsets
literalExpression
mkIf
;
{
config,
lib,
...
}: let
# https://github.com/nix-community/home-manager/blob/master/modules/programs/fish.nix
abbrModule = types.submodule {
abbrModule = lib.types.submodule {
options = {
expansion = mkOption {
type = with types; nullOr str;
expansion = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
description = "The command expanded by an abbreviation.";
};
position = mkOption {
type = with types; nullOr str;
position = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
example = "anywhere";
description = ''
@ -28,16 +23,16 @@ let
'';
};
regex = mkOption {
type = with types; nullOr str;
regex = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
description = ''
The regular expression pattern matched instead of the literal name.
'';
};
setCursor = mkOption {
type = with types; (either bool str);
setCursor = lib.mkOption {
type = with lib.types; (either bool str);
default = false;
description = ''
The marker indicates the position of the cursor when the abbreviation
@ -46,35 +41,39 @@ let
'';
};
function = mkOption {
type = with types; nullOr str;
function = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
description = "The fish function expanded instead of a literal string.";
};
};
};
removeFishOnly = attrsets.filterAttrs (
removeFishOnly = lib.attrsets.filterAttrs (
_: v:
if (builtins.isAttrs v) then
!(
(v ? regex) || (v ? setCursor) || (v ? function) || ((v ? position) && (v.position == "anywhere"))
)
else
true
if (builtins.isAttrs v)
then
!(
(v ? regex) || (v ? setCursor) || (v ? function) || ((v ? position) && (v.position == "anywhere"))
)
else true
);
abbrToAlias = attrsets.mapAttrs (
_: v: if (builtins.isAttrs v) then v.expansion else v
) removeFishOnly;
in
{
abbrToAlias =
lib.attrsets.mapAttrs (
_: v:
if (builtins.isAttrs v)
then v.expansion
else v
)
removeFishOnly;
in {
options = {
# https://github.com/nix-community/home-manager/blob/master/modules/programs/fish.nix
home.shellAbbrs = mkOption {
type = with types; attrsOf (either str abbrModule);
default = { };
example = literalExpression ''
home.shellAbbrs = lib.mkOption {
type = with lib.types; attrsOf (either str abbrModule);
default = {};
example = lib.literalExpression ''
{
l = "less";
gco = "git checkout";
@ -92,14 +91,12 @@ in
};
};
config =
let
fishCfg = config.programs.fish;
inherit (config.home) shellAbbrs;
in
{
programs.fish.shellAbbrs = mkIf fishCfg.enable shellAbbrs;
config = let
fishCfg = config.programs.fish;
inherit (config.home) shellAbbrs;
in {
programs.fish.shellAbbrs = lib.mkIf fishCfg.enable shellAbbrs;
home.shellAliases = mkIf (!fishCfg.enable) (abbrToAlias shellAbbrs);
};
home.shellAliases = lib.mkIf (!fishCfg.enable) (abbrToAlias shellAbbrs);
};
}

View file

@ -5,8 +5,6 @@
inputs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.amfora;
theme =
@ -18,9 +16,9 @@
};
themeFile = themeFiles."${theme}";
in {
options.marleyos.programs.amfora.enable = mkEnableOption "amfora";
options.marleyos.programs.amfora.enable = lib.mkEnableOption "amfora";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
amfora
];

View file

@ -4,13 +4,11 @@
# pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.bat;
in {
options.marleyos.programs.bat.enable = mkEnableOption "bat";
options.marleyos.programs.bat.enable = lib.mkEnableOption "bat";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.bat = {
enable = true;

View file

@ -3,13 +3,11 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.btop;
in {
options.marleyos.programs.btop.enable = mkEnableOption "btop";
options.marleyos.programs.btop.enable = lib.mkEnableOption "btop";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.btop = {
enable = true;

View file

@ -3,16 +3,12 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.calibre;
in
{
options.marleyos.programs.calibre.enable = mkEnableOption "calibre";
in {
options.marleyos.programs.calibre.enable = lib.mkEnableOption "calibre";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
calibre
];

View file

@ -3,13 +3,11 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.cava;
in {
options.marleyos.programs.cava.enable = mkEnableOption "cava";
options.marleyos.programs.cava.enable = lib.mkEnableOption "cava";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.cava = {
# FIX: Re-enable once https://github.com/NixOS/nixpkgs/pull/355948 is
# ported to nixpkgs/unstable

View file

@ -4,15 +4,13 @@
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.cheat;
toYAML = (pkgs.formats.yaml {}).generate;
in {
options.marleyos.programs.cheat.enable = mkEnableOption "cheat";
options.marleyos.programs.cheat.enable = lib.mkEnableOption "cheat";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
cheat
];

View file

@ -3,21 +3,18 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.curl;
in
{
options.marleyos.programs.curl.enable = mkEnableOption "curl";
in {
options.marleyos.programs.curl.enable = lib.mkEnableOption "curl";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
curl
];
xdg.configFile.".curlrc".text = # ini
xdg.configFile.".curlrc".text =
# ini
''
# Limit the timeout in seconds.
connect-timeout = 60
@ -31,6 +28,5 @@ in
# Disguise as IE 9 on Windows 7.
user-agent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
'';
};
}

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.eza;
in
{
options.marleyos.programs.eza.enable = mkEnableOption "eza";
in {
options.marleyos.programs.eza.enable = lib.mkEnableOption "eza";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.eza = {
enable = true;

View file

@ -3,16 +3,12 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.figlet;
in
{
options.marleyos.programs.figlet.enable = mkEnableOption "figlet";
in {
options.marleyos.programs.figlet.enable = lib.mkEnableOption "figlet";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
marleyos.figlet-xero-fonts
];
@ -20,7 +16,8 @@ in
programs.fish.functions = {
figlet = {
wraps = "figlet";
body = # fish
body =
# fish
''
command figlet -f "ANSI Shadow" $argv
'';

View file

@ -5,14 +5,13 @@
system,
...
}: let
inherit (lib) mkEnableOption mkIf optionals;
inherit (lib.snowfall.system) is-linux is-darwin;
cfg = config.marleyos.programs.fish;
in {
options.marleyos.programs.fish.enable = mkEnableOption "fish";
options.marleyos.programs.fish.enable = lib.mkEnableOption "fish";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs;
[
# general
@ -31,8 +30,8 @@ in {
pax
]
# unrar-free is broken on darwin :(
++ (optionals (is-linux system) [unrar-free])
++ (optionals (is-darwin system) [unrar]);
++ (lib.optionals (is-linux system) [unrar-free])
++ (lib.optionals (is-darwin system) [unrar]);
programs.fish = {
enable = true;

View file

@ -4,13 +4,11 @@
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.floorp;
in {
options.marleyos.programs.floorp.enable = mkEnableOption "floorp";
options.marleyos.programs.floorp.enable = lib.mkEnableOption "floorp";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.floorp = {
enable = true;

View file

@ -3,8 +3,6 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.fzf;
has-ripgrep = config.programs.ripgrep.enable;
@ -15,9 +13,9 @@
has-delta = config.programs.git.delta.enable;
has-difft = config.programs.git.difftastic.enable;
in {
options.marleyos.programs.fzf.enable = mkEnableOption "fzf";
options.marleyos.programs.fzf.enable = lib.mkEnableOption "fzf";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.fzf = {
enable = true;

View file

@ -1,18 +1,13 @@
{
lib,
config,
namespace,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.gh;
in
{
options.marleyos.programs.gh.enable = mkEnableOption "gh";
in {
options.marleyos.programs.gh.enable = lib.mkEnableOption "gh";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.gh = {
enable = true;
gitCredentialHelper.enable = true;

View file

@ -3,11 +3,9 @@
config,
...
}: let
inherit (lib) mkIf;
cfg = config.marleyos.programs.git;
in {
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
# █████╗ ██╗ ██╗ █████╗ ███████╗███████╗███████╗
# ██╔══██╗██║ ██║██╔══██╗██╔════╝██╔════╝██╔════╝
# ███████║██║ ██║███████║███████╗█████╗ ███████╗

View file

@ -4,17 +4,15 @@
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.git;
in {
options.marleyos.programs.git.enable = mkEnableOption "git";
options.marleyos.programs.git.enable = lib.mkEnableOption "git";
imports = [
./aliases.nix
];
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
gum
config.marleyos.apps.clipboard

View file

@ -3,17 +3,13 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.glow;
toYAML = (pkgs.formats.yaml { }).generate;
in
{
options.marleyos.programs.glow.enable = mkEnableOption "glow";
toYAML = (pkgs.formats.yaml {}).generate;
in {
options.marleyos.programs.glow.enable = lib.mkEnableOption "glow";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
glow
];

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.gpg;
in
{
options.marleyos.programs.gpg.enable = mkEnableOption "gpg";
in {
options.marleyos.programs.gpg.enable = lib.mkEnableOption "gpg";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.gpg = {
enable = true;
};

View file

@ -2,20 +2,16 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.hyfetch;
in
{
options.marleyos.programs.hyfetch.enable = mkEnableOption "hyfetch";
in {
options.marleyos.programs.hyfetch.enable = lib.mkEnableOption "hyfetch";
imports = [
./neofetch.nix
];
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.hyfetch = {
enable = true;
@ -26,13 +22,13 @@ in
lightness = 0.7;
color_align = {
mode = "horizontal";
custom_colors = [ ];
custom_colors = [];
fore_back = null;
};
backend = "neofetch";
args = null;
distro = null;
pride_month_shown = [ ];
pride_month_shown = [];
pride_month_disable = false;
};
};

View file

@ -3,20 +3,17 @@
config,
pkgs,
...
}:
let
inherit (lib) mkIf;
}: let
cfg = config.marleyos.programs.hyfetch;
in
{
config = mkIf cfg.enable {
in {
config = lib.mkIf cfg.enable {
# TODO: Switch to fastfetch
home.packages = with pkgs; [
neofetch
];
xdg.configFile."neofetch/config.conf".text = # bash
xdg.configFile."neofetch/config.conf".text =
# bash
''
print_info() {
prin " "

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.journalctl;
in
{
options.marleyos.programs.journalctl.enable = mkEnableOption "journalctl";
in {
options.marleyos.programs.journalctl.enable = lib.mkEnableOption "journalctl";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.shellAbbrs = {
jctlf = "sudo journalctl --follow --unit";
jctle = "sudo journalctl --pager-end --unit";

View file

@ -3,16 +3,12 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.just;
in
{
options.marleyos.programs.just.enable = mkEnableOption "just";
in {
options.marleyos.programs.just.enable = lib.mkEnableOption "just";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
just
];

View file

@ -2,18 +2,14 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.lazygit;
has-delta = config.programs.git.delta.enable;
has-difft = config.programs.git.difftastic.enable;
in
{
options.marleyos.programs.lazygit.enable = mkEnableOption "lazygit";
in {
options.marleyos.programs.lazygit.enable = lib.mkEnableOption "lazygit";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.lazygit = {
enable = true;

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.less;
in
{
options.marleyos.programs.less.enable = mkEnableOption "less";
in {
options.marleyos.programs.less.enable = lib.mkEnableOption "less";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.less.enable = true;
home.sessionVariables = {

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.man;
in
{
options.marleyos.programs.man.enable = mkEnableOption "man";
in {
options.marleyos.programs.man.enable = lib.mkEnableOption "man";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.man.enable = true;
home.sessionVariables = {

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.ncmpcpp;
in
{
options.marleyos.programs.ncmpcpp.enable = mkEnableOption "ncmpcpp";
in {
options.marleyos.programs.ncmpcpp.enable = lib.mkEnableOption "ncmpcpp";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.ncmpcpp.enable = true;
};
}

View file

@ -3,16 +3,12 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.neo;
in
{
options.marleyos.programs.neo.enable = mkEnableOption "neo";
in {
options.marleyos.programs.neo.enable = lib.mkEnableOption "neo";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
neo
];
@ -20,7 +16,8 @@ in
programs.fish.functions = {
neo = {
wraps = "neo";
body = # fish
body =
# fish
''
command neo --charset=ascii $argv
'';

View file

@ -4,13 +4,11 @@
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.neovim;
in {
options.marleyos.programs.neovim.enable = mkEnableOption "neovim";
options.marleyos.programs.neovim.enable = lib.mkEnableOption "neovim";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
nvim-pkg
];

View file

@ -3,21 +3,17 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf mkDefault;
}: let
cfg = config.marleyos.programs.nh;
home = config.home.homeDirectory;
in
{
options.marleyos.programs.nh.enable = mkEnableOption "nh";
in {
options.marleyos.programs.nh.enable = lib.mkEnableOption "nh";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
nh
];
home.sessionVariables.FLAKE = mkDefault "${home}/marleyos";
home.sessionVariables.FLAKE = lib.mkDefault "${home}/marleyos";
};
}

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.rbw;
in
{
options.marleyos.programs.rbw.enable = mkEnableOption "rbw";
in {
options.marleyos.programs.rbw.enable = lib.mkEnableOption "rbw";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.rbw = {
enable = true;

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.ripgrep;
in
{
options.marleyos.programs.ripgrep.enable = mkEnableOption "ripgrep";
in {
options.marleyos.programs.ripgrep.enable = lib.mkEnableOption "ripgrep";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.ripgrep.enable = true;
};
}

View file

@ -5,14 +5,12 @@
inputs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.rofi;
hasXorg = config.xsession.enable;
in {
options.marleyos.programs.rofi.enable = mkEnableOption "rofi";
options.marleyos.programs.rofi.enable = lib.mkEnableOption "rofi";
config = mkIf (cfg.enable && hasXorg) {
config = lib.mkIf (cfg.enable && hasXorg) {
home.packages = with pkgs; [
rofi
];

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.ssh;
in
{
options.marleyos.programs.ssh.enable = mkEnableOption "ssh";
in {
options.marleyos.programs.ssh.enable = lib.mkEnableOption "ssh";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.ssh = {
enable = true;

View file

@ -2,32 +2,24 @@
lib,
config,
...
}:
let
inherit (lib)
mkEnableOption
mkIf
;
inherit (lib.marleyos) disabled;
}: let
cfg = config.marleyos.programs.starship;
in
{
options.marleyos.programs.starship.enable = mkEnableOption "starship";
in {
options.marleyos.programs.starship.enable = lib.mkEnableOption "starship";
imports = [
./nerd-font-symbols.nix
./rose-pine.nix
];
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.starship = {
enable = true;
enableTransience = true;
# Using my own version because I made so many fixes it wasn't worth...
rose-pine = disabled;
rose-pine.enable = false;
};
};
}

View file

@ -2,14 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkIf mkForce;
}: let
inherit (lib) mkForce;
cfg = config.marleyos.programs.starship;
in
{
config = mkIf cfg.enable {
in {
config = lib.mkIf cfg.enable {
programs.starship.settings = {
aws.symbol = mkForce " ";
buf.symbol = mkForce " ";

View file

@ -3,16 +3,16 @@
config,
...
}: let
inherit (lib) mkIf mkDefault concatStrings;
inherit (lib) mkDefault;
cfg = config.marleyos.programs.starship;
in {
config = mkIf (cfg.enable && config.rose-pine.enable) {
config = lib.mkIf (cfg.enable && config.rose-pine.enable) {
programs.starship.settings = let
mkFormat = t: " [](fg:overlay)[${t}]($style)[](fg:overlay) ";
langFormat = mkFormat "$symbol$version";
in {
format = mkDefault (concatStrings [
format = mkDefault (lib.concatStrings [
"$username"
"$directory"
"$nix_shell"

View file

@ -2,16 +2,12 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.systemctl;
in
{
options.marleyos.programs.systemctl.enable = mkEnableOption "systemctl";
in {
options.marleyos.programs.systemctl.enable = lib.mkEnableOption "systemctl";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.shellAbbrs = {
sctl = "sudo systemctl";
sctls = "sudo systemctl status";

View file

@ -4,13 +4,11 @@
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.tmux;
in {
options.marleyos.programs.tmux.enable = mkEnableOption "tmux";
options.marleyos.programs.tmux.enable = lib.mkEnableOption "tmux";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.tmux = {
enable = true;

View file

@ -3,16 +3,12 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.vesktop;
in
{
options.marleyos.programs.vesktop.enable = mkEnableOption "vesktop";
in {
options.marleyos.programs.vesktop.enable = lib.mkEnableOption "vesktop";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
vesktop
];

View file

@ -3,21 +3,18 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.wget;
in
{
options.marleyos.programs.wget.enable = mkEnableOption "wget";
in {
options.marleyos.programs.wget.enable = lib.mkEnableOption "wget";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
wget
];
xdg.configFile."wgetrc".text = # wget
xdg.configFile."wgetrc".text =
# wget
''
# Use the server-provided last modification date, if available.
timestamping = on

View file

@ -3,13 +3,11 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.wofi;
in {
options.marleyos.programs.wofi.enable = mkEnableOption "wofi";
options.marleyos.programs.wofi.enable = lib.mkEnableOption "wofi";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
marleyos.apps.launcher = {
inherit (config.programs.wofi) package;
command = "--show drun";

View file

@ -3,13 +3,11 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.zathura;
in {
options.marleyos.programs.zathura.enable = mkEnableOption "zathura";
options.marleyos.programs.zathura.enable = lib.mkEnableOption "zathura";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.zathura = {
enable = true;
};

View file

@ -2,20 +2,16 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.programs.zoxide;
in
{
options.marleyos.programs.zoxide.enable = mkEnableOption "zoxide";
in {
options.marleyos.programs.zoxide.enable = lib.mkEnableOption "zoxide";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.zoxide = {
enable = true;
options = [ "--cmd cd" ];
options = ["--cmd cd"];
};
};
}

View file

@ -3,16 +3,12 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.services.clipboard;
in
{
options.marleyos.services.clipboard.enable = mkEnableOption "clipboard";
in {
options.marleyos.services.clipboard.enable = lib.mkEnableOption "clipboard";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = with pkgs; [
clipboard-jh
];

View file

@ -3,8 +3,6 @@
config,
...
}: let
inherit (lib.marleyos) disabled;
cfg = config.marleyos.services.dunst;
in {
options.marleyos.services.dunst.enable = lib.mkEnableOption "dunst";
@ -16,7 +14,7 @@ in {
# I don't want to use the rose-pine icons; also don't want to deal with
# the drop-in weirdness.
# TODO: Convert dunst.rose-pine to attr set to fix this.
rose-pine = disabled;
rose-pine.enable = true;
settings = lib.mkMerge [
### Rose Pine ###

View file

@ -5,18 +5,17 @@
system,
...
}: let
inherit (lib) mkEnableOption mkIf getExe;
inherit (lib.snowfall.system) is-darwin;
cfg = config.marleyos.services.kanata;
isGenericLinux = config.targets.genericLinux.enable;
isNotNixOS = isGenericLinux || (is-darwin system);
in {
options.marleyos.services.kanata.enable = mkEnableOption "kanata";
options.marleyos.services.kanata.enable = lib.mkEnableOption "kanata";
# Kanata is available as a module for nixOS and that should be preferred when
# possible.
config = mkIf (cfg.enable && isNotNixOS) {
config = lib.mkIf (cfg.enable && isNotNixOS) {
home.packages = with pkgs; [
kanata
];
@ -33,7 +32,7 @@ in {
"DISPLAY=:0"
];
Type = "simple";
ExecStart = "/bin/sh -c 'exec ${getExe pkgs.kanata} --cfg ${./config.kbd}'";
ExecStart = "/bin/sh -c 'exec ${lib.getExe pkgs.kanata} --cfg ${./config.kbd}'";
Restart = "no";
};

View file

@ -4,17 +4,15 @@
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.services.picom;
hasXorg = config.xsession.enable;
in {
options.marleyos.services.picom.enable = mkEnableOption "picom";
options.marleyos.services.picom.enable = lib.mkEnableOption "picom";
config = mkIf (cfg.enable && hasXorg) {
config = lib.mkIf (cfg.enable && hasXorg) {
services.picom = {
enable = true;
package = mkIf config.marleyos.nixGL.enable (config.lib.nixGL.wrap pkgs.picom);
package = lib.mkIf config.marleyos.nixGL.enable (config.lib.nixGL.wrap pkgs.picom);
};
# The module config options are a nightmare.

View file

@ -4,20 +4,18 @@
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf getExe;
cfg = config.marleyos.services.polybar;
hasXorg = config.xsession.enable;
xrandr = getExe pkgs.xorg.xrandr;
grep = getExe pkgs.gnugrep;
xrandr = lib.getExe pkgs.xorg.xrandr;
grep = lib.getExe pkgs.gnugrep;
cut = "${pkgs.coreutils}/bin/cut";
in {
options.marleyos.services.polybar.enable = mkEnableOption "polybar";
options.marleyos.services.polybar.enable = lib.mkEnableOption "polybar";
config = mkIf (cfg.enable && hasXorg) {
config = lib.mkIf (cfg.enable && hasXorg) {
services.polybar = {
enable = true;
package = mkIf config.marleyos.nixGL.enable (config.lib.nixGL.wrap pkgs.polybar);
package = lib.mkIf config.marleyos.nixGL.enable (config.lib.nixGL.wrap pkgs.polybar);
script =
# bash
@ -132,8 +130,8 @@ in {
foreground = color.shade2;
padding = 2;
};
click.left = mkIf hasRofi "${cfgHome}/rofi/launchers/type-1/launcher.sh &";
click.right = mkIf hasRofi "${cfgHome}/rofi/applets/bin/screenshot.sh &";
click.left = lib.mkIf hasRofi "${cfgHome}/rofi/launchers/type-1/launcher.sh &";
click.right = lib.mkIf hasRofi "${cfgHome}/rofi/applets/bin/screenshot.sh &";
};
"module/workspaces" = {
@ -411,7 +409,7 @@ in {
foreground = color.shade2;
padding = 2;
};
click.left = mkIf hasRofi "${cfgHome}/rofi/powermenu/type-1/powermenu.sh &";
click.left = lib.mkIf hasRofi "${cfgHome}/rofi/powermenu/type-1/powermenu.sh &";
};
"module/tray" = {

View file

@ -2,19 +2,14 @@
lib,
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf getExe;
}: let
cfg = config.marleyos.services.screen-locker;
hasXorg = config.xsession.enable;
in
{
options.marleyos.services.screen-locker.enable = mkEnableOption "screen-locker";
in {
options.marleyos.services.screen-locker.enable = lib.mkEnableOption "screen-locker";
config = mkIf (cfg.enable && hasXorg) {
config = lib.mkIf (cfg.enable && hasXorg) {
home.packages = with pkgs; [
betterlockscreen
];
@ -24,8 +19,8 @@ in
inactiveInterval = 20;
# exec xss-lock {xss-lock.extraOptions} -- {lockCmd}
xss-lock.extraOptions = [ "--transfer-sleep-lock" ];
lockCmd = "${getExe pkgs.betterlockscreen} -l";
xss-lock.extraOptions = ["--transfer-sleep-lock"];
lockCmd = "${lib.getExe pkgs.betterlockscreen} -l";
};
};
}

View file

@ -3,16 +3,12 @@
config,
pkgs,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.services.syncthing;
in
{
options.marleyos.services.syncthing.enable = mkEnableOption "syncthing";
in {
options.marleyos.services.syncthing.enable = lib.mkEnableOption "syncthing";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
home.packages = [
config.services.syncthing.tray.package
];

View file

@ -4,8 +4,6 @@
pkgs,
...
}: let
inherit (lib.marleyos) enabled disabled;
cfg = config.marleyos.xorg.i3;
isGenericLinux = config.targets.genericLinux.enable;
in {
@ -13,16 +11,16 @@ in {
config = lib.mkIf cfg.enable {
marleyos = {
programs.rofi = enabled;
programs.rofi.enable = true;
services = {
dunst = enabled;
picom = enabled;
polybar = enabled;
dunst.enable = true;
picom.enable = true;
polybar.enable = true;
# broken on non-nixOS
screen-locker =
screen-locker.enable =
if isGenericLinux
then disabled
else enabled;
then false
else true;
};
};

View file

@ -2,27 +2,25 @@
lib,
config,
...
}:
let
inherit (lib) mkEnableOption mkIf;
}: let
cfg = config.marleyos.xorg.xsession;
in
{
options.marleyos.xorg.xsession.enable = mkEnableOption "xsession";
in {
options.marleyos.xorg.xsession.enable = lib.mkEnableOption "xsession";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
xsession = {
enable = true;
numlock.enable = true;
profileExtra = # sh
profileExtra =
# sh
''
sudo mount -a
'';
initExtra = # sh
initExtra =
# sh
''
mpd &
'';

View file

@ -3,8 +3,6 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.mounts.babeshare;
user = config.users.users."${config.marleyos.my.name}";
@ -21,9 +19,9 @@
"nofail"
];
in {
options.marleyos.mounts.babeshare.enable = mkEnableOption "babeshare";
options.marleyos.mounts.babeshare.enable = lib.mkEnableOption "babeshare";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
boot.supportedFilesystems = {
cifs = true;
};

View file

@ -3,15 +3,13 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf mkForce;
cfg = config.marleyos.nvidia;
in {
options.marleyos.nvidia.enable = mkEnableOption "nvidia";
options.marleyos.nvidia.enable = lib.mkEnableOption "nvidia";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
# NVIDIA drivers are unfree.
nixpkgs.config.allowUnfree = mkForce true;
nixpkgs.config.allowUnfree = lib.mkForce true;
# Load drivers for Xorg and Wayland.
services.xserver.videoDrivers = ["nvidia"];

View file

@ -1,8 +1,6 @@
{lib, ...}: let
inherit (lib) mkOption types;
in {
options.marleyos.hasNvidia = mkOption {
type = with types; bool;
{lib, ...}: {
options.marleyos.hasNvidia = lib.mkOption {
type = with lib.types; bool;
default = false;
description = "Whether this machine has an NVIDIA GPU.";
};

View file

@ -2,34 +2,28 @@
lib,
config,
...
}: let
inherit
(lib)
mkOption
types
;
in {
}: {
options.marleyos.my = rec {
name = mkOption {
type = with types; str;
name = lib.mkOption {
type = with lib.types; str;
default = config.snowfallorg.user.name or "marley";
description = "Your username, for use as your login name.";
};
username = mkOption {
type = with types; str;
username = lib.mkOption {
type = with lib.types; str;
default = name;
description = "Your username, for external profiles.";
};
fullName = mkOption {
type = with types; str;
fullName = lib.mkOption {
type = with lib.types; str;
default = name;
description = "Your full name, for display purposes.";
};
email = mkOption {
type = with types; nullOr str;
email = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
description = "Your email";
};

View file

@ -3,13 +3,11 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.programs.fish;
in {
options.marleyos.programs.fish.enable = mkEnableOption "fish";
options.marleyos.programs.fish.enable = lib.mkEnableOption "fish";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
programs.fish = {
enable = true;
useBabelfish = true;

View file

@ -3,13 +3,11 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.services.ly;
in {
options.marleyos.services.ly.enable = mkEnableOption "ly";
options.marleyos.services.ly.enable = lib.mkEnableOption "ly";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
services.displayManager.ly = {
enable = true;
};

View file

@ -3,13 +3,11 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.services.sddm;
in {
options.marleyos.services.sddm.enable = mkEnableOption "sddm";
options.marleyos.services.sddm.enable = lib.mkEnableOption "sddm";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
services.displayManager.sddm = {
enable = true;
};

View file

@ -3,13 +3,11 @@
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.marleyos.wayland.hyprland;
in {
options.marleyos.wayland.hyprland.enable = mkEnableOption "hyprland";
options.marleyos.wayland.hyprland.enable = lib.mkEnableOption "hyprland";
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
marleyos.programs.hyprlock.enable = true;
programs.hyprland = {