whole flake: working flake-parts

This commit is contained in:
Charlie Root 2024-07-21 20:14:19 +02:00
commit ed864615e7
16 changed files with 350 additions and 283 deletions

View file

@ -7,6 +7,7 @@ _: {
./services
./editors
./wms
./runners
./styling
./options
];

View file

@ -101,6 +101,7 @@
direnv
doom-modeline
editorconfig
emacs-all-the-icons-fonts
evil
evil-collection
evil-goggles

View file

@ -8,7 +8,6 @@ _: {
./qt.nix
./zathura.nix
./spicetify.nix
./rofi.nix
./kitty.nix
#./vivado.nix
./steam.nix

View file

@ -1,14 +0,0 @@
{
config,
pkgs,
lib,
...
}:
with lib; let
username = config.modules.other.system.username;
cfg = config.modules.programs.rofi;
in {
options.modules.programs.rofi.enable = mkEnableOption "rofi";
config =
mkIf cfg.enable {environment.systemPackages = with pkgs; [rofi];};
}

View file

@ -4,13 +4,11 @@
lib,
...
}: let
cfg = config.modules.programs.schizofox;
cfg = config.modules.system.programs.firefox;
inherit (config.modules.other.system) username;
inherit (lib) mkEnableOption mkIf;
inherit (lib) mkIf;
in {
options.modules.programs.schizofox = {enable = mkEnableOption "schizofox";};
config = mkIf cfg.enable {
home-manager.users.${username} = {
imports = [inputs.schizofox.homeManagerModule];
@ -18,23 +16,13 @@ in {
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;
}
'';
font = "ComicShannsMono Nerd Font";
};
search = {
defaultSearchEngine = "DuckDuckGo";
@ -92,7 +80,7 @@ in {
{
Name = "noogle";
Descriptiom = "Noogle Search";
Alias = "!no";
Alias = "!ng";
Method = "GET";
URLTemplate = "https://noogle.dev/";
}
@ -132,13 +120,13 @@ in {
security = {
sanitizeOnShutdown = false;
sandbox = true;
noSessionRestore = false;
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
};
misc = {
drm.enable = true;
disableWebgl = true;
#startPageURL = "file://${./src}/index.html";
disableWebgl = false;
};
};
};

View file

@ -1,5 +1,5 @@
{
inputs,
inputs',
config,
pkgs,
lib,
@ -34,7 +34,7 @@ in {
package = mkOption {
type = package;
default = inputs.hyprland.packages.${pkgs.system}.hyprland;
default = inputs'.hyprland.packages.hyprland;
description = ''
The Hyprland package to be used.
'';

View file

@ -1,13 +1,13 @@
{
config,
pkgs,
lib,
inputs,
inputs',
...
}:
with lib; let
}: let
inherit (config.modules.other.system) username;
cfg = config.modules.usrEnv.programs.launchers.anyrun;
inherit (lib) mkIf;
in {
config = mkIf cfg.enable {
home-manager.users.${username} = {
@ -16,7 +16,7 @@ in {
programs.anyrun = {
enable = true;
config = {
plugins = with inputs.anyrun.packages.${pkgs.system}; [
plugins = with inputs'.anyrun.packages; [
applications
dictionary
#rink
@ -42,6 +42,7 @@ in {
Config(
max_entries: 10,
terminal: Some("foot"),
desktop_actions: false
)
'';
"websearch.ron".text = ''

View file

@ -4,203 +4,27 @@
pkgs,
...
}: let
inherit (lib) mkIf optionals;
inherit (config.modules.other.system) username;
cfg = config.modules.programs.rofi;
rofiPackage = with pkgs; rofi-wayland;
cfg = config.modules.usrEnv.programs.launchers.rofi;
inherit (lib) mkIf;
in {
config = mkIf env.programs.launchers.rofi.enable {
programs.rofi = {
enable = true;
package = rofiPackage.override {
plugins = [
pkgs.rofi-rbw
];
};
font = "Iosevka Nerd Font 14";
extraConfig = {
modi = "drun,filebrowser,calc,emoji";
drun-display-format = " {name} ";
sidebar-mode = true;
matching = "prefix";
scroll-method = 0;
disable-history = false;
show-icons = true;
display-drun = " Run";
display-run = " Run";
display-filebrowser = " Files";
display-calc = "󰃬 Calculator";
display-emoji = "💀 Emoji";
};
theme = let
inherit (osConfig.modules.style.colorScheme) colors;
inherit (config.lib.formats.rasi) mkLiteral;
in {
"*" = {
background = mkLiteral "#${colors.base02}";
background-alt = mkLiteral "#${colors.base02}";
foreground = mkLiteral "#${colors.base05}";
selected = mkLiteral "#${colors.base00}";
active = mkLiteral "#${colors.base0D}";
urgent = mkLiteral "#${colors.base00}";
};
"window" = {
transparency = "real";
location = mkLiteral "center";
anchor = mkLiteral "center";
fullscreen = mkLiteral "false";
width = mkLiteral "600px";
x-offset = mkLiteral "0px";
y-offset = mkLiteral "0px";
enabled = mkLiteral "true";
border-radius = mkLiteral "20px";
border = mkLiteral "4px";
border-color = mkLiteral "#${colors.base02}";
cursor = "default";
background-color = mkLiteral "@background";
};
"mainbox" = {
enabled = true;
spacing = mkLiteral "0px";
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = mkLiteral "[inputbar,listbox]";
};
"listbox" = {
spacing = mkLiteral "10px";
padding = mkLiteral "10px 10px 10px 15px";
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = mkLiteral "[message,listview]";
};
"inputbar" = {
enabled = true;
spacing = mkLiteral "10px";
padding = mkLiteral "30px 20px 30px 20px";
background-color = mkLiteral "@selected";
text-color = mkLiteral "@foreground";
orientation = mkLiteral "horizontal";
children = mkLiteral "[prompt,entry]";
};
"entry" = {
enabled = true;
expand = true;
width = mkLiteral "300px";
padding = mkLiteral "12px 15px";
border-radius = mkLiteral "15px";
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "inherit";
cursor = mkLiteral "text";
placeholder = "Search";
placeholder-color = mkLiteral "inherit";
};
"prompt" = {
width = mkLiteral "64px";
font = "Iosevka Nerd Font 13";
padding = mkLiteral "10px 20px 10px 20px";
border-radius = mkLiteral "15px";
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "inherit";
cursor = mkLiteral "pointer";
};
"mode-switcher" = {
enabled = true;
spacing = mkLiteral "10px";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@foreground";
};
"button" = {
width = mkLiteral "48px";
font = "Iosevka Nerd Font 14";
padding = mkLiteral "8px 5px 8px 8px";
border-radius = mkLiteral "15px";
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "inherit";
cursor = mkLiteral "pointer";
};
"button selected" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@foreground";
};
"listview" = {
enabled = true;
columns = 2;
lines = 7;
cycle = true;
dynamic = true;
srollbar = false;
layout = mkLiteral "vertical";
reverse = false;
fixed-height = true;
fixed-columns = false;
spacing = mkLiteral "5px";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@foreground";
cursor = mkLiteral "default";
};
"element" = {
enabled = true;
spacing = mkLiteral "15px";
padding = mkLiteral "7px";
border-radius = mkLiteral "100%";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@foreground";
cursor = mkLiteral "pointer";
};
"element normal.normal" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
"element normal.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@foreground";
};
"element normal.active" = {
background-color = mkLiteral "@background";
text-color = mkLiteral "@active";
};
"element selected.normal" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@foreground";
};
"element selected.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@foreground";
};
"element selected.active" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@active";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
size = mkLiteral "32px";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"message" = {background-color = mkLiteral "transparent";};
"textbox" = {
padding = mkLiteral "12px";
border-radius = mkLiteral "100%";
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@foreground";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"error-message" = {
padding = mkLiteral "12px";
border-radius = mkLiteral "20px";
background-color = mkLiteral "@background";
text-color = mkLiteral "@foreground";
config = mkIf cfg.enable {
home-manager.users.${username} = {
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
location = "center";
extraConfig = {
modi = "drun,filebrowser";
drun-display-format = " {name} ";
sidebar-mode = true;
matching = "prefix";
scoll-method = 0;
disable_history = false;
show-icons = true;
display-drun = " Run";
display-run = " Run";
display-filebrowser = " Files";
};
};
};

View file

@ -0,0 +1,208 @@
{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIf optionals;
inherit (config.modules.other.system) username;
cfg = config.modules.programs.rofi;
rofiPackage = with pkgs; rofi-wayland;
in {
config = mkIf env.programs.launchers.rofi.enable {
programs.rofi = {
enable = true;
package = rofiPackage.override {
plugins = [
pkgs.rofi-rbw
];
};
font = "Iosevka Nerd Font 14";
extraConfig = {
modi = "drun,filebrowser,calc,emoji";
drun-display-format = " {name} ";
sidebar-mode = true;
matching = "prefix";
scroll-method = 0;
disable-history = false;
show-icons = true;
display-drun = " Run";
display-run = " Run";
display-filebrowser = " Files";
display-calc = "󰃬 Calculator";
display-emoji = "💀 Emoji";
};
theme = let
inherit (osConfig.modules.style.colorScheme) colors;
inherit (config.lib.formats.rasi) mkLiteral;
in {
"*" = {
background = mkLiteral "#${colors.base02}";
background-alt = mkLiteral "#${colors.base02}";
foreground = mkLiteral "#${colors.base05}";
selected = mkLiteral "#${colors.base00}";
active = mkLiteral "#${colors.base0D}";
urgent = mkLiteral "#${colors.base00}";
};
"window" = {
transparency = "real";
location = mkLiteral "center";
anchor = mkLiteral "center";
fullscreen = mkLiteral "false";
width = mkLiteral "600px";
x-offset = mkLiteral "0px";
y-offset = mkLiteral "0px";
enabled = mkLiteral "true";
border-radius = mkLiteral "20px";
border = mkLiteral "4px";
border-color = mkLiteral "#${colors.base02}";
cursor = "default";
background-color = mkLiteral "@background";
};
"mainbox" = {
enabled = true;
spacing = mkLiteral "0px";
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = mkLiteral "[inputbar,listbox]";
};
"listbox" = {
spacing = mkLiteral "10px";
padding = mkLiteral "10px 10px 10px 15px";
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = mkLiteral "[message,listview]";
};
"inputbar" = {
enabled = true;
spacing = mkLiteral "10px";
padding = mkLiteral "30px 20px 30px 20px";
background-color = mkLiteral "@selected";
text-color = mkLiteral "@foreground";
orientation = mkLiteral "horizontal";
children = mkLiteral "[prompt,entry]";
};
"entry" = {
enabled = true;
expand = true;
width = mkLiteral "300px";
padding = mkLiteral "12px 15px";
border-radius = mkLiteral "15px";
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "inherit";
cursor = mkLiteral "text";
placeholder = "Search";
placeholder-color = mkLiteral "inherit";
};
"prompt" = {
width = mkLiteral "64px";
font = "Iosevka Nerd Font 13";
padding = mkLiteral "10px 20px 10px 20px";
border-radius = mkLiteral "15px";
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "inherit";
cursor = mkLiteral "pointer";
};
"mode-switcher" = {
enabled = true;
spacing = mkLiteral "10px";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@foreground";
};
"button" = {
width = mkLiteral "48px";
font = "Iosevka Nerd Font 14";
padding = mkLiteral "8px 5px 8px 8px";
border-radius = mkLiteral "15px";
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "inherit";
cursor = mkLiteral "pointer";
};
"button selected" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@foreground";
};
"listview" = {
enabled = true;
columns = 2;
lines = 7;
cycle = true;
dynamic = true;
srollbar = false;
layout = mkLiteral "vertical";
reverse = false;
fixed-height = true;
fixed-columns = false;
spacing = mkLiteral "5px";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@foreground";
cursor = mkLiteral "default";
};
"element" = {
enabled = true;
spacing = mkLiteral "15px";
padding = mkLiteral "7px";
border-radius = mkLiteral "100%";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@foreground";
cursor = mkLiteral "pointer";
};
"element normal.normal" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
"element normal.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@foreground";
};
"element normal.active" = {
background-color = mkLiteral "@background";
text-color = mkLiteral "@active";
};
"element selected.normal" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@foreground";
};
"element selected.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@foreground";
};
"element selected.active" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@active";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
size = mkLiteral "32px";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"message" = {background-color = mkLiteral "transparent";};
"textbox" = {
padding = mkLiteral "12px";
border-radius = mkLiteral "100%";
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@foreground";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"error-message" = {
padding = mkLiteral "12px";
border-radius = mkLiteral "20px";
background-color = mkLiteral "@background";
text-color = mkLiteral "@foreground";
};
};
};
};
}

View file

@ -13,11 +13,14 @@ in {
config = mkIf cfg.enable {
stylix = {
enable = true;
homeManagerIntegration.followSystem = true;
autoEnable = true;
homeManagerIntegration = {
followSystem = true;
autoImport = true;
};
base16Scheme = scheme;
inherit image;
polarity = "dark";
autoEnable = true;
cursor = {
inherit (cursor) size package name;
# package = pkgs.bibata-cursors;
@ -46,6 +49,7 @@ in {
# package = pkgs.lexend;
# name = "Lexend";
# };
emoji = {
package = pkgs.noto-fonts-emoji;
name = "Noto Color Emoji";
@ -55,14 +59,14 @@ in {
applications = 0.9;
popups = 0.9;
desktop = 0.9;
terminal = 1.0;
terminal = 0.9;
};
targets = {
console.enable = true;
fish.enable = true;
grub.enable = false;
grub.useImage = true;
gtk.enable = true;
#gtk.enable = true;
lightdm.enable = true;
nixos-icons.enable = true;
nixvim.enable = true;

View file

@ -2,20 +2,20 @@
config,
pkgs,
lib,
inputs,
inputs',
...
}: let
cfg = config.modules.usrEnv.desktops.hyprland;
inherit (config.modules.other.system) username;
inherit (inputs.anyrun.packages.${pkgs.system}) anyrun;
inherit (inputs'.anyrun.packages) anyrun;
inherit
(inputs.nixpkgs-wayland.packages.${pkgs.system})
(inputs'.nixpkgs-wayland.packages)
foot
swww
wlsunset
;
inherit
(inputs.split-monitor-workspaces.packages.${pkgs.system})
(inputs'.split-monitor-workspaces.packages)
split-monitor-workspaces
;
in {
@ -28,7 +28,7 @@ in {
];
extraPortals = [
pkgs.xdg-desktop-portal-gtk
inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
inputs'.hyprland.packages.xdg-desktop-portal-hyprland
];
#config.common.default = "hyprland";
};
@ -205,6 +205,7 @@ in {
"$mainMod, Q, killactive"
"$mainMod, F, fullscreen, 0"
"$mainMod, D, exec, ${pkgs.procps}/bin/pkill anyrun || ${anyrun}/bin/anyrun"
#"$mainMod, D, exec, killall rofi || rofi -show drun"
"$mainMod, SPACE, togglefloating, active"
# workspaces
@ -262,7 +263,7 @@ in {
"$mainMod, S, exec, ${pkgs.grimblast}/bin/grimblast copy area"
# File manager
"$mainMod, E, exec, ${pkgs.gnome.nautilus}/bin/nautilus"
"$mainMod, E, exec, ${pkgs.xfce.thunar}/bin/thunar"
# Toggle the four different special workspaces.
"$mainMod, B, togglespecialworkspace, btop"
"$mainMod, V, togglespecialworkspace, pipewire"