wip(home): refactor home modules *WILL NOT BUILD*
This commit is contained in:
parent
2033810429
commit
6a591ecbf7
115 changed files with 1028 additions and 791 deletions
|
|
@ -46,6 +46,11 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nix-index-db = {
|
||||||
|
url = "github:nix-community/nix-index-database";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
# nix shell environment on android
|
# nix shell environment on android
|
||||||
nix-on-droid = {
|
nix-on-droid = {
|
||||||
url = "github:nix-community/nix-on-droid/release-23.11";
|
url = "github:nix-community/nix-on-droid/release-23.11";
|
||||||
|
|
|
||||||
19
home/modules/appearance/cursor.nix
Normal file
19
home/modules/appearance/cursor.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.cursor;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home.pointerCursor = {
|
||||||
|
package = cfg.package;
|
||||||
|
name = cfg.name;
|
||||||
|
size = cfg.size;
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
9
home/modules/appearance/default.nix
Normal file
9
home/modules/appearance/default.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./fonts.nix
|
||||||
|
./cursor.nix
|
||||||
|
./gtk.nix
|
||||||
|
./qt.nix
|
||||||
|
./wallpaper.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
21
home/modules/appearance/fonts.nix
Normal file
21
home/modules/appearance/fonts.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.fonts;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
home.packages = [
|
||||||
|
cfg.monospace.package
|
||||||
|
cfg.regular.package
|
||||||
|
|
||||||
|
pkgs.noto-fonts
|
||||||
|
pkgs.noto-fonts-cjk
|
||||||
|
pkgs.noto-fonts-emoji
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -2,19 +2,15 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) gtkThemeFromScheme;
|
inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) gtkThemeFromScheme;
|
||||||
cfg = config.ooknet.theme.gtk;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.gtk;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.ooknet.theme.gtk = {
|
config = mkIf cfg.enable (rec {
|
||||||
enable = lib.mkEnableOption "Enable gtk theme module";
|
|
||||||
# TODO: add theme option
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (rec {
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = {
|
font = {
|
||||||
name = config.ooknet.theme.fonts.regular.family;
|
name = config.ooknet.fonts.regular.family;
|
||||||
size = 12;
|
size = 12;
|
||||||
};
|
};
|
||||||
theme = {
|
theme = {
|
||||||
16
home/modules/appearance/qt.nix
Normal file
16
home/modules/appearance/qt.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.qt;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme.name = "gtk";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,26 +1,18 @@
|
||||||
{ lib, config, inputs, pkgs, ... }:
|
{ lib, config, inputs, pkgs, osConfig, ... }:
|
||||||
let
|
let
|
||||||
inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) nixWallpaperFromScheme;
|
inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) nixWallpaperFromScheme;
|
||||||
inherit (lib) types mkDefault mkIf mkOption mkEnableOption;
|
inherit (lib) mkDefault mkIf;
|
||||||
|
|
||||||
|
monitors = osConfig.ooknet.host.hardware.monitors;
|
||||||
cfg = config.ooknet.theme.wallpaper;
|
cfg = config.ooknet.theme.wallpaper;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.ooknet.theme.wallpaper = {
|
|
||||||
enable = mkEnableOption "Enable wallpaper module";
|
|
||||||
path = mkOption {
|
|
||||||
type = types.path;
|
|
||||||
default = null;
|
|
||||||
description = "Wallpaper Path";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
ooknet.theme.wallpaper.path =
|
ooknet.theme.wallpaper.path =
|
||||||
let
|
let
|
||||||
largest = f: xs: builtins.head (builtins.sort (a: b: a > b) (map f xs));
|
largest = f: xs: builtins.head (builtins.sort (a: b: a > b) (map f xs));
|
||||||
largestWidth = largest (x: x.width) config.monitors;
|
largestWidth = largest (x: x.width) monitors;
|
||||||
largestHeight = largest (x: x.height) config.monitors;
|
largestHeight = largest (x: x.height) monitors;
|
||||||
in
|
in
|
||||||
mkDefault (nixWallpaperFromScheme
|
mkDefault (nixWallpaperFromScheme
|
||||||
{
|
{
|
||||||
28
home/modules/base/home-manager.nix
Normal file
28
home/modules/base/home-manager.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{ lib, config, osConfig, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkDefault;
|
||||||
|
admin = osConfig.ooknet.host.admin;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
systemd.user.startServices = "sd-switch";
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = admin.name;
|
||||||
|
homeDirectory = "/home/${config.home.username}";
|
||||||
|
stateVersion = mkDefault "22.05";
|
||||||
|
sessionPath = [ "${config.home.homeDirectory}/.local/bin" ];
|
||||||
|
sessionVariables = {
|
||||||
|
TZ = "Pacific/Auckland";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# to save space
|
||||||
|
manual = {
|
||||||
|
html.enable = false;
|
||||||
|
json.enable = false;
|
||||||
|
manpages.enable = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.config.mimeApps;
|
|
||||||
|
|
||||||
browser = ["${config.home.sessionVariables.BROWSER}.desktop"];
|
browser = ["${config.home.sessionVariables.BROWSER}.desktop"];
|
||||||
zathura = ["org.pwmt.zethura.desktop.desktop"];
|
zathura = ["org.pwmt.zethura.desktop.desktop"];
|
||||||
|
|
||||||
|
|
@ -29,12 +27,10 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = [ pkgs.xdg-utils ];
|
home.packages = [ pkgs.xdg-utils ];
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
associations.added = associations;
|
associations.added = associations;
|
||||||
defaultApplications = associations;
|
defaultApplications = associations;
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
22
home/modules/base/user-dirs.nix
Normal file
22
home/modules/base/user-dirs.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
xdg = {
|
||||||
|
enable = true;
|
||||||
|
configHome = "${config.home.homeDirectory}/.config";
|
||||||
|
cacheHome = "${config.home.homeDirectory}/.cache";
|
||||||
|
dataHome = "${config.home.homeDirectory}/.local/share";
|
||||||
|
stateHome = "${config.home.homeDirectory}/.local/state";
|
||||||
|
|
||||||
|
userDirs = {
|
||||||
|
enable = true;
|
||||||
|
createDirectories = true;
|
||||||
|
desktop = "${config.home.homeDirectory}/Desktop";
|
||||||
|
code = "${config.home.homeDirectory}/Code";
|
||||||
|
documents = "${config.home.homeDirectory}/Documents";
|
||||||
|
music = "${config.home.homeDirectory}/Media/Music";
|
||||||
|
videos = "${config.home.homeDirectory}/Media/Videos";
|
||||||
|
pictures = "${config.home.homeDirectory}/Media/Pictures";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./monitors
|
|
||||||
./nix
|
|
||||||
./userDirs
|
|
||||||
./home
|
|
||||||
./mimeApps
|
|
||||||
];
|
|
||||||
|
|
||||||
options.ooknet.config = {
|
|
||||||
nix.enable = lib.mkEnableOption "enable nix configuration module";
|
|
||||||
home.enable = lib.mkEnableOption "enable home configuration module";
|
|
||||||
userDirs.enable = lib.mkEnableOption "enable userDirs configuration module";
|
|
||||||
mimeApps.enable = lib.mkEnableOption "enable mimeApps configuration module";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.config.home;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = lib.mkDefault "ooks";
|
|
||||||
homeDirectory = lib.mkDefault "/home/${config.home.username}";
|
|
||||||
stateVersion = lib.mkDefault "22.05";
|
|
||||||
sessionPath = [ "${config.home.homeDirectory}/.local/bin" ];
|
|
||||||
sessionVariables = {
|
|
||||||
TZ = "Pacific/Auckland";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# to save space
|
|
||||||
manual = {
|
|
||||||
html.enable = false;
|
|
||||||
json.enable = false;
|
|
||||||
manpages.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
{ lib, config, pkgs, outputs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.config.nix;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
|
|
||||||
nixpkgs = {
|
|
||||||
overlays = builtins.attrValues outputs.overlays;
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
allowUnfreePredicate = (_: true);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
package = lib.mkDefault pkgs.nix;
|
|
||||||
settings = {
|
|
||||||
experimental-features = [ "nix-command" "flakes" "repl-flake" ];
|
|
||||||
warn-dirty = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.config.userDirs;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
xdg = {
|
|
||||||
enable = true;
|
|
||||||
configHome = "${config.home.homeDirectory}/.config";
|
|
||||||
cacheHome = "${config.home.homeDirectory}/.cache";
|
|
||||||
dataHome = "${config.home.homeDirectory}/.local/share";
|
|
||||||
stateHome = "${config.home.homeDirectory}/.local/state";
|
|
||||||
|
|
||||||
userDirs = {
|
|
||||||
enable = true;
|
|
||||||
createDirectories = true;
|
|
||||||
desktop = "${config.home.homeDirectory}/Desktop";
|
|
||||||
documents = "${config.home.homeDirectory}/Documents";
|
|
||||||
music = "${config.home.homeDirectory}/Media/Music";
|
|
||||||
videos = "${config.home.homeDirectory}/Media/Videos";
|
|
||||||
pictures = "${config.home.homeDirectory}/Media/Pictures";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
18
home/modules/console/tools/bat.nix
Normal file
18
home/modules/console/tools/bat.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.tools.bat;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.bat = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
theme = "base16";
|
||||||
|
pager = "less -FR";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
home/modules/console/tools/btop.nix
Normal file
14
home/modules/console/tools/btop.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.tools.btop;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.btop = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
home/modules/console/tools/default.nix
Normal file
14
home/modules/console/tools/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./bat.nix
|
||||||
|
./eza.nix
|
||||||
|
./btop.nix
|
||||||
|
./direnv.nix
|
||||||
|
./fzf.nix
|
||||||
|
./nixIndex.nix
|
||||||
|
./git.nix
|
||||||
|
./starship.nix
|
||||||
|
./utils.nix
|
||||||
|
./ssh.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
15
home/modules/console/tools/direnv.nix
Normal file
15
home/modules/console/tools/direnv.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.tools.direnv;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
home/modules/console/tools/eza.nix
Normal file
14
home/modules/console/tools/eza.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.tools.eza;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.eza = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
25
home/modules/console/tools/fzf.nix
Normal file
25
home/modules/console/tools/fzf.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{ lib, config, osConfig, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
admin = osConfig.ooknet.host.admin;
|
||||||
|
cfg = config.ooknet.tools.fzf;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
fzf = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = mkIf (admin.shell == "fish") true;
|
||||||
|
defaultCommand = "rg --files --hidden";
|
||||||
|
changeDirWidgetOptions = [
|
||||||
|
"--preview 'eza --icons -L 3 -T --color always {} | head -200'"
|
||||||
|
"--exact"
|
||||||
|
];
|
||||||
|
fileWidgetCommand = "rg --files";
|
||||||
|
fileWidgetOptions = [
|
||||||
|
"--preview 'bat --color=always {}'"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,14 +1,16 @@
|
||||||
{ pkgs, config, lib, ... }:
|
{ pkgs, config, lib, osConfig, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.console.utility.git;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.tools.git;
|
||||||
|
admin = osConfig.ooknet.host.admin;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.gitAndTools.gitFull;
|
package = pkgs.gitAndTools.gitFull;
|
||||||
userName = "ooks-io";
|
userName = admin.gitName;
|
||||||
userEmail = "ooks@protonmail.com";
|
userEmail = admin.gitEmail;
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
gpg."ssh".program = "${pkgs._1password-gui}/bin/op-ssh-sign";
|
gpg."ssh".program = "${pkgs._1password-gui}/bin/op-ssh-sign";
|
||||||
};
|
};
|
||||||
21
home/modules/console/tools/nixIndex.nix
Normal file
21
home/modules/console/tools/nixIndex.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, config, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.tools.nixIndex;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ inputs.nix-index-db.hmModules.nix-index ];
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs = {
|
||||||
|
nix-index = {
|
||||||
|
enable = true;
|
||||||
|
symlinkToCacheHome = true;
|
||||||
|
};
|
||||||
|
command-not-found.enable = false;
|
||||||
|
nix-index-database.comma.enable = true;
|
||||||
|
};
|
||||||
|
home.sessionVariables.NIX_AUTO_RUN = "1";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,13 +1,12 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, osConfig, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.console.utility.ssh;
|
|
||||||
hasFish = mkIf config.ooknet.console.shell.fish.enable;
|
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.tools.ssh;
|
||||||
|
admin = osConfig.ooknet.host.admin;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -16,7 +15,7 @@ in
|
||||||
IdentityAgent "~/.1password/agent.sock"
|
IdentityAgent "~/.1password/agent.sock"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
programs.fish.interactiveShellInit = hasFish /* fish */ ''
|
programs.fish.interactiveShellInit = mkIf (admin.shell == "fish") /* fish */ ''
|
||||||
set -gx SSH_AUTH_SOCK ~/.1password/agent.sock
|
set -gx SSH_AUTH_SOCK ~/.1password/agent.sock
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
@ -1,12 +1,11 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.console.prompt.starship;
|
cfg = config.ooknet.tools.starship;
|
||||||
inherit (lib) concatStrings mkEnableOption mkIf;
|
inherit (lib) concatStrings mkIf;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
options.ooknet.console.prompt.starship.enable = mkEnableOption "";
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -44,34 +44,5 @@ in
|
||||||
# Nix tooling
|
# Nix tooling
|
||||||
alejandra
|
alejandra
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
|
||||||
btop.enable = true;
|
|
||||||
eza.enable = true;
|
|
||||||
bat = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
theme = "base16";
|
|
||||||
pager = "less -FR";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
direnv = {
|
|
||||||
enable = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
fzf = {
|
|
||||||
enable = true;
|
|
||||||
enableFishIntegration = lib.mkIf config.ooknet.console.shell.fish.enable true;
|
|
||||||
defaultCommand = "rg --files --hidden";
|
|
||||||
changeDirWidgetOptions = [
|
|
||||||
"--preview 'eza --icons -L 3 -T --color always {} | head -200'"
|
|
||||||
"--exact"
|
|
||||||
];
|
|
||||||
fileWidgetCommand = "rg --files";
|
|
||||||
fileWidgetOptions = [
|
|
||||||
"--preview 'bat --color=always {}'"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
{ lib, ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./nixIndex
|
|
||||||
./git
|
|
||||||
./tools
|
|
||||||
./ssh
|
|
||||||
];
|
|
||||||
|
|
||||||
options.ooknet.console.utility = {
|
|
||||||
nixIndex = {
|
|
||||||
enable = lib.mkEnableOption "Enable nixIndex configuration";
|
|
||||||
};
|
|
||||||
git = {
|
|
||||||
enable = lib.mkEnableOption "Enable git + tools";
|
|
||||||
};
|
|
||||||
ssh = {
|
|
||||||
enable = lib.mkEnableOption "Enable various console ssh";
|
|
||||||
};
|
|
||||||
tools = {
|
|
||||||
enable = lib.mkEnableOption "Enable various console tools";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.console.utility.nixIndex;
|
|
||||||
update-script = pkgs.writeShellApplication {
|
|
||||||
name = "fetch-nix-index-database";
|
|
||||||
runtimeInputs = with pkgs; [ wget coreutils ];
|
|
||||||
text = ''
|
|
||||||
filename="index-x86_64-linux"
|
|
||||||
mkdir -p ~/.cache/nix-index
|
|
||||||
cd ~/.cache/nix-index
|
|
||||||
wget -N "https://github.com/Mic92/nix-index-database/releases/latest/download/$filename"
|
|
||||||
ln -f "$filename" files
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.nix-index.enable = true;
|
|
||||||
|
|
||||||
systemd.user.services.nix-index-database-sync = {
|
|
||||||
Unit = { Description = "fetch mic92/nix-index-database"; };
|
|
||||||
Service = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart = "${update-script}/bin/fetch-nix-index-database";
|
|
||||||
Restart = "on-failure";
|
|
||||||
RestartSec = "5m";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
systemd.user.timers.nix-index-database-sync = {
|
|
||||||
Unit = { Description = "Automatic github:mic92/nix-index-database fetching"; };
|
|
||||||
Timer = {
|
|
||||||
OnBootSec = "10m";
|
|
||||||
OnUnitActiveSec = "24h";
|
|
||||||
};
|
|
||||||
Install = { WantedBy = [ "timers.target" ]; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
15
home/modules/desktop/gaming/bottles.nix
Normal file
15
home/modules/desktop/gaming/bottles.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.gaming.bottles;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
bottles
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
inherit (lib) mkEnableOption mkIf;
|
|
||||||
cfg = config.ooknet.desktop.gaming.bottles;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
options.ooknet.desktop.gaming.bottles.enable = mkEnableOption "Enable bottles home-manager modules";
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
bottles
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +1,7 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./factorio
|
./factorio.nix
|
||||||
./lutris
|
./lutris.nix
|
||||||
./bottles
|
./bottles.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options.ooknet.desktop.gaming = {
|
|
||||||
factorio = {
|
|
||||||
enable = lib.mkEnableOption "Enable factorio home module";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg=config.ooknet.desktop.gaming.factorio;
|
cfg = config.ooknet.gaming.factorio;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -1,13 +1,11 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkEnableOption;
|
inherit (lib) mkIf;
|
||||||
cfg = config.ooknet.desktop.gaming.lutris;
|
cfg = config.ooknet.gaming.lutris;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
options.ooknet.desktop.gaming.lutris.enable = mkEnableOption "Enable lutris home-manager module";
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
(lutris.override {
|
(lutris.override {
|
||||||
15
home/modules/desktop/productivity/notes/obsidian.nix
Normal file
15
home/modules/desktop/productivity/notes/obsidian.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkEnableOption;
|
||||||
|
cfg = config.ooknet.productivity.notes.obsidian;
|
||||||
|
notes = config.ooknet.desktop.notes;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.productivity.notes.obsidian.enable = mkEnableOption "";
|
||||||
|
config = mkIf (cfg.enable || notes == "obsidian") {
|
||||||
|
home.packages = [ pkgs.obsidian ];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.desktop.productivity.obsidian;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = with pkgs; [ obsidian ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
{ lib, config, inputs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.desktop.wayland.bar.ags;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
imports = [ inputs.ags.homeManagerModules.default ];
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.ags = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +1,16 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, osConfig, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
fonts = config.ooknet.theme.fonts;
|
|
||||||
cfg = config.ooknet.desktop.wayland.bar.waybar;
|
|
||||||
monitorWidth = (lib.head config.monitors).width - 20;
|
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
|
inherit (lib) mkIf head;
|
||||||
|
fonts = config.ooknet.fonts;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
|
monitors = osConfig.ooknet.host.hardware.monitors;
|
||||||
|
monitorWidth = (head monitors).width - 20;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.bar == "waybar") {
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./starship.nix
|
./hyprland
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
{ lib, config, pkgs, inputs, ... }:
|
{ lib, config, pkgs, inputs, ... }:
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
wayland = config.ooknet.wayland;
|
||||||
inherit (import ./pkgs {inherit pkgs;}) hyprbrightness hyprvolume;
|
inherit (import ./pkgs {inherit pkgs;}) hyprbrightness hyprvolume;
|
||||||
inherit (inputs.ooks-scripts.packages.${pkgs.system}) powermenu zellijmenu;
|
inherit (inputs.ooks-scripts.packages.${pkgs.system}) powermenu zellijmenu;
|
||||||
|
inherit (lib) mkIf;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
@ -11,7 +12,7 @@ in
|
||||||
./extras
|
./extras
|
||||||
];
|
];
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.hyprpicker
|
pkgs.hyprpicker
|
||||||
hyprvolume
|
hyprvolume
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hyprcapture.nix
|
||||||
|
./hyprshade.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, config, pkgs, inputs, ... }:
|
{ lib, config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland.extras.hyprcapture;
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
|
|
||||||
home.packages = with inputs; [
|
home.packages = with inputs; [
|
||||||
# Screenshot tool
|
# Screenshot tool
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland.extras.hyprshade;
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
home.packages = [ pkgs.hyprshade ];
|
home.packages = [ pkgs.hyprshade ];
|
||||||
# TODO: implement hyprshade configuration
|
# TODO: implement hyprshade configuration
|
||||||
};
|
};
|
||||||
|
|
@ -1,13 +1,14 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
wayland = config.ooknet.wayland;
|
||||||
pointer = config.home.pointerCursor;
|
pointer = config.home.pointerCursor;
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
|
inherit (lib) mkIf;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
settings = {
|
settings = {
|
||||||
cursor = {
|
cursor = {
|
||||||
|
|
@ -0,0 +1,131 @@
|
||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
bind = let
|
||||||
|
terminal = config.home.sessionVariables.TERMINAL;
|
||||||
|
browser = config.home.sessionVariables.BROWSER;
|
||||||
|
editor = config.home.sessionVariables.EDITOR;
|
||||||
|
locker = config.home.sessionVariables.LOCKER;
|
||||||
|
|
||||||
|
spotifyctl = "${pkgs.spotify-player}/bin/spotify_player";
|
||||||
|
discord = "${pkgs.vesktop}/bin/vesktop";
|
||||||
|
|
||||||
|
explorer = "${pkgs.cinnamon.nemo-with-extensions}/bin/nemo";
|
||||||
|
|
||||||
|
password = "${pkgs._1password-gui}/bin/1password";
|
||||||
|
in [
|
||||||
|
|
||||||
|
# Program Launch
|
||||||
|
"SUPER, b, exec, ${browser}"
|
||||||
|
"SUPER, return, exec, ${terminal}"
|
||||||
|
"SUPER, e, exec, ${terminal} ${editor}"
|
||||||
|
"SUPERSHIFT, P, exec, ${password}"
|
||||||
|
"SUPER, d, exec, ${discord}"
|
||||||
|
"SUPERSHIFT, e, exec, ${explorer}"
|
||||||
|
"SUPERSHIFT, S, exec, steam"
|
||||||
|
"SUPER, escape, exec, ${terminal} --title=BTOP btop"
|
||||||
|
"SUPER CTRL, return, exec, zellijmenu -n"
|
||||||
|
|
||||||
|
"SUPER, delete, exec, powermenu -c dmenu"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Spotify PLayer Controls
|
||||||
|
|
||||||
|
"SUPER, bracketright, exec, ${spotifyctl} playback next"
|
||||||
|
"SUPER, bracketleft, exec, ${spotifyctl} playback previous"
|
||||||
|
"SUPER, backslash, exec, ${spotifyctl} playback play-pause"
|
||||||
|
|
||||||
|
# Brightness
|
||||||
|
|
||||||
|
",XF86MonBrightnessUp, exec, hyprbrightness up"
|
||||||
|
",XF86MonBrightnessDown, exec, hyprbrightness down"
|
||||||
|
|
||||||
|
# Volume
|
||||||
|
|
||||||
|
",XF86AudioRaiseVolume, exec, hyprvolume up"
|
||||||
|
",XF86AudioLowerVolume, exec, hyprvolume down"
|
||||||
|
",XF86AudioMute, exec, hyprvolume mute"
|
||||||
|
|
||||||
|
# Window Management
|
||||||
|
|
||||||
|
"SUPER, Q, killactive"
|
||||||
|
"SUPER CTRL, backspace, killactive"
|
||||||
|
"SUPERSHIFT ALT, delete, exec, hyprkillsession"
|
||||||
|
"SUPER, F, fullscreen"
|
||||||
|
"SUPER CTRL, F, fakefullscreen"
|
||||||
|
"SUPER, Space, togglefloating"
|
||||||
|
"SUPER, P, pseudo" # dwindle
|
||||||
|
"SUPER, S, togglesplit" # dwindle
|
||||||
|
|
||||||
|
# Focus
|
||||||
|
|
||||||
|
"SUPER, left, movefocus,l"
|
||||||
|
"SUPER, right, movefocus,r"
|
||||||
|
"SUPER, up, movefocus,u"
|
||||||
|
"SUPER, down, movefocus,d"
|
||||||
|
|
||||||
|
# Move
|
||||||
|
|
||||||
|
"SUPERSHIFT, left, movewindow,l"
|
||||||
|
"SUPERSHIFT, right, movewindow,r"
|
||||||
|
"SUPERSHIFT, up, movewindow,u"
|
||||||
|
"SUPERSHIFT, down, movewindow,d"
|
||||||
|
|
||||||
|
#Resize
|
||||||
|
|
||||||
|
"SUPER CTRL, left, resizeactive,-20 0"
|
||||||
|
"SUPERCTRL, right, resizeactive,20 0"
|
||||||
|
"SUPER CTRL, up, resizeactive,0 -20"
|
||||||
|
"SUPERCTRL, down, resizeactive,0 20"
|
||||||
|
|
||||||
|
# Switch workspace
|
||||||
|
|
||||||
|
"SUPER, 1, workspace,1"
|
||||||
|
"SUPER, 2, workspace,2"
|
||||||
|
"SUPER, 3, workspace,3"
|
||||||
|
"SUPER, 4, workspace,4"
|
||||||
|
"SUPER, 5, workspace,5"
|
||||||
|
"SUPER, 6, workspace,6"
|
||||||
|
"SUPER, 7, workspace,7"
|
||||||
|
"SUPER, 8, workspace,8"
|
||||||
|
"SUPER, 9, workspace,9"
|
||||||
|
"SUPER, 0, workspace,10"
|
||||||
|
"SUPER, comma, workspace,e+1"
|
||||||
|
"SUPER, period, workspace,e-1"
|
||||||
|
"SUPER, tab, focusCurrentOrLast"
|
||||||
|
|
||||||
|
# Move workspace
|
||||||
|
|
||||||
|
"SUPERSHIFT, 1, movetoworkspace,1"
|
||||||
|
"SUPERSHIFT, 2, movetoworkspace,2"
|
||||||
|
"SUPERSHIFT, 3, movetoworkspace,3"
|
||||||
|
"SUPERSHIFT, 4, movetoworkspace,4"
|
||||||
|
"SUPERSHIFT, 5, movetoworkspace,5"
|
||||||
|
"SUPERSHIFT, 6, movetoworkspace,6"
|
||||||
|
"SUPERSHIFT, 7, movetoworkspace,7"
|
||||||
|
"SUPERSHIFT, 8, movetoworkspace,8"
|
||||||
|
"SUPERSHIFT, 9, movetoworkspace,9"
|
||||||
|
"SUPERSHIFT, 0, movetoworkspace,10"
|
||||||
|
|
||||||
|
# Lock Screen
|
||||||
|
"SUPER, Backspace, exec, ${locker}"
|
||||||
|
];
|
||||||
|
# Mouse
|
||||||
|
bindm = [
|
||||||
|
"SUPER, mouse:272, movewindow"
|
||||||
|
"SUPER, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
# bindr = [
|
||||||
|
# "SUPER, SUPER_L, exec, killall rofi || rofi -show drun"
|
||||||
|
# ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
wayland.windowManager.hyprland.settings.env = [
|
wayland.windowManager.hyprland.settings.env = [
|
||||||
"XDG_SESSION_DESKTOP,hyprland"
|
"XDG_SESSION_DESKTOP,hyprland"
|
||||||
"XDG_CURRENT_DESKTOP,hyprland"
|
"XDG_CURRENT_DESKTOP,hyprland"
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
exec = [
|
exec = [
|
||||||
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
wayland.windowManager.hyprland.settings.gestures = {
|
wayland.windowManager.hyprland.settings.gestures = {
|
||||||
workspace_swipe = true;
|
workspace_swipe = true;
|
||||||
workspace_swipe_forever = true;
|
workspace_swipe_forever = true;
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, config, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
|
wallpaperPath = config.ooknet.wallpaper.path;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
|
services.hyprpaper = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
xdg.configFile."hypr/hyprpaper.conf".text = ''
|
||||||
|
preload = ${wallpaperPath}
|
||||||
|
wallpaper = , ${wallpaperPath}
|
||||||
|
splash = false
|
||||||
|
ipc = off
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
wayland.windowManager.hyprland.settings.input = {
|
wayland.windowManager.hyprland.settings.input = {
|
||||||
kb_layout = "us";
|
kb_layout = "us";
|
||||||
follow_mouse = 1;
|
follow_mouse = 1;
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
wayland.windowManager.hyprland.settings.misc = {
|
wayland.windowManager.hyprland.settings.misc = {
|
||||||
mouse_move_enables_dpms = true;
|
mouse_move_enables_dpms = true;
|
||||||
key_press_enables_dpms = true;
|
key_press_enables_dpms = true;
|
||||||
|
|
@ -1,19 +1,21 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, osConfig, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
inherit (lib) mkIf concatMap;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
|
monitors = osConfig.ooknet.host.hardware.monitors;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
monitor = lib.concatMap (m: let
|
monitor = concatMap (m: let
|
||||||
resolution = "${toString m.width}x${toString m.height}@${toString m.refreshRate}";
|
resolution = "${toString m.width}x${toString m.height}@${toString m.refreshRate}";
|
||||||
position = "${toString m.x}x${toString m.y}";
|
position = "${toString m.x}x${toString m.y}";
|
||||||
basicConfig = "${m.name},${if m.enabled then "${resolution},${position},1" else "disable"}";
|
basicConfig = "${m.name},${if m.enabled then "${resolution},${position},1" else "disable"}";
|
||||||
in
|
in
|
||||||
[ basicConfig ] ++ (if m.transform != 0 then ["${m.name},transform,${toString m.transform}"] else [])
|
[ basicConfig ] ++ (if m.transform != 0 then ["${m.name},transform,${toString m.transform}"] else [])
|
||||||
) (config.monitors);
|
) (monitors);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -1,10 +1,13 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = {
|
config = mkIf (wayland.compositor == "hyprland") {
|
||||||
wayland.windowManager.hyprland.settings = lib.mkIf cfg.enable {
|
wayland.windowManager.hyprland.settings = {
|
||||||
windowrulev2 = [
|
windowrulev2 = [
|
||||||
"float,move 191 15,size 924 396,class:^(1Password)$"
|
"float,move 191 15,size 924 396,class:^(1Password)$"
|
||||||
|
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, osConfig, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
cfg = config.ooknet.desktop.wayland;
|
cfg = config.ooknet.desktop.wayland;
|
||||||
|
gpu = osConfig.ooknet.host.hardware.gpu;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./bar
|
./bar
|
||||||
|
|
@ -13,16 +16,7 @@ in
|
||||||
./launcher
|
./launcher
|
||||||
];
|
];
|
||||||
|
|
||||||
options.ooknet.desktop.wayland = {
|
config = mkIf cfg.enable {
|
||||||
enable = lib.mkEnableOption "Enable wayland specific confurations";
|
|
||||||
nvidia = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "Enable nvidia wayland configuration";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
CLUTTER_BACKEND = "wayland";
|
CLUTTER_BACKEND = "wayland";
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
|
|
@ -33,7 +27,7 @@ in
|
||||||
MOZ_DBUS_REMOTE = "1";
|
MOZ_DBUS_REMOTE = "1";
|
||||||
XDG_SESSION_TYPE = "wayland";
|
XDG_SESSION_TYPE = "wayland";
|
||||||
SDL_VIDEODRIVER = "wayland";
|
SDL_VIDEODRIVER = "wayland";
|
||||||
} // lib.mkIf cfg.nvidia {
|
} // mkIf (gpu == "nvidia") {
|
||||||
LIBVA_DRIVER_NAME = "nvidia";
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
GBM_BACKEND = "nvidia-drm";
|
GBM_BACKEND = "nvidia-drm";
|
||||||
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||||
|
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
{ config, lib, inputs, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.desktop.wayland.launcher.anyrun;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
inputs.anyrun.homeManagerModules.default
|
|
||||||
];
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.anyrun = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
plugins = with inputs.anyrun.packages.${pkgs.system}; [
|
|
||||||
applications
|
|
||||||
randr
|
|
||||||
shell
|
|
||||||
rink
|
|
||||||
symbols
|
|
||||||
];
|
|
||||||
};
|
|
||||||
extraCss = /* css */ ''
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: JetBrains Mono Nerd Font;
|
|
||||||
}
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,21 +1,6 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
# ./anyrun
|
./rofi.nix
|
||||||
./rofi
|
./tofi.nix
|
||||||
./tofi
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.ooknet.desktop.wayland.launcher = {
|
|
||||||
anyrun = {
|
|
||||||
enable = lib.mkEnableOption "enable anyrun launcher module";
|
|
||||||
};
|
|
||||||
rofi = {
|
|
||||||
enable = lib.mkEnableOption "enable rofi launcher module";
|
|
||||||
};
|
|
||||||
tofi = {
|
|
||||||
enable = lib.mkEnableOption "enable tofi launcher module";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
fonts = config.ooknet.theme.fonts;
|
inherit (lib) mkIf;
|
||||||
cfg = config.ooknet.desktop.wayland.launcher.rofi;
|
fonts = config.ooknet.fonts;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.launcher == "rofi") {
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font = "${fonts.monospace.family}";
|
font = "${fonts.monospace.family}";
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.launcher.tofi;
|
|
||||||
fonts = config.ooknet.theme.fonts;
|
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
|
fonts = config.ooknet.fonts;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
config = mkIf (wayland.launcher == "tofi") {
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.packages = [pkgs.tofi];
|
home.packages = [pkgs.tofi];
|
||||||
xdg.configFile."tofi/config".text = /* config */ ''
|
xdg.configFile."tofi/config".text = /* config */ ''
|
||||||
history = false
|
history = false
|
||||||
|
|
@ -37,6 +37,5 @@ in
|
||||||
selection-color = ${palette.base04}
|
selection-color = ${palette.base04}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1,21 +1,7 @@
|
||||||
{ lib, ... }:
|
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
#./gtkLock --- still needs to be implemented
|
./swaylock.nix
|
||||||
./swaylock
|
./hyprlock.nix
|
||||||
./hyprlock
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.ooknet.desktop.wayland.lockscreen = {
|
|
||||||
swaylock = {
|
|
||||||
enable = lib.mkEnableOption "Enable Swaylock screen";
|
|
||||||
};
|
|
||||||
hyprlock = {
|
|
||||||
enable = lib.mkEnableOption "Enable hyprlock screen";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
#TODO: make assertion to prevent 2 lockscreens
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,15 @@
|
||||||
{ lib, config, inputs, pkgs, ... }:
|
{ lib, config, inputs, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.lockscreen.hyprlock;
|
|
||||||
fonts = config.ooknet.theme.fonts;
|
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
|
fonts = config.ooknet.fonts;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
config = mkIf (wayland.locker == "hyprlock") {
|
||||||
# inputs.hyprlock.homeManagerModules.default
|
ooknet.binds.locker = "hyprlock";
|
||||||
# inputs.hypridle.homeManagerModules.default
|
|
||||||
];
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.sessionVariables.LOCKER = "hyprlock";
|
|
||||||
programs.hyprlock = {
|
programs.hyprlock = {
|
||||||
settings = {
|
settings = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -2,13 +2,14 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (config.colorscheme) palette;
|
inherit (config.colorscheme) palette;
|
||||||
fonts = config.ooknet.theme.fonts;
|
inherit (lib) mkIf;
|
||||||
wallpaperPath = config.ooknet.theme.wallpaper.path;
|
fonts = config.ooknet.fonts;
|
||||||
cfg = config.ooknet.desktop.wayland.lockscreen.swaylock;
|
wallpaperPath = config.ooknet.wallpaper.path;
|
||||||
|
wayland = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf (wayland.locker == "swaylock") {
|
||||||
home.sessionVariables.LOCKER = "swaylock";
|
ooknet.binds.locker = "swaylock";
|
||||||
programs.swaylock = {
|
programs.swaylock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -1,14 +1,5 @@
|
||||||
{ lib, ... }:
|
|
||||||
{
|
{
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./mako
|
./mako.nix
|
||||||
#./dunst -- still needs to be implemented
|
|
||||||
];
|
];
|
||||||
|
|
||||||
options.ooknet.desktop.wayland.notification = {
|
|
||||||
mako = {
|
|
||||||
enable = lib.mkEnableOption "Enable mako notification daemon";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,14 @@
|
||||||
{ config, lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (config.colorscheme) palette variant;
|
inherit (config.colorscheme) palette variant;
|
||||||
fonts = config.ooknet.theme.fonts;
|
inherit (lib) mkIf;
|
||||||
cfg = config.ooknet.desktop.wayland.notification.mako;
|
fonts = config.ooknet.fonts;
|
||||||
in {
|
wayland = config.ooknet.wayland;
|
||||||
config = lib.mkIf cfg.enable {
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
config = mkIf (wayland.notification == "mako") {
|
||||||
services.mako = {
|
services.mako = {
|
||||||
enable = true;
|
enable = true;
|
||||||
iconPath =
|
iconPath =
|
||||||
|
|
@ -1,17 +1,6 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./gammastep
|
./gammastep.nix
|
||||||
./tools
|
./tools.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options.ooknet.desktop.wayland.utility = {
|
|
||||||
tools = {
|
|
||||||
enable = lib.mkEnableOption "Enable wayland specific tools";
|
|
||||||
};
|
|
||||||
gammastep = {
|
|
||||||
enable = lib.mkEnableOption "Enable gammastep module";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.utility.gammastep;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.gammastep = {
|
services.gammastep = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableVerboseLogging = true;
|
enableVerboseLogging = true;
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.ooknet.desktop.wayland.utility.tools;
|
inherit (lib) mkIf;
|
||||||
|
cfg = config.ooknet.wayland;
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hyprland
|
|
||||||
];
|
|
||||||
|
|
||||||
options.ooknet.desktop.wayland.windowManager = {
|
|
||||||
hyprland = {
|
|
||||||
enable = lib.mkEnableOption "Enable Hyprland window-manager";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hyprcapture
|
|
||||||
./hyprshade
|
|
||||||
];
|
|
||||||
|
|
||||||
options.ooknet.desktop.wayland.windowManager.hyprland.extras = {
|
|
||||||
hyprcapture = {
|
|
||||||
enable = lib.mkEnableOption "Enable hyprcapture screenshot/recording module";
|
|
||||||
};
|
|
||||||
hyprshade = {
|
|
||||||
enable = lib.mkEnableOption "Enable hyprshade tool module";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,128 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland.settings = lib.mkIf cfg.enable {
|
|
||||||
bind = let
|
|
||||||
terminal = config.home.sessionVariables.TERMINAL;
|
|
||||||
browser = config.home.sessionVariables.BROWSER;
|
|
||||||
editor = config.home.sessionVariables.EDITOR;
|
|
||||||
locker = config.home.sessionVariables.LOCKER;
|
|
||||||
|
|
||||||
spotifyctl = "${pkgs.spotify-player}/bin/spotify_player";
|
|
||||||
discord = "${pkgs.vesktop}/bin/vesktop";
|
|
||||||
|
|
||||||
explorer = "${pkgs.cinnamon.nemo-with-extensions}/bin/nemo";
|
|
||||||
|
|
||||||
password = "${pkgs._1password-gui}/bin/1password";
|
|
||||||
in [
|
|
||||||
|
|
||||||
# Program Launch
|
|
||||||
"SUPER, b, exec, ${browser}"
|
|
||||||
"SUPER, return, exec, ${terminal}"
|
|
||||||
"SUPER, e, exec, ${terminal} ${editor}"
|
|
||||||
"SUPERSHIFT, P, exec, ${password}"
|
|
||||||
"SUPER, d, exec, ${discord}"
|
|
||||||
"SUPERSHIFT, e, exec, ${explorer}"
|
|
||||||
"SUPERSHIFT, S, exec, steam"
|
|
||||||
"SUPER, escape, exec, ${terminal} --title=BTOP btop"
|
|
||||||
"SUPER CTRL, return, exec, zellijmenu -n"
|
|
||||||
|
|
||||||
"SUPER, delete, exec, powermenu -c dmenu"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Spotify PLayer Controls
|
|
||||||
|
|
||||||
"SUPER, bracketright, exec, ${spotifyctl} playback next"
|
|
||||||
"SUPER, bracketleft, exec, ${spotifyctl} playback previous"
|
|
||||||
"SUPER, backslash, exec, ${spotifyctl} playback play-pause"
|
|
||||||
|
|
||||||
# Brightness
|
|
||||||
|
|
||||||
",XF86MonBrightnessUp, exec, hyprbrightness up"
|
|
||||||
",XF86MonBrightnessDown, exec, hyprbrightness down"
|
|
||||||
|
|
||||||
# Volume
|
|
||||||
|
|
||||||
",XF86AudioRaiseVolume, exec, hyprvolume up"
|
|
||||||
",XF86AudioLowerVolume, exec, hyprvolume down"
|
|
||||||
",XF86AudioMute, exec, hyprvolume mute"
|
|
||||||
|
|
||||||
# Window Management
|
|
||||||
|
|
||||||
"SUPER, Q, killactive"
|
|
||||||
"SUPER CTRL, backspace, killactive"
|
|
||||||
"SUPERSHIFT ALT, delete, exec, hyprkillsession"
|
|
||||||
"SUPER, F, fullscreen"
|
|
||||||
"SUPER CTRL, F, fakefullscreen"
|
|
||||||
"SUPER, Space, togglefloating"
|
|
||||||
"SUPER, P, pseudo" # dwindle
|
|
||||||
"SUPER, S, togglesplit" # dwindle
|
|
||||||
|
|
||||||
# Focus
|
|
||||||
|
|
||||||
"SUPER, left, movefocus,l"
|
|
||||||
"SUPER, right, movefocus,r"
|
|
||||||
"SUPER, up, movefocus,u"
|
|
||||||
"SUPER, down, movefocus,d"
|
|
||||||
|
|
||||||
# Move
|
|
||||||
|
|
||||||
"SUPERSHIFT, left, movewindow,l"
|
|
||||||
"SUPERSHIFT, right, movewindow,r"
|
|
||||||
"SUPERSHIFT, up, movewindow,u"
|
|
||||||
"SUPERSHIFT, down, movewindow,d"
|
|
||||||
|
|
||||||
#Resize
|
|
||||||
|
|
||||||
"SUPER CTRL, left, resizeactive,-20 0"
|
|
||||||
"SUPERCTRL, right, resizeactive,20 0"
|
|
||||||
"SUPER CTRL, up, resizeactive,0 -20"
|
|
||||||
"SUPERCTRL, down, resizeactive,0 20"
|
|
||||||
|
|
||||||
# Switch workspace
|
|
||||||
|
|
||||||
"SUPER, 1, workspace,1"
|
|
||||||
"SUPER, 2, workspace,2"
|
|
||||||
"SUPER, 3, workspace,3"
|
|
||||||
"SUPER, 4, workspace,4"
|
|
||||||
"SUPER, 5, workspace,5"
|
|
||||||
"SUPER, 6, workspace,6"
|
|
||||||
"SUPER, 7, workspace,7"
|
|
||||||
"SUPER, 8, workspace,8"
|
|
||||||
"SUPER, 9, workspace,9"
|
|
||||||
"SUPER, 0, workspace,10"
|
|
||||||
"SUPER, comma, workspace,e+1"
|
|
||||||
"SUPER, period, workspace,e-1"
|
|
||||||
"SUPER, tab, focusCurrentOrLast"
|
|
||||||
|
|
||||||
# Move workspace
|
|
||||||
|
|
||||||
"SUPERSHIFT, 1, movetoworkspace,1"
|
|
||||||
"SUPERSHIFT, 2, movetoworkspace,2"
|
|
||||||
"SUPERSHIFT, 3, movetoworkspace,3"
|
|
||||||
"SUPERSHIFT, 4, movetoworkspace,4"
|
|
||||||
"SUPERSHIFT, 5, movetoworkspace,5"
|
|
||||||
"SUPERSHIFT, 6, movetoworkspace,6"
|
|
||||||
"SUPERSHIFT, 7, movetoworkspace,7"
|
|
||||||
"SUPERSHIFT, 8, movetoworkspace,8"
|
|
||||||
"SUPERSHIFT, 9, movetoworkspace,9"
|
|
||||||
"SUPERSHIFT, 0, movetoworkspace,10"
|
|
||||||
|
|
||||||
# Lock Screen
|
|
||||||
"SUPER, Backspace, exec, ${locker}"
|
|
||||||
];
|
|
||||||
# Mouse
|
|
||||||
bindm = [
|
|
||||||
"SUPER, mouse:272, movewindow"
|
|
||||||
"SUPER, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
# bindr = [
|
|
||||||
# "SUPER, SUPER_L, exec, killall rofi || rofi -show drun"
|
|
||||||
# ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
{ lib, config, inputs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.desktop.wayland.windowManager.hyprland;
|
|
||||||
wallpaperPath = config.ooknet.theme.wallpaper.path;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
services.hyprpaper = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
xdg.configFile."hypr/hyprpaper.conf".text = ''
|
|
||||||
preload = ${wallpaperPath}
|
|
||||||
wallpaper = , ${wallpaperPath}
|
|
||||||
splash = false
|
|
||||||
ipc = off
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
29
home/modules/options/appearance/cursor.nix
Normal file
29
home/modules/options/appearance/cursor.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption mkOption types;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.cursor = {
|
||||||
|
enable = mkEnableOption "Enable cursor module";
|
||||||
|
package = mkOption {
|
||||||
|
type = types.package;
|
||||||
|
default = null;
|
||||||
|
description = "Package for cursor";
|
||||||
|
example = "pkgs.bibata-cursors";
|
||||||
|
};
|
||||||
|
name = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "";
|
||||||
|
description = "Name of cursor";
|
||||||
|
example = "Bibata-Modern-Ice";
|
||||||
|
};
|
||||||
|
size = lib.mkOption {
|
||||||
|
type = types.int;
|
||||||
|
default = 22;
|
||||||
|
description = "Size of cursor";
|
||||||
|
example = "22";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
mkFontOption = kind: {
|
mkFontOption = kind: {
|
||||||
|
|
@ -15,7 +15,6 @@ let
|
||||||
example = "pkgs.fira-code";
|
example = "pkgs.fira-code";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
cfg = config.ooknet.theme.fonts;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.ooknet.theme.fonts = {
|
options.ooknet.theme.fonts = {
|
||||||
|
|
@ -23,18 +22,4 @@ in
|
||||||
monospace = mkFontOption "monospace";
|
monospace = mkFontOption "monospace";
|
||||||
regular = mkFontOption "regular";
|
regular = mkFontOption "regular";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
fonts.fontconfig.enable = true;
|
|
||||||
home.packages = [
|
|
||||||
cfg.monospace.package
|
|
||||||
cfg.regular.package
|
|
||||||
|
|
||||||
pkgs.noto-fonts
|
|
||||||
pkgs.noto-fonts-cjk
|
|
||||||
pkgs.noto-fonts-emoji
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
9
home/modules/options/appearance/gtk.nix
Normal file
9
home/modules/options/appearance/gtk.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.gtk.enable = mkEnableOption;
|
||||||
|
}
|
||||||
9
home/modules/options/appearance/qt.nix
Normal file
9
home/modules/options/appearance/qt.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.qt.enable = mkEnableOption "";
|
||||||
|
}
|
||||||
13
home/modules/options/appearance/theme.nix
Normal file
13
home/modules/options/appearance/theme.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ lib, config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkOption;
|
||||||
|
inherit (lib.types) nullOr enum;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.theme = mkOption {
|
||||||
|
type = nullOr (enum [ "minimal" "phone" ]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
}
|
||||||
16
home/modules/options/appearance/wallpaper.nix
Normal file
16
home/modules/options/appearance/wallpaper.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) types mkEnableOption mkOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.wallpaper = {
|
||||||
|
enable = mkEnableOption "";
|
||||||
|
path = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
default = null;
|
||||||
|
description = "Wallpaper Path";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
12
home/modules/options/console/editor.nix
Normal file
12
home/modules/options/console/editor.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.editor = {
|
||||||
|
helix.enable = mkEnableOption "";
|
||||||
|
nvim.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
}
|
||||||
12
home/modules/options/console/multiplexer.nix
Normal file
12
home/modules/options/console/multiplexer.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.multiplexer = {
|
||||||
|
zellij.enable = mkEnableOption "";
|
||||||
|
tmux.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
}
|
||||||
13
home/modules/options/console/shell.nix
Normal file
13
home/modules/options/console/shell.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ lib , ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.shell = {
|
||||||
|
fish.enable = mkEnableOption "";
|
||||||
|
zsh.enable = mkEnableOption "";
|
||||||
|
bash.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
}
|
||||||
20
home/modules/options/console/tools.nix
Normal file
20
home/modules/options/console/tools.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.tools = {
|
||||||
|
btop.enable = mkEnableOption "";
|
||||||
|
eza.enable = mkEnableOption "";
|
||||||
|
bat.enable = mkEnableOption "";
|
||||||
|
direnv.enable = mkEnableOption "";
|
||||||
|
fzf.enable = mkEnableOption "";
|
||||||
|
git.enable = mkEnableOption "";
|
||||||
|
ssh.enable = mkEnableOption "";
|
||||||
|
nixIndex.enable = mkEnableOption "";
|
||||||
|
starship.enable = mkEnableOption "";
|
||||||
|
utils.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
}
|
||||||
56
home/modules/options/desktop/binds.nix
Normal file
56
home/modules/options/desktop/binds.nix
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkOption types;
|
||||||
|
inherit (types) str;
|
||||||
|
mkWarn = message: "notify-send --urgency=normal 'warning' '${message}'";
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.binds = {
|
||||||
|
browser = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = mkWarn "No browser is enabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
terminal = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = mkWarn "No terminal is enabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
terminalLaunch = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = mkWarn "Failed to launch tui";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileManager = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = mkWarn "No file manager is enabled.";
|
||||||
|
};
|
||||||
|
|
||||||
|
notes = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = mkWarn "No notes app is enabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
discord = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = mkWarn "No discord app is enabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
steam = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = mkWarn "Steam is not enabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
powerMenu = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = mkWarn "No power menu is enabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
locker = mkOption {
|
||||||
|
type = str;
|
||||||
|
default = mkWarn "No screen locker enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
12
home/modules/options/desktop/browser.nix
Normal file
12
home/modules/options/desktop/browser.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.browser = {
|
||||||
|
firefox.enable = mkEnableOption "";
|
||||||
|
brave.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
}
|
||||||
11
home/modules/options/desktop/communication.nix
Normal file
11
home/modules/options/desktop/communication.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.communication = {
|
||||||
|
discord.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
}
|
||||||
12
home/modules/options/desktop/creative.nix
Normal file
12
home/modules/options/desktop/creative.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.creative = {
|
||||||
|
inkscape.enable = mkEnableOption "";
|
||||||
|
audacity.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
}
|
||||||
13
home/modules/options/desktop/gaming.nix
Normal file
13
home/modules/options/desktop/gaming.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.gaming = {
|
||||||
|
factorio.enable = mkEnableOption "";
|
||||||
|
bottles.enable = mkEnableOption "";
|
||||||
|
lutris.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
}
|
||||||
21
home/modules/options/desktop/media.nix
Normal file
21
home/modules/options/desktop/media.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.media = {
|
||||||
|
image = {
|
||||||
|
imv.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
video = {
|
||||||
|
mpv.enable = mkEnableOption "";
|
||||||
|
jellyfinPlayer.enable = mkEnableOption "";
|
||||||
|
youtube.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
music = {
|
||||||
|
spotifyCli.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
19
home/modules/options/desktop/productivity.nix
Normal file
19
home/modules/options/desktop/productivity.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.productivity = {
|
||||||
|
notes = {
|
||||||
|
obsidian.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
office = {
|
||||||
|
libreoffice.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
pdf = {
|
||||||
|
zathura.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
11
home/modules/options/desktop/terminal.nix
Normal file
11
home/modules/options/desktop/terminal.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.terminal = {
|
||||||
|
foot.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
}
|
||||||
11
home/modules/options/desktop/tools.nix
Normal file
11
home/modules/options/desktop/tools.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkEnableOption;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.tools = {
|
||||||
|
kdeconnect.enable = mkEnableOption "";
|
||||||
|
};
|
||||||
|
}
|
||||||
31
home/modules/options/desktop/wayland.nix
Normal file
31
home/modules/options/desktop/wayland.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkOption mkEnableOption types;
|
||||||
|
inherit (types) nullOr enum;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
ooknet.wayland = {
|
||||||
|
enable = mkEnableOption "";
|
||||||
|
compositor = mkOption {
|
||||||
|
type = nullOr (enum [ "hyprland" ]);
|
||||||
|
};
|
||||||
|
launcher = mkOption {
|
||||||
|
type = nullOr (enum [ "rofi" "tofi" ]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
locker = mkOption {
|
||||||
|
type = nullOr (enum [ "hyprlock" "swaylock" ]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
notification = mkOption {
|
||||||
|
type = nullOr (enum [ "mako" ]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
bar = mkOption {
|
||||||
|
type = nullOr (enum [ "waybar" ]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
27
home/modules/options/profiles/console.nix
Normal file
27
home/modules/options/profiles/console.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkOption types;
|
||||||
|
inherit (types) nullOr enum;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.console = {
|
||||||
|
editor = mkOption {
|
||||||
|
type = nullOr (enum ["helix" "nvim"]);
|
||||||
|
default = "helix";
|
||||||
|
};
|
||||||
|
shell = mkOption {
|
||||||
|
type = nullOr (enum ["fish" "bash" "zsh"]);
|
||||||
|
default = "zsh";
|
||||||
|
};
|
||||||
|
multiplexer = mkOption {
|
||||||
|
type = nullOr (enum ["tmux" "zellij"]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
fileManager = mkOption {
|
||||||
|
type = nullOr (enum ["yazi" "ranger" "lf"]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
51
home/modules/options/profiles/desktop.nix
Normal file
51
home/modules/options/profiles/desktop.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
{ lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkOption types;
|
||||||
|
inherit (types) enum nullOr listOf;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options.ooknet.desktop = {
|
||||||
|
|
||||||
|
environment = mkOption {
|
||||||
|
type = nullOr (enum [ "hyprland" ]);
|
||||||
|
default = "hyprland";
|
||||||
|
};
|
||||||
|
|
||||||
|
browser = mkOption {
|
||||||
|
type = nullOr (enum [ "firefox" "brave" ]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
terminal = mkOption {
|
||||||
|
type = nullOr (enum [ "foot" "kitty" "wezterm" ]);
|
||||||
|
default = "foot";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileManager = mkOption {
|
||||||
|
type = nullOr (enum [ "nemo" ]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
notes = mkOption {
|
||||||
|
type = nullOr (enum [ "obsidian" ]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
pdf = mkOption {
|
||||||
|
type = nullOr (enum [ "zathura" ]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
discord = mkOption {
|
||||||
|
type = nullOr (enum [ "vesktop" ]);
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
suites = mkOption {
|
||||||
|
type = listOf (enum [ "gaming" "tools" "media" "creative" ]);
|
||||||
|
default = [ ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.theme.cursor;
|
|
||||||
in
|
|
||||||
|
|
||||||
{
|
|
||||||
options.ooknet.theme.cursor = {
|
|
||||||
enable = lib.mkEnableOption "Enable cursor module";
|
|
||||||
package = lib.mkOption {
|
|
||||||
type = lib.types.package;
|
|
||||||
default = null;
|
|
||||||
description = "Package for cursor";
|
|
||||||
example = "pkgs.bibata-cursors";
|
|
||||||
};
|
|
||||||
name = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = "";
|
|
||||||
description = "Name of cursor";
|
|
||||||
example = "Bibata-Modern-Ice";
|
|
||||||
};
|
|
||||||
size = lib.mkOption {
|
|
||||||
type = lib.types.int;
|
|
||||||
default = 22;
|
|
||||||
description = "Size of cursor";
|
|
||||||
example = "22";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home.pointerCursor = {
|
|
||||||
package = cfg.package;
|
|
||||||
name = cfg.name;
|
|
||||||
size = cfg.size;
|
|
||||||
gtk.enable = true;
|
|
||||||
x11.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./fonts
|
|
||||||
./cursor
|
|
||||||
./gtk
|
|
||||||
./qt
|
|
||||||
./wallpaper
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
let
|
|
||||||
cfg = config.ooknet.theme.qt;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.ooknet.theme.qt.enable = lib.mkEnableOption "Enable qt module";
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
platformTheme.name = "gtk";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
{ lib, config, ... }:
|
|
||||||
let
|
|
||||||
cfg = config.profiles.base;
|
|
||||||
inherit (lib) mkDefault;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
../../modules
|
|
||||||
];
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
|
|
||||||
systemd.user.startServices = mkDefault "sd-switch";
|
|
||||||
|
|
||||||
ooknet = {
|
|
||||||
config = {
|
|
||||||
home.enable = true;
|
|
||||||
userDirs.enable = true;
|
|
||||||
mimeApps.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
console = {
|
|
||||||
editor.helix = {
|
|
||||||
enable = true;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
prompt.starship.enable = true;
|
|
||||||
shell = {
|
|
||||||
fish.enable = true;
|
|
||||||
bash.enable = true;
|
|
||||||
};
|
|
||||||
multiplexer.zellij.enable = true;
|
|
||||||
utility = {
|
|
||||||
ssh.enable = true;
|
|
||||||
nixIndex.enable = true;
|
|
||||||
git.enable = true;
|
|
||||||
tools.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue