whole flake: working flake-parts
This commit is contained in:
parent
147dedbca8
commit
ed864615e7
16 changed files with 350 additions and 283 deletions
20
flake.lock
generated
20
flake.lock
generated
|
@ -1241,15 +1241,15 @@
|
||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718419213,
|
"lastModified": 1720626042,
|
||||||
"narHash": "sha256-WY7BGnu5PnbK4O8cKKv9kvxwzZIGbIQUQLGPHFXitI0=",
|
"narHash": "sha256-f8k+BezKdJfmE+k7zgBJiohtS3VkkriycdXYsKOm3sc=",
|
||||||
"rev": "253546d5fbf8a5aa60ac8164c1b4f5794dc4e9d1",
|
"rev": "2a4376be20d70feaa2b0e640c5041fb66ddc67ed",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/253546d5fbf8a5aa60ac8164c1b4f5794dc4e9d1.tar.gz"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/2a4376be20d70feaa2b0e640c5041fb66ddc67ed.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.90.0-rc1.tar.gz"
|
"url": "https://git.lix.systems/lix-project/lix/archive/2.90.0.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lix-module": {
|
"lix-module": {
|
||||||
|
@ -1262,15 +1262,15 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718778548,
|
"lastModified": 1720641669,
|
||||||
"narHash": "sha256-64lB/NO6AQ6z6EDCemPSYZWX/Qc6Rt04cPia5T5v01g=",
|
"narHash": "sha256-yEO2cGNgzm9x/XxiDQI+WckSWnZX63R8aJLBRSXtYNE=",
|
||||||
"rev": "29ed1bb67751e5b107d08df35d18dda6d45324e9",
|
"rev": "5c48c833c15bb80d127a398a8c2484d42fdd8257",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/29ed1bb67751e5b107d08df35d18dda6d45324e9.tar.gz"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/5c48c833c15bb80d127a398a8c2484d42fdd8257.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0-rc1.tar.gz"
|
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mnw": {
|
"mnw": {
|
||||||
|
|
17
flake.nix
17
flake.nix
|
@ -1,9 +1,16 @@
|
||||||
{
|
{
|
||||||
description = "My NixOS config flake";
|
description = "My NixOS config flake";
|
||||||
outputs = inputs: {
|
outputs = inputs:
|
||||||
inherit (inputs.nixpkgs) lib;
|
inputs.flake-parts.lib.mkFlake {inherit inputs;} (
|
||||||
nixosConfigurations = import ./hosts {inherit inputs;};
|
{withSystem, ...}: {
|
||||||
};
|
systems = [
|
||||||
|
"x86-64_linux"
|
||||||
|
];
|
||||||
|
flake = {
|
||||||
|
nixosConfigurations = import ./hosts {inherit inputs withSystem;};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
inputs = {
|
inputs = {
|
||||||
# what am I doing to this config help
|
# what am I doing to this config help
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
|
@ -23,7 +30,7 @@
|
||||||
};
|
};
|
||||||
# Lix because fast rebuild times are cool
|
# Lix because fast rebuild times are cool
|
||||||
lix-module = {
|
lix-module = {
|
||||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0-rc1.tar.gz";
|
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,40 @@
|
||||||
{inputs, ...}: let
|
{
|
||||||
|
inputs,
|
||||||
|
withSystem,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (inputs) self;
|
inherit (inputs) self;
|
||||||
inherit (self) lib;
|
inherit (inputs.nixpkgs) lib;
|
||||||
|
|
||||||
|
mkSystem = {
|
||||||
|
withSystem,
|
||||||
|
system,
|
||||||
|
...
|
||||||
|
} @ args:
|
||||||
|
withSystem system (
|
||||||
|
{
|
||||||
|
inputs',
|
||||||
|
self',
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
lib.nixosSystem {
|
||||||
|
inherit system;
|
||||||
|
specialArgs =
|
||||||
|
lib.recursiveUpdate
|
||||||
|
{
|
||||||
|
inherit lib;
|
||||||
|
inherit inputs inputs';
|
||||||
|
inherit self self';
|
||||||
|
inherit system;
|
||||||
|
}
|
||||||
|
(args.specialArgs or {});
|
||||||
|
inherit (args) modules;
|
||||||
|
}
|
||||||
|
);
|
||||||
in {
|
in {
|
||||||
temperance = lib.nixosSystem rec {
|
temperance = mkSystem {
|
||||||
|
inherit withSystem;
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {inherit lib inputs self system;};
|
|
||||||
modules = [
|
modules = [
|
||||||
./vali/temperance
|
./vali/temperance
|
||||||
../modules
|
../modules
|
||||||
|
@ -13,6 +43,19 @@ in {
|
||||||
inputs.lix-module.nixosModules.default
|
inputs.lix-module.nixosModules.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# temperance =
|
||||||
|
# lib.nixosSystem rec {
|
||||||
|
# system = "x86_64-linux";
|
||||||
|
# specialArgs = {
|
||||||
|
# inherit lib;
|
||||||
|
# inherit
|
||||||
|
# inputs
|
||||||
|
# self
|
||||||
|
# system
|
||||||
|
# ;
|
||||||
|
# };
|
||||||
|
# });
|
||||||
hermit = lib.nixosSystem rec {
|
hermit = lib.nixosSystem rec {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {inherit lib inputs self system;};
|
specialArgs = {inherit lib inputs self system;};
|
||||||
|
|
|
@ -51,7 +51,10 @@
|
||||||
usrEnv = {
|
usrEnv = {
|
||||||
desktops.hyprland.enable = true;
|
desktops.hyprland.enable = true;
|
||||||
programs = {
|
programs = {
|
||||||
launchers.anyrun.enable = false;
|
launchers = {
|
||||||
|
anyrun.enable = true;
|
||||||
|
rofi.enable = true;
|
||||||
|
};
|
||||||
media = {
|
media = {
|
||||||
beets.enable = true;
|
beets.enable = true;
|
||||||
mpv.enable = true;
|
mpv.enable = true;
|
||||||
|
@ -106,9 +109,9 @@
|
||||||
};
|
};
|
||||||
theming = {
|
theming = {
|
||||||
quickshell.enable = true;
|
quickshell.enable = true;
|
||||||
gtk = {enable = false;};
|
gtk.enable = false;
|
||||||
qt = {
|
qt = {
|
||||||
enable = true;
|
enable = false;
|
||||||
package = pkgs.kde-gruvbox;
|
package = pkgs.kde-gruvbox;
|
||||||
name = "Gruvbox-Dark";
|
name = "Gruvbox-Dark";
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,6 +7,7 @@ _: {
|
||||||
./services
|
./services
|
||||||
./editors
|
./editors
|
||||||
./wms
|
./wms
|
||||||
|
./runners
|
||||||
./styling
|
./styling
|
||||||
./options
|
./options
|
||||||
];
|
];
|
||||||
|
|
|
@ -101,6 +101,7 @@
|
||||||
direnv
|
direnv
|
||||||
doom-modeline
|
doom-modeline
|
||||||
editorconfig
|
editorconfig
|
||||||
|
emacs-all-the-icons-fonts
|
||||||
evil
|
evil
|
||||||
evil-collection
|
evil-collection
|
||||||
evil-goggles
|
evil-goggles
|
||||||
|
|
|
@ -8,7 +8,6 @@ _: {
|
||||||
./qt.nix
|
./qt.nix
|
||||||
./zathura.nix
|
./zathura.nix
|
||||||
./spicetify.nix
|
./spicetify.nix
|
||||||
./rofi.nix
|
|
||||||
./kitty.nix
|
./kitty.nix
|
||||||
#./vivado.nix
|
#./vivado.nix
|
||||||
./steam.nix
|
./steam.nix
|
||||||
|
|
|
@ -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];};
|
|
||||||
}
|
|
|
@ -4,13 +4,11 @@
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cfg = config.modules.programs.schizofox;
|
cfg = config.modules.system.programs.firefox;
|
||||||
inherit (config.modules.other.system) username;
|
inherit (config.modules.other.system) username;
|
||||||
|
|
||||||
inherit (lib) mkEnableOption mkIf;
|
inherit (lib) mkIf;
|
||||||
in {
|
in {
|
||||||
options.modules.programs.schizofox = {enable = mkEnableOption "schizofox";};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
imports = [inputs.schizofox.homeManagerModule];
|
imports = [inputs.schizofox.homeManagerModule];
|
||||||
|
@ -18,23 +16,13 @@ in {
|
||||||
programs.schizofox = {
|
programs.schizofox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = {
|
theme = {
|
||||||
# colors = {
|
|
||||||
# background-darker = "181825";
|
|
||||||
# background = "1e1e2e";
|
|
||||||
# foreground = "cdd6f4";
|
|
||||||
# };
|
|
||||||
colors = {
|
colors = {
|
||||||
background-darker = "1d2021";
|
background-darker = "1d2021";
|
||||||
background = "282828";
|
background = "282828";
|
||||||
foreground = "ebdbb2";
|
foreground = "ebdbb2";
|
||||||
};
|
};
|
||||||
|
|
||||||
font = "Lexend";
|
font = "ComicShannsMono Nerd Font";
|
||||||
extraUserChrome = ''
|
|
||||||
body {
|
|
||||||
color: red !important;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
search = {
|
search = {
|
||||||
defaultSearchEngine = "DuckDuckGo";
|
defaultSearchEngine = "DuckDuckGo";
|
||||||
|
@ -92,7 +80,7 @@ in {
|
||||||
{
|
{
|
||||||
Name = "noogle";
|
Name = "noogle";
|
||||||
Descriptiom = "Noogle Search";
|
Descriptiom = "Noogle Search";
|
||||||
Alias = "!no";
|
Alias = "!ng";
|
||||||
Method = "GET";
|
Method = "GET";
|
||||||
URLTemplate = "https://noogle.dev/";
|
URLTemplate = "https://noogle.dev/";
|
||||||
}
|
}
|
||||||
|
@ -132,13 +120,13 @@ in {
|
||||||
security = {
|
security = {
|
||||||
sanitizeOnShutdown = false;
|
sanitizeOnShutdown = false;
|
||||||
sandbox = true;
|
sandbox = true;
|
||||||
|
noSessionRestore = false;
|
||||||
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
|
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
|
||||||
};
|
};
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
drm.enable = true;
|
drm.enable = true;
|
||||||
disableWebgl = true;
|
disableWebgl = false;
|
||||||
#startPageURL = "file://${./src}/index.html";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
inputs,
|
inputs',
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
|
@ -34,7 +34,7 @@ in {
|
||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = package;
|
type = package;
|
||||||
default = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
default = inputs'.hyprland.packages.hyprland;
|
||||||
description = ''
|
description = ''
|
||||||
The Hyprland package to be used.
|
The Hyprland package to be used.
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
|
||||||
lib,
|
lib,
|
||||||
inputs,
|
inputs,
|
||||||
|
inputs',
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
with lib; let
|
|
||||||
inherit (config.modules.other.system) username;
|
inherit (config.modules.other.system) username;
|
||||||
cfg = config.modules.usrEnv.programs.launchers.anyrun;
|
cfg = config.modules.usrEnv.programs.launchers.anyrun;
|
||||||
|
inherit (lib) mkIf;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.${username} = {
|
home-manager.users.${username} = {
|
||||||
|
@ -16,7 +16,7 @@ in {
|
||||||
programs.anyrun = {
|
programs.anyrun = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
plugins = with inputs.anyrun.packages.${pkgs.system}; [
|
plugins = with inputs'.anyrun.packages; [
|
||||||
applications
|
applications
|
||||||
dictionary
|
dictionary
|
||||||
#rink
|
#rink
|
||||||
|
@ -42,6 +42,7 @@ in {
|
||||||
Config(
|
Config(
|
||||||
max_entries: 10,
|
max_entries: 10,
|
||||||
terminal: Some("foot"),
|
terminal: Some("foot"),
|
||||||
|
desktop_actions: false
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
"websearch.ron".text = ''
|
"websearch.ron".text = ''
|
||||||
|
|
|
@ -4,203 +4,27 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
inherit (lib) mkIf optionals;
|
|
||||||
inherit (config.modules.other.system) username;
|
inherit (config.modules.other.system) username;
|
||||||
cfg = config.modules.programs.rofi;
|
cfg = config.modules.usrEnv.programs.launchers.rofi;
|
||||||
|
inherit (lib) mkIf;
|
||||||
rofiPackage = with pkgs; rofi-wayland;
|
|
||||||
in {
|
in {
|
||||||
config = mkIf env.programs.launchers.rofi.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.rofi = {
|
home-manager.users.${username} = {
|
||||||
enable = true;
|
programs.rofi = {
|
||||||
package = rofiPackage.override {
|
enable = true;
|
||||||
plugins = [
|
package = pkgs.rofi-wayland;
|
||||||
pkgs.rofi-rbw
|
location = "center";
|
||||||
];
|
extraConfig = {
|
||||||
};
|
modi = "drun,filebrowser";
|
||||||
font = "Iosevka Nerd Font 14";
|
drun-display-format = " {name} ";
|
||||||
extraConfig = {
|
sidebar-mode = true;
|
||||||
modi = "drun,filebrowser,calc,emoji";
|
matching = "prefix";
|
||||||
drun-display-format = " {name} ";
|
scoll-method = 0;
|
||||||
sidebar-mode = true;
|
disable_history = false;
|
||||||
matching = "prefix";
|
show-icons = true;
|
||||||
scroll-method = 0;
|
display-drun = " Run";
|
||||||
disable-history = false;
|
display-run = " Run";
|
||||||
show-icons = true;
|
display-filebrowser = " Files";
|
||||||
|
|
||||||
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";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
208
modules/runners/rofi/default2.nix
Normal file
208
modules/runners/rofi/default2.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,11 +13,14 @@ in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
homeManagerIntegration.followSystem = true;
|
autoEnable = true;
|
||||||
|
homeManagerIntegration = {
|
||||||
|
followSystem = true;
|
||||||
|
autoImport = true;
|
||||||
|
};
|
||||||
base16Scheme = scheme;
|
base16Scheme = scheme;
|
||||||
inherit image;
|
inherit image;
|
||||||
polarity = "dark";
|
polarity = "dark";
|
||||||
autoEnable = true;
|
|
||||||
cursor = {
|
cursor = {
|
||||||
inherit (cursor) size package name;
|
inherit (cursor) size package name;
|
||||||
# package = pkgs.bibata-cursors;
|
# package = pkgs.bibata-cursors;
|
||||||
|
@ -46,6 +49,7 @@ in {
|
||||||
# package = pkgs.lexend;
|
# package = pkgs.lexend;
|
||||||
# name = "Lexend";
|
# name = "Lexend";
|
||||||
# };
|
# };
|
||||||
|
|
||||||
emoji = {
|
emoji = {
|
||||||
package = pkgs.noto-fonts-emoji;
|
package = pkgs.noto-fonts-emoji;
|
||||||
name = "Noto Color Emoji";
|
name = "Noto Color Emoji";
|
||||||
|
@ -55,14 +59,14 @@ in {
|
||||||
applications = 0.9;
|
applications = 0.9;
|
||||||
popups = 0.9;
|
popups = 0.9;
|
||||||
desktop = 0.9;
|
desktop = 0.9;
|
||||||
terminal = 1.0;
|
terminal = 0.9;
|
||||||
};
|
};
|
||||||
targets = {
|
targets = {
|
||||||
console.enable = true;
|
console.enable = true;
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
grub.enable = false;
|
grub.enable = false;
|
||||||
grub.useImage = true;
|
grub.useImage = true;
|
||||||
gtk.enable = true;
|
#gtk.enable = true;
|
||||||
lightdm.enable = true;
|
lightdm.enable = true;
|
||||||
nixos-icons.enable = true;
|
nixos-icons.enable = true;
|
||||||
nixvim.enable = true;
|
nixvim.enable = true;
|
||||||
|
|
|
@ -2,20 +2,20 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
inputs,
|
inputs',
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
cfg = config.modules.usrEnv.desktops.hyprland;
|
cfg = config.modules.usrEnv.desktops.hyprland;
|
||||||
inherit (config.modules.other.system) username;
|
inherit (config.modules.other.system) username;
|
||||||
inherit (inputs.anyrun.packages.${pkgs.system}) anyrun;
|
inherit (inputs'.anyrun.packages) anyrun;
|
||||||
inherit
|
inherit
|
||||||
(inputs.nixpkgs-wayland.packages.${pkgs.system})
|
(inputs'.nixpkgs-wayland.packages)
|
||||||
foot
|
foot
|
||||||
swww
|
swww
|
||||||
wlsunset
|
wlsunset
|
||||||
;
|
;
|
||||||
inherit
|
inherit
|
||||||
(inputs.split-monitor-workspaces.packages.${pkgs.system})
|
(inputs'.split-monitor-workspaces.packages)
|
||||||
split-monitor-workspaces
|
split-monitor-workspaces
|
||||||
;
|
;
|
||||||
in {
|
in {
|
||||||
|
@ -28,7 +28,7 @@ in {
|
||||||
];
|
];
|
||||||
extraPortals = [
|
extraPortals = [
|
||||||
pkgs.xdg-desktop-portal-gtk
|
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";
|
#config.common.default = "hyprland";
|
||||||
};
|
};
|
||||||
|
@ -205,6 +205,7 @@ in {
|
||||||
"$mainMod, Q, killactive"
|
"$mainMod, Q, killactive"
|
||||||
"$mainMod, F, fullscreen, 0"
|
"$mainMod, F, fullscreen, 0"
|
||||||
"$mainMod, D, exec, ${pkgs.procps}/bin/pkill anyrun || ${anyrun}/bin/anyrun"
|
"$mainMod, D, exec, ${pkgs.procps}/bin/pkill anyrun || ${anyrun}/bin/anyrun"
|
||||||
|
#"$mainMod, D, exec, killall rofi || rofi -show drun"
|
||||||
"$mainMod, SPACE, togglefloating, active"
|
"$mainMod, SPACE, togglefloating, active"
|
||||||
|
|
||||||
# workspaces
|
# workspaces
|
||||||
|
@ -262,7 +263,7 @@ in {
|
||||||
"$mainMod, S, exec, ${pkgs.grimblast}/bin/grimblast copy area"
|
"$mainMod, S, exec, ${pkgs.grimblast}/bin/grimblast copy area"
|
||||||
|
|
||||||
# File manager
|
# File manager
|
||||||
"$mainMod, E, exec, ${pkgs.gnome.nautilus}/bin/nautilus"
|
"$mainMod, E, exec, ${pkgs.xfce.thunar}/bin/thunar"
|
||||||
# Toggle the four different special workspaces.
|
# Toggle the four different special workspaces.
|
||||||
"$mainMod, B, togglespecialworkspace, btop"
|
"$mainMod, B, togglespecialworkspace, btop"
|
||||||
"$mainMod, V, togglespecialworkspace, pipewire"
|
"$mainMod, V, togglespecialworkspace, pipewire"
|
||||||
|
|
|
@ -1,30 +1,31 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
material-icons
|
|
||||||
material-design-icons
|
material-design-icons
|
||||||
(nerdfonts.override {fonts = ["Iosevka" "JetBrainsMono" "ComicShannsMono"];})
|
(nerdfonts.override {fonts = ["JetBrainsMono" "ComicShannsMono"];})
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk-sans
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk-serif
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
jetbrains-mono
|
corefonts
|
||||||
lexend
|
|
||||||
emacs-all-the-icons-fonts
|
|
||||||
];
|
];
|
||||||
# What does this do?
|
# What does this do?
|
||||||
|
# fonts.enableDefaultPackages: when set to true,
|
||||||
|
# causes some "basic" fonts to be installed for reasonable Unicode coverage.
|
||||||
|
# Set to true if you are unsure about what languages you
|
||||||
|
# might end up reading.
|
||||||
enableDefaultPackages = false;
|
enableDefaultPackages = false;
|
||||||
|
|
||||||
# this fixes emoji stuff
|
# this fixes emoji stuff
|
||||||
fontconfig = {
|
# fontconfig = {
|
||||||
defaultFonts = {
|
# defaultFonts = {
|
||||||
#monospace = ["JetBrainsMono Nerd Font" "Noto Color Emoji"];
|
# #monospace = ["JetBrainsMono Nerd Font" "Noto Color Emoji"];
|
||||||
|
#
|
||||||
monospace = ["ComicShannsMono Nerd Font" "Noto Color Emoji"];
|
# monospace = ["ComicShannsMono Nerd Font" "Noto Color Emoji"];
|
||||||
sansSerif = ["Lexend" "Noto Color Emoji"];
|
# sansSerif = ["Lexend" "Noto Color Emoji"];
|
||||||
serif = ["Noto Serif" "Noto Color Emoji"];
|
# serif = ["Noto Serif" "Noto Color Emoji"];
|
||||||
emoji = ["Noto Color Emoji"];
|
# emoji = ["Noto Color Emoji"];
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue