moving along wiht the refactoring

This commit is contained in:
Charlie Root 2024-07-20 13:56:02 +02:00
commit 91d4b21cdf
18 changed files with 63 additions and 180 deletions

View file

@ -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;

View file

@ -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

View file

@ -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;
};
};
};
};
}

View file

View file

@ -0,0 +1,12 @@
{
lib,
pkgs,
config,
}: let
in {
imports = [
./stylix.nix
./qt.nix
./gtk.nix
];
}

View file

View file

View 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.

View file

@ -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;
};
};
};
}

View file

@ -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";

View file

@ -30,9 +30,5 @@ in {
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel"]; extraGroups = ["wheel"];
}; };
users.users.test = {
isNormalUser = true;
extraGroups = ["wheel"];
};
}; };
} }

View file

@ -0,0 +1,6 @@
_: {
imports = [
./rofi
./anyrun
];
}

View file

@ -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;

View file

@ -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 = {

View file

@ -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