moving along wiht the refactoring
This commit is contained in:
parent
7d73d14ea5
commit
91d4b21cdf
18 changed files with 63 additions and 180 deletions
|
@ -43,7 +43,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
boot.kernelPackages = pkgs.linuxPackages_xanmod_stable;
|
boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
|
||||||
modules = {
|
modules = {
|
||||||
other = {
|
other = {
|
||||||
system = {
|
system = {
|
||||||
|
@ -62,28 +62,41 @@
|
||||||
hyprland.enable = true;
|
hyprland.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
system = {
|
||||||
|
programs = {
|
||||||
|
discord.enable = true;
|
||||||
|
firefox.enable = true;
|
||||||
|
zathura.enable = true;
|
||||||
|
terminals = {
|
||||||
|
foot.enable = true;
|
||||||
|
kitty.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
usrEnv = {
|
||||||
|
programs = {
|
||||||
|
launchers = {
|
||||||
|
anyrun.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
mpd.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
programs = {
|
programs = {
|
||||||
vesktop.enable = true;
|
vesktop.enable = true;
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
btop.enable = true;
|
btop.enable = true;
|
||||||
mpv.enable = true;
|
mpv.enable = true;
|
||||||
kitty.enable = true;
|
|
||||||
newsboat.enable = true;
|
newsboat.enable = true;
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
ncmpcpp.enable = true;
|
ncmpcpp.enable = true;
|
||||||
nh.enable = true;
|
nh.enable = true;
|
||||||
wtfutil.enable = true;
|
|
||||||
waybar.enable = true;
|
waybar.enable = true;
|
||||||
beets.enable = true;
|
beets.enable = true;
|
||||||
spicetify.enable = true;
|
spicetify.enable = true;
|
||||||
schizofox.enable = true;
|
|
||||||
anyrun.enable = true;
|
anyrun.enable = true;
|
||||||
zathura.enable = true;
|
|
||||||
ags.enable = true;
|
ags.enable = true;
|
||||||
foot = {
|
|
||||||
enable = true;
|
|
||||||
server = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
editors = {
|
editors = {
|
||||||
emacs.enable = true;
|
emacs.enable = true;
|
||||||
|
|
|
@ -8,7 +8,6 @@ _: {
|
||||||
./qt.nix
|
./qt.nix
|
||||||
./zathura.nix
|
./zathura.nix
|
||||||
./spicetify.nix
|
./spicetify.nix
|
||||||
./anyrun
|
|
||||||
./rofi.nix
|
./rofi.nix
|
||||||
./kitty.nix
|
./kitty.nix
|
||||||
#./vivado.nix
|
#./vivado.nix
|
||||||
|
|
|
@ -1,143 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
inputs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
cfg = config.modules.system.programs.firefox;
|
|
||||||
inherit (config.modules.other.system) username;
|
|
||||||
|
|
||||||
inherit (lib) mkIf;
|
|
||||||
in {
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
home-manager.users.${username} = {
|
|
||||||
imports = [inputs.schizofox.homeManagerModule];
|
|
||||||
|
|
||||||
programs.schizofox = {
|
|
||||||
enable = true;
|
|
||||||
theme = {
|
|
||||||
# colors = {
|
|
||||||
# background-darker = "181825";
|
|
||||||
# background = "1e1e2e";
|
|
||||||
# foreground = "cdd6f4";
|
|
||||||
# };
|
|
||||||
colors = {
|
|
||||||
background-darker = "1d2021";
|
|
||||||
background = "282828";
|
|
||||||
foreground = "ebdbb2";
|
|
||||||
};
|
|
||||||
|
|
||||||
font = "Lexend";
|
|
||||||
extraUserChrome = ''
|
|
||||||
body {
|
|
||||||
color: red !important;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
search = {
|
|
||||||
defaultSearchEngine = "DuckDuckGo";
|
|
||||||
removeEngines = ["Google" "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia"];
|
|
||||||
addEngines = [
|
|
||||||
{
|
|
||||||
Name = "NixOS Packages";
|
|
||||||
Description = "NixOS Unstable package search";
|
|
||||||
Alias = "!np";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "NixOS Options";
|
|
||||||
Description = "NixOS Unstable option search";
|
|
||||||
Alias = "!no";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "NixOS Wiki";
|
|
||||||
Description = "NixOS Wiki search";
|
|
||||||
Alias = "!nw";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://nixos.wiki/index.php?search={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "Home Manager Options";
|
|
||||||
Description = "Home Manager option search";
|
|
||||||
Alias = "!hm";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "Arch Wiki";
|
|
||||||
Description = "Arch Wiki search";
|
|
||||||
Alias = "!aw";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://wiki.archlinux.org/index.php?search={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "Gentoo Wiki";
|
|
||||||
Description = "Gentoo Wiki search";
|
|
||||||
Alias = "!gw";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://wiki.gentoo.org/index.php?search={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "Debian Wiki";
|
|
||||||
Description = "Debian Wiki search";
|
|
||||||
Alias = "!dw";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "noogle";
|
|
||||||
Descriptiom = "Noogle Search";
|
|
||||||
Alias = "!ng";
|
|
||||||
Method = "GET";
|
|
||||||
URLTemplate = "https://noogle.dev/";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
extensions = {
|
|
||||||
simplefox.enable = true;
|
|
||||||
darkreader.enable = true;
|
|
||||||
extraExtensions = let
|
|
||||||
mkUrl = name: "https://addons.mozilla.org/firefox/downloads/latest/${name}/latest.xpi";
|
|
||||||
extensions = [
|
|
||||||
{
|
|
||||||
id = "1018e4d6-728f-4b20-ad56-37578a4de76";
|
|
||||||
name = "flagfox";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "{c2c003ee-bd69-42a2-b0e9-6f34222cb046}";
|
|
||||||
name = "auto-tab-discard";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "{a4c4eda4-fb84-4a84-b4a1-f7c1cbf2a1ad}";
|
|
||||||
name = "refined-github-";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "sponsorBlocker@ajay.app";
|
|
||||||
name = "sponsorblock";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "uBlock0@raymondhill.net";
|
|
||||||
name = "UBlock Origin";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
extraExtensions = builtins.foldl' (acc: ext: acc // {ext.id = {install_url = mkUrl ext.name;};}) {} extensions;
|
|
||||||
in
|
|
||||||
extraExtensions;
|
|
||||||
};
|
|
||||||
security = {
|
|
||||||
sanitizeOnShutdown = false;
|
|
||||||
sandbox = true;
|
|
||||||
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
|
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
drm.enable = true;
|
|
||||||
disableWebgl = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
0
modules/options/style/gtk.nix
Normal file
0
modules/options/style/gtk.nix
Normal file
12
modules/options/style/module.nix
Normal file
12
modules/options/style/module.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
}: let
|
||||||
|
in {
|
||||||
|
imports = [
|
||||||
|
./stylix.nix
|
||||||
|
./qt.nix
|
||||||
|
./gtk.nix
|
||||||
|
];
|
||||||
|
}
|
0
modules/options/style/qt.nix
Normal file
0
modules/options/style/qt.nix
Normal file
0
modules/options/style/stylix.nix
Normal file
0
modules/options/style/stylix.nix
Normal file
|
@ -11,7 +11,7 @@
|
||||||
in {
|
in {
|
||||||
options.modules.usrEnv = {
|
options.modules.usrEnv = {
|
||||||
desktop = mkOption {
|
desktop = mkOption {
|
||||||
type = enum ["none" "Hyprland" "sway" "awesomewm" "i3"];
|
type = enum ["none" "Hyprland" "awesomewm" "i3"];
|
||||||
default = "none";
|
default = "none";
|
||||||
description = ''
|
description = ''
|
||||||
The desktop environment to be used.
|
The desktop environment to be used.
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
{lib, ...}: let
|
||||||
|
inherit (lib.options) mkOption mkEnableOption;
|
||||||
|
inherit (lib) types;
|
||||||
|
in {
|
||||||
|
options.modules.usrEnv.services.media = {
|
||||||
|
mpd = {
|
||||||
|
enable = mkEnableOption "mpd service";
|
||||||
|
musicDirectory = mkOption {
|
||||||
|
description = "music directory for mpd";
|
||||||
|
type = types.str;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,7 +7,7 @@
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.modules.other.home-manager;
|
cfg = config.modules.other.home-manager;
|
||||||
username = config.modules.other.system.username;
|
inherit (config.modules.other.system) username;
|
||||||
in {
|
in {
|
||||||
options.modules.other.home-manager = {
|
options.modules.other.home-manager = {
|
||||||
enable = mkEnableOption "home-manager";
|
enable = mkEnableOption "home-manager";
|
||||||
|
|
|
@ -30,9 +30,5 @@ in {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = ["wheel"];
|
extraGroups = ["wheel"];
|
||||||
};
|
};
|
||||||
users.users.test = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = ["wheel"];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
6
modules/runners/default.nix
Normal file
6
modules/runners/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
_: {
|
||||||
|
imports = [
|
||||||
|
./rofi
|
||||||
|
./anyrun
|
||||||
|
];
|
||||||
|
}
|
|
@ -4,22 +4,11 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cfg = config.modules.services.mpd;
|
cfg = config.modules.usrEnv.services.media.mpd;
|
||||||
inherit (config.modules.other.system) username;
|
inherit (config.modules.other.system) username;
|
||||||
|
inherit (lib) mkIf;
|
||||||
inherit (lib) mkEnableOption mkIf mkOption;
|
|
||||||
inherit (lib.types) str;
|
|
||||||
in {
|
in {
|
||||||
options.modules.services.mpd = {
|
|
||||||
enable = mkEnableOption "mpd";
|
|
||||||
musicDirectory = mkOption {
|
|
||||||
description = "music directory for mpd";
|
|
||||||
type = str;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
environment.systemPackages = with pkgs; [mpc-cli];
|
|
||||||
systemd.services.mpd.environment = {
|
systemd.services.mpd.environment = {
|
||||||
# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/609
|
# https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/609
|
||||||
XDG_RUNTIME_DIR = "/run/user/1000";
|
XDG_RUNTIME_DIR = "/run/user/1000";
|
||||||
|
@ -49,6 +38,7 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
|
home.Packages = with pkgs; [mpc-cli];
|
||||||
services = {
|
services = {
|
||||||
mpd-mpris = {
|
mpd-mpris = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -4,10 +4,8 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.modules.services.pipewire;
|
cfg = config.modules.system.sound;
|
||||||
in {
|
in {
|
||||||
options.modules.services.pipewire.enable = mkEnableOption "pipewire";
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
hardware.pulseaudio.enable = false;
|
hardware.pulseaudio.enable = false;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
|
|
|
@ -5,9 +5,8 @@
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cfg = config.modules.wms.wayland.hyprland;
|
cfg = config.modules.usrEnv.desktops.hyprland;
|
||||||
inherit (config.modules.other.system) username;
|
inherit (config.modules.other.system) username;
|
||||||
inherit (inputs.hyprland.packages.${pkgs.system}) hyprland;
|
|
||||||
inherit (inputs.anyrun.packages.${pkgs.system}) anyrun;
|
inherit (inputs.anyrun.packages.${pkgs.system}) anyrun;
|
||||||
inherit
|
inherit
|
||||||
(inputs.nixpkgs-wayland.packages.${pkgs.system})
|
(inputs.nixpkgs-wayland.packages.${pkgs.system})
|
||||||
|
@ -20,13 +19,12 @@
|
||||||
split-monitor-workspaces
|
split-monitor-workspaces
|
||||||
;
|
;
|
||||||
in {
|
in {
|
||||||
options.modules.wms.wayland.hyprland.enable = lib.mkEnableOption "hyprland";
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
# xdg Portal
|
# xdg Portal
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
configPackages = [
|
configPackages = [
|
||||||
hyprland
|
# hyprland # TODO Fix hyprland package
|
||||||
];
|
];
|
||||||
extraPortals = [
|
extraPortals = [
|
||||||
pkgs.xdg-desktop-portal-gtk
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
@ -37,7 +35,7 @@ in {
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = hyprland;
|
# package = hyprland; TODO Fix hyprland package
|
||||||
# Split-monitor-workspaces provides awesome-like workspace behaviour
|
# Split-monitor-workspaces provides awesome-like workspace behaviour
|
||||||
plugins = [
|
plugins = [
|
||||||
split-monitor-workspaces
|
split-monitor-workspaces
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue