mirror of
https://github.com/blahai/nyx.git
synced 2025-06-09 23:33:02 -04:00
a lot of shit also baibai home manager, hello hjem
This commit is contained in:
parent
bc82345beb
commit
2c8f822b83
37 changed files with 1277 additions and 168 deletions
7
home/base/programs/default.nix
Normal file
7
home/base/programs/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./defaults.nix
|
||||
./shells.nix
|
||||
./top-level.nix
|
||||
];
|
||||
}
|
93
home/base/programs/defaults.nix
Normal file
93
home/base/programs/defaults.nix
Normal file
|
@ -0,0 +1,93 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkOption;
|
||||
inherit (lib.types) enum nullOr;
|
||||
in {
|
||||
options.olympus.programs.defaults = {
|
||||
shell = mkOption {
|
||||
type = enum [
|
||||
"bash"
|
||||
"fish"
|
||||
];
|
||||
default = "bash";
|
||||
};
|
||||
|
||||
terminal = mkOption {
|
||||
type = enum [
|
||||
"alacritty"
|
||||
"kitty"
|
||||
"wezterm"
|
||||
"foot"
|
||||
];
|
||||
default = "wezterm";
|
||||
};
|
||||
|
||||
fileManager = mkOption {
|
||||
type = enum [
|
||||
"cosmic-files"
|
||||
"thunar"
|
||||
"dolphin"
|
||||
"nemo"
|
||||
"nautilus"
|
||||
];
|
||||
default = "nautilus";
|
||||
};
|
||||
|
||||
browser = mkOption {
|
||||
type = enum [
|
||||
"firefox"
|
||||
"floorp"
|
||||
"chromium"
|
||||
"thorium"
|
||||
];
|
||||
default = "floorp";
|
||||
};
|
||||
|
||||
editor = mkOption {
|
||||
type = enum [
|
||||
"nvim"
|
||||
];
|
||||
default = "nvim";
|
||||
};
|
||||
|
||||
launcher = mkOption {
|
||||
type = nullOr (enum [
|
||||
"rofi"
|
||||
"wofi"
|
||||
"cosmic-launcher"
|
||||
]);
|
||||
default = "wofi";
|
||||
};
|
||||
|
||||
bar = mkOption {
|
||||
type = nullOr (enum [
|
||||
"waybar"
|
||||
"ags"
|
||||
]);
|
||||
default = "ags";
|
||||
};
|
||||
|
||||
screenLocker = mkOption {
|
||||
type = nullOr (enum [
|
||||
"hyprlock"
|
||||
"swaylock"
|
||||
"gtklock"
|
||||
"cosmic-greeter"
|
||||
]);
|
||||
default = "hyprlock";
|
||||
description = ''
|
||||
The lockscreen module to be loaded by hjem.
|
||||
'';
|
||||
};
|
||||
|
||||
noiseSuppressor = mkOption {
|
||||
type = nullOr (enum [
|
||||
"rnnoise"
|
||||
"noisetorch"
|
||||
]);
|
||||
default = "rnnoise";
|
||||
description = ''
|
||||
The noise suppressor to be used for desktop systems with sound enabled.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
16
home/base/programs/shells.nix
Normal file
16
home/base/programs/shells.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.programs) mkProgram;
|
||||
in {
|
||||
options.olympus.programs = {
|
||||
bash = mkProgram pkgs "bash" {
|
||||
enable.default = true;
|
||||
package.default = pkgs.bashInteractive;
|
||||
};
|
||||
|
||||
fish = mkProgram pkgs "fish" {};
|
||||
};
|
||||
}
|
32
home/base/programs/top-level.nix
Normal file
32
home/base/programs/top-level.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
|
||||
cfg = config.olympus.programs;
|
||||
in {
|
||||
# these are options that will cause a mass rebuild by enabling multiple packages
|
||||
options.olympus.programs = {
|
||||
cli = {
|
||||
enable =
|
||||
mkEnableOption "Enable CLI programs"
|
||||
// {
|
||||
default = true;
|
||||
};
|
||||
modernShell.enable = mkEnableOption "Enable programs for a more modern shell";
|
||||
};
|
||||
|
||||
tui.enable =
|
||||
mkEnableOption "Enable TUI programs"
|
||||
// {
|
||||
default = cfg.cli.enable;
|
||||
};
|
||||
|
||||
gui.enable = mkEnableOption "Enable GUI programs";
|
||||
|
||||
pentesting.enable = mkEnableOption "Enable packages designed for pentesting";
|
||||
notes.enable = mkEnableOption "Enable note-taking programs";
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue