mirror of
https://github.com/daylinmorgan/oizys.git
synced 2024-12-27 14:10:45 -06:00
Compare commits
3 commits
7b04cf6274
...
f3a5290a80
Author | SHA1 | Date | |
---|---|---|---|
f3a5290a80 | |||
60a6311a0d | |||
49b9b107a4 |
9 changed files with 106 additions and 132 deletions
|
@ -6,7 +6,7 @@
|
|||
lib = nixpkgs.lib.extend (import ./extended.nix);
|
||||
|
||||
inherit (builtins) mapAttrs readDir filter listToAttrs;
|
||||
inherit (lib) nixosSystem genAttrs isNixFile;
|
||||
inherit (lib) nixosSystem genAttrs isNixFile mkDefaultOizysModule mkOizysModule;
|
||||
inherit (lib.filesystem) listFilesRecursive;
|
||||
|
||||
inherit (import ./find-modules.nix {inherit lib;}) findModulesList;
|
||||
|
@ -29,16 +29,14 @@ in rec {
|
|||
isNixFile
|
||||
(listFilesRecursive (../. + "/hosts/${hostname}"));
|
||||
|
||||
specialArgs = {inherit inputs lib self;};
|
||||
specialArgs = {inherit inputs lib self mkDefaultOizysModule mkOizysModule;};
|
||||
};
|
||||
|
||||
oizysHosts = mapAttrs (name: _: mkSystem name) (readDir ../hosts);
|
||||
oizysPkg = forAllSystems (
|
||||
pkgs: let
|
||||
pkg = pkgs.callPackage ../oizys {};
|
||||
in {
|
||||
oizys = pkg;
|
||||
default = pkg;
|
||||
pkgs: rec {
|
||||
oizys = pkgs.callPackage ../oizys {};
|
||||
default = oizys;
|
||||
}
|
||||
);
|
||||
devShells = forAllSystems (
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
final: prev: let
|
||||
inherit (final) hasSuffix mkEnableOption mkIf;
|
||||
inherit (final) hasSuffix mkEnableOption mkIf mkOption types;
|
||||
runes = import ../modules/runes;
|
||||
in rec {
|
||||
enabled = {enable = true;};
|
||||
|
@ -33,4 +33,12 @@ in rec {
|
|||
options.oizys.${attr}.enable = mkEnableOption "enable ${attr} support";
|
||||
config = mkIf config.oizys.${attr}.enable content;
|
||||
};
|
||||
mkDefaultOizysModule = config: attr: content: {
|
||||
options.oizys.${attr}.enable = mkOption {
|
||||
default = true;
|
||||
description = "enable ${attr} support";
|
||||
type = types.bool;
|
||||
};
|
||||
config = mkIf config.oizys.${attr}.enable content;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
inputs,
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
mkOizysModule,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOizysModule enabled;
|
||||
lock = pkgs.writeShellApplication {
|
||||
name = "lock";
|
||||
runtimeInputs = with pkgs; [swaylock];
|
||||
|
@ -15,7 +14,7 @@
|
|||
};
|
||||
in
|
||||
mkOizysModule config "hyprland" {
|
||||
programs.hyprland = enabled;
|
||||
programs.hyprland.enable = true;
|
||||
security.pam.services.swaylock = {};
|
||||
# Optional, hint electron apps to use wayland:
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
|
|
@ -1,39 +1,29 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
mkDefaultOizysModule,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOption mkIf types;
|
||||
cfg = config.oizys.cli;
|
||||
in {
|
||||
options.oizys.cli.enable = mkOption {
|
||||
default = true;
|
||||
description = "Whether to enable cli.";
|
||||
type = types.bool;
|
||||
}:
|
||||
mkDefaultOizysModule config "cli" {
|
||||
programs.direnv.enable = true;
|
||||
environment.sessionVariables = {
|
||||
DIRENV_LOG_FORMAT = "[2mdirenv: %s[0m";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.direnv.enable = true;
|
||||
environment.sessionVariables = {
|
||||
DIRENV_LOG_FORMAT = "[2mdirenv: %s[0m";
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
chezmoi
|
||||
zoxide
|
||||
lsd
|
||||
fzf
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
chezmoi
|
||||
zoxide
|
||||
lsd
|
||||
fzf
|
||||
# utils
|
||||
fd
|
||||
bat
|
||||
delta
|
||||
ripgrep
|
||||
|
||||
# utils
|
||||
fd
|
||||
bat
|
||||
delta
|
||||
ripgrep
|
||||
|
||||
btop
|
||||
inputs.tsm.packages.${pkgs.system}.tsm
|
||||
];
|
||||
};
|
||||
btop
|
||||
inputs.tsm.packages.${pkgs.system}.tsm
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
mkOizysModule,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOizysModule;
|
||||
in
|
||||
mkOizysModule config "vpn" {
|
||||
environment.systemPackages = [pkgs.openconnect];
|
||||
}
|
||||
}:
|
||||
mkOizysModule config "vpn" {
|
||||
environment.systemPackages = [pkgs.openconnect];
|
||||
}
|
||||
|
|
|
@ -1,30 +1,28 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
mkOizysModule,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOizysModule;
|
||||
in
|
||||
mkOizysModule config "chrome" {
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
}:
|
||||
mkOizysModule config "chrome" {
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
|
||||
extensions = [
|
||||
"nngceckbapebfimnlniiiahkandclblb" # bitwarden
|
||||
"gfbliohnnapiefjpjlpjnehglfpaknnc" # surfingkeys
|
||||
"pbmlfaiicoikhdbjagjbglnbfcbcojpj" # simplify gmail
|
||||
"oemmndcbldboiebfnladdacbdfmadadm" # pdf viewer
|
||||
"clngdbkpkpeebahjckkjfobafhncgmne" # stylus
|
||||
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
(google-chrome.override {
|
||||
commandLineArgs = [
|
||||
"--force-dark-mode"
|
||||
];
|
||||
})
|
||||
extensions = [
|
||||
"nngceckbapebfimnlniiiahkandclblb" # bitwarden
|
||||
"gfbliohnnapiefjpjlpjnehglfpaknnc" # surfingkeys
|
||||
"pbmlfaiicoikhdbjagjbglnbfcbcojpj" # simplify gmail
|
||||
"oemmndcbldboiebfnladdacbdfmadadm" # pdf viewer
|
||||
"clngdbkpkpeebahjckkjfobafhncgmne" # stylus
|
||||
"cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
|
||||
];
|
||||
}
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
(google-chrome.override {
|
||||
commandLineArgs = [
|
||||
"--force-dark-mode"
|
||||
];
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,37 +1,35 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
mkOizysModule,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOizysModule;
|
||||
in
|
||||
mkOizysModule config "backups" {
|
||||
environment.systemPackages = with pkgs; [rclone];
|
||||
}:
|
||||
mkOizysModule config "backups" {
|
||||
environment.systemPackages = with pkgs; [rclone];
|
||||
|
||||
services.restic.backups.gdrive = {
|
||||
# BUG: if .conda/environments.txt doesn't exist then this won't work
|
||||
# workaround for now `mkdir ~/.conda && touch ~/.conda/environments.txt`
|
||||
services.restic.backups.gdrive = {
|
||||
# BUG: if .conda/environments.txt doesn't exist then this won't work
|
||||
# workaround for now `mkdir ~/.conda && touch ~/.conda/environments.txt`
|
||||
|
||||
extraBackupArgs = [
|
||||
"--exclude-file /home/daylin/.config/restic/excludes.txt"
|
||||
"--exclude-file /home/daylin/.conda/environments.txt"
|
||||
"--verbose"
|
||||
"--one-file-system"
|
||||
"--tag systemd.timer"
|
||||
];
|
||||
pruneOpts = [
|
||||
"--verbose"
|
||||
"--tag systemd.timer"
|
||||
"--keep-daily 7"
|
||||
"--keep-weekly 4"
|
||||
"--keep-monthly 12"
|
||||
"--keep-yearly 3"
|
||||
];
|
||||
timerConfig = {
|
||||
OnCalendar = "00:05";
|
||||
Persistent = true;
|
||||
RandomizedDelaySec = "5h";
|
||||
};
|
||||
extraBackupArgs = [
|
||||
"--exclude-file /home/daylin/.config/restic/excludes.txt"
|
||||
"--exclude-file /home/daylin/.conda/environments.txt"
|
||||
"--verbose"
|
||||
"--one-file-system"
|
||||
"--tag systemd.timer"
|
||||
];
|
||||
pruneOpts = [
|
||||
"--verbose"
|
||||
"--tag systemd.timer"
|
||||
"--keep-daily 7"
|
||||
"--keep-weekly 4"
|
||||
"--keep-monthly 12"
|
||||
"--keep-yearly 3"
|
||||
];
|
||||
timerConfig = {
|
||||
OnCalendar = "00:05";
|
||||
Persistent = true;
|
||||
RandomizedDelaySec = "5h";
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,25 +1,12 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
mkOizysModule,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOizysModule;
|
||||
in
|
||||
mkOizysModule config "docker" {
|
||||
virtualisation.docker.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
lazydocker
|
||||
];
|
||||
}
|
||||
# in {
|
||||
# options.oizys.docker.enable = mkEnableOption "enable docker support";
|
||||
#
|
||||
# config = mkIf cfg.enable {
|
||||
# virtualisation.docker.enable = true;
|
||||
# environment.systemPackages = with pkgs; [
|
||||
# lazydocker
|
||||
# ];
|
||||
# };
|
||||
# }
|
||||
|
||||
}:
|
||||
mkOizysModule config "docker" {
|
||||
virtualisation.docker.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
lazydocker
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
mkOizysModule,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkOizysModule;
|
||||
in
|
||||
mkOizysModule config "vbox" {
|
||||
virtualisation.virtualbox = {
|
||||
host.enable = true;
|
||||
};
|
||||
users.extraGroups.vboxusers.members = ["daylin"];
|
||||
}
|
||||
}:
|
||||
mkOizysModule config "vbox" {
|
||||
virtualisation.virtualbox = {
|
||||
host.enable = true;
|
||||
};
|
||||
users.extraGroups.vboxusers.members = ["daylin"];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue