Switch to module-based rice

This commit is contained in:
Filippo Berto 2024-10-22 18:49:26 +02:00
parent a8ee39aaa3
commit 61329e5f96
No known key found for this signature in database
GPG key ID: FE98AE5EC52B1056
19 changed files with 505 additions and 547 deletions

44
flake.lock generated
View file

@ -165,24 +165,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"git-hooks-nix": { "git-hooks-nix": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_3",
@ -353,14 +335,14 @@
"kitty-themes-src": "kitty-themes-src", "kitty-themes-src": "kitty-themes-src",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nixpkgs-lib": "nixpkgs-lib_3", "nixpkgs-lib": "nixpkgs-lib_3",
"systems": "systems_4" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1729514200, "lastModified": 1729607158,
"narHash": "sha256-rrzFumYWlFwjUs1uSmsOgBzqWxDysaRbFj4Wh9paVLc=", "narHash": "sha256-H0cr8kohjo+fJIKIpcLZwtmRUGH01Gyld0ulhfqe/Rw=",
"owner": "bertof", "owner": "bertof",
"repo": "nix-rice", "repo": "nix-rice",
"rev": "9e5da4fa06a0c9a7300d70266660136cc08b81bf", "rev": "2a4b7d31de444ab5d1f8623f41f0382c9e3eac33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -577,7 +559,6 @@
"deploy-rs": "deploy-rs", "deploy-rs": "deploy-rs",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"flake-utils": "flake-utils",
"git-hooks-nix": "git-hooks-nix", "git-hooks-nix": "git-hooks-nix",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"home-manager-u": "home-manager-u", "home-manager-u": "home-manager-u",
@ -586,7 +567,7 @@
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"nixpkgs-u": "nixpkgs-u", "nixpkgs-u": "nixpkgs-u",
"systems": "systems_5" "systems": "systems_4"
} }
}, },
"systems": { "systems": {
@ -649,21 +630,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": { "utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_2"

359
flake.nix
View file

@ -25,7 +25,6 @@
nixpkgs.follows = "nixpkgs"; nixpkgs.follows = "nixpkgs";
}; };
}; };
flake-utils.url = "github:numtide/flake-utils";
nix-rice.url = "github:bertof/nix-rice/modules"; nix-rice.url = "github:bertof/nix-rice/modules";
nixos-generators = { nixos-generators = {
url = "github:nix-community/nixos-generators"; url = "github:nix-community/nixos-generators";
@ -53,15 +52,10 @@
]; ];
}; };
basic_module = { basic_module = {
nixpkgs = { nixpkgs = {
config = nix-config; config = nix-config;
overlays = [ overlays = [
# Nix rice
inputs.nix-rice.overlays.default
inputs.self.overlays.rice
# packages # packages
inputs.self.overlays.packages inputs.self.overlays.packages
inputs.self.overlays.overrides inputs.self.overlays.overrides
@ -97,6 +91,9 @@
# Nix configuration # Nix configuration
basic_module basic_module
inputs.nix-rice.modules.default
./modules/nixos/rice.nix
# S3 cache read # S3 cache read
./modules/nixos/s3_cache_read.nix ./modules/nixos/s3_cache_read.nix
@ -137,10 +134,7 @@
./modules/nixos/musa.nix ./modules/nixos/musa.nix
] ++ homeManagerUModules ++ [{ home-manager.users.bertof = import ./instances/odin/hm.nix; }]; ] ++ homeManagerUModules ++ [{ home-manager.users.bertof = import ./instances/odin/hm.nix; }];
installerModules = commonModules ++ [ ./modules/nixos/installer.nix ]; installerModules = commonModules ++ [ ./modules/nixos/installer.nix ];
in in
inputs.flake-parts.lib.mkFlake { inherit inputs; } { inputs.flake-parts.lib.mkFlake { inherit inputs; } {
systems = import inputs.systems; systems = import inputs.systems;
@ -152,8 +146,7 @@
inherit system; inherit system;
config = nix-config; config = nix-config;
overlays = [ overlays = [
inputs.nix-rice.overlays.default # inputs.nix-rice.overlays.default
# inputs.self.overlays.rice.default
inputs.self.overlays.packages inputs.self.overlays.packages
]; ];
}; };
@ -224,8 +217,6 @@
overlays = { overlays = {
default = inputs.self.overlays.packages; default = inputs.self.overlays.packages;
rice = import ./rice.nix;
packages = self: _super: { packages = self: _super: {
keyboard-switch = self.callPackage ./pkgs/keyboard-switch { }; keyboard-switch = self.callPackage ./pkgs/keyboard-switch { };
sddm-sugar-dark = self.callPackage ./pkgs/sddm-sugar-dark { }; sddm-sugar-dark = self.callPackage ./pkgs/sddm-sugar-dark { };
@ -235,10 +226,9 @@
wl-update-background = self.callPackage ./pkgs/wl-update-background { }; wl-update-background = self.callPackage ./pkgs/wl-update-background { };
}; };
overrides = self: super: { overrides = _self: super: {
google-chrome = super.google-chrome.override { commandLineArgs = [ "--password-store=gnome" "--force-dark-mode" ]; }; google-chrome = super.google-chrome.override { commandLineArgs = [ "--password-store=gnome" "--force-dark-mode" ]; };
sddm-theme-clairvoyance = super.sddm-theme-clairvoyance.override { wallpaper = ./wallpapers/background.jpg; }; sddm-theme-clairvoyance = super.sddm-theme-clairvoyance.override { wallpaper = ./wallpapers/background.jpg; };
wl-lockscreen = super.wl-lockscreen.override { strPalette = self.lib.nix-rice.palette.toRgbaShortHex self.rice.colorPalette; font = self.rice.font.normal; };
}; };
# two-channels = (self: _: { # two-channels = (self: _: {
@ -253,191 +243,174 @@
# }); # });
}; };
nixosConfigurations = nixosConfigurations = {
{ thor = inputs.nixpkgs-u.lib.nixosSystem {
system = "x86_64-linux";
modules = commonModules ++ [
./instances/thor/hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-pc-ssd
./instances/thor/configuration.nix
thor = inputs.nixpkgs-u.lib.nixosSystem { # S3 cache write
system = "x86_64-linux"; ./modules/nixos/s3_cache_write.nix
modules =
commonModules
++ [
./instances/thor/hardware-configuration.nix
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-pc-ssd
./instances/thor/configuration.nix
# S3 cache write ./modules/nixos/pro_audio.nix
./modules/nixos/s3_cache_write.nix ./modules/nixos/kdeconnect.nix
./modules/nixos/steam.nix
./modules/nixos/pro_audio.nix ./modules/nixos/plymouth.nix
./modules/nixos/kdeconnect.nix ./modules/nixos/hyprland.nix
./modules/nixos/steam.nix {
home-manager.users.bertof.imports = [
./modules/nixos/plymouth.nix ./modules/hm/hyprland.nix
./modules/nixos/hyprland.nix ./modules/hm/swayidle.nix
{
home-manager.users.bertof.imports = [
./modules/hm/hyprland.nix
./modules/hm/swayidle.nix
];
}
./modules/nixos/musa.nix
]
++ homeManagerUModules
++ [{ home-manager.users.bertof = import ./instances/thor/hm.nix; }];
};
odin-nvidia = inputs.nixpkgs-u.lib.nixosSystem {
system = "x86_64-linux";
modules = commonModules ++ odinCommonModules ++ [ ./instances/odin/configuration-nvidia.nix ];
};
odin = inputs.nixpkgs-u.lib.nixosSystem {
system = "x86_64-linux";
modules = commonModules ++ odinCommonModules ++ [ ./instances/odin/configuration-intel.nix ];
};
heimdall = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules =
commonModules
++ [
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-gpu-amd
inputs.nixos-hardware.nixosModules.common-pc-ssd
./modules/nixos/server
./instances/heimdall/hardware-configuration.nix
./instances/heimdall/configuration.nix
./modules/nixos/users/tiziano.nix
./modules/nixos/torrentbox.nix
./modules/nixos/minio.nix
./modules/nixos/rclone.nix
./modules/nixos/nextcloud.nix
# ./modules/nixos/ntfy.nix
# S3 cache read
./modules/nixos/s3_cache_read.nix
]
++ homeManagerModules
++ [{ home-manager.users.bertof = import ./instances/heimdall/hm.nix; }];
};
freya = inputs.nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
modules =
commonModules
++ [
inputs.nixos-hardware.nixosModules.raspberry-pi-4
(
{ lib, ... }:
{
boot.supportedFilesystems = lib.mkForce [
"btrfs"
"reiserfs"
"vfat"
"f2fs"
"xfs"
"ntfs"
"cifs"
];
}
)
./modules/nixos/server
./instances/freya/hardware-configuration.nix
./instances/freya/configuration.nix
./modules/nixos/users/tiziano.nix
./modules/nixos/torrentbox.nix
./modules/nixos/minio.nix
# ./modules/nixos/nextcloud.nix
./modules/nixos/ntfy.nix
# S3 cache read
./modules/nixos/s3_cache_read.nix
]
++ homeManagerModules
++ [{ home-manager.users.bertof = import ./instances/freya/hm.nix; }];
};
baldur = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = commonModules ++ [
./modules/nixos/server
./instances/baldur/hardware-configuration.nix
./instances/baldur/configuration.nix
# ./modules/nixos/digitalocean.nix
./modules/nixos/users/tiziano.nix
# S3 cache read
./modules/nixos/s3_cache_read.nix
]
# ++ homeManagerModules ++ [{
# home-manager.users.bertof = import ./instances/baldur/hm.nix;
# home-manager.users.tiziano = import ./instances/baldur/hm_tiziano.nix;
# }]
;
};
loki = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules =
commonModules
++ [
./modules/nixos/server
inputs.nixos-hardware.nixosModules.common-cpu-intel
inputs.nixos-hardware.nixosModules.common-pc-ssd
./instances/loki/hardware-configuration.nix
./instances/loki/configuration.nix
./modules/nixos/users/tiziano.nix
# S3 cache read
./modules/nixos/s3_cache_read.nix
]
++ homeManagerModules
++ [
{
home-manager.users.bertof = import ./instances/loki/hm.nix;
home-manager.users.tiziano = import ./instances/loki/hm_tiziano.nix;
}
]; ];
}
./modules/nixos/musa.nix
] ++ homeManagerUModules ++ [{
home-manager.users.bertof = import ./instances/thor/hm.nix;
}];
};
odin-nvidia = inputs.nixpkgs-u.lib.nixosSystem {
system = "x86_64-linux";
modules = commonModules ++ odinCommonModules ++ [ ./instances/odin/configuration-nvidia.nix ];
};
odin = inputs.nixpkgs-u.lib.nixosSystem {
system = "x86_64-linux";
modules = commonModules ++ odinCommonModules ++ [ ./instances/odin/configuration-intel.nix ];
};
heimdall = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = commonModules ++ [
inputs.nixos-hardware.nixosModules.common-cpu-amd
inputs.nixos-hardware.nixosModules.common-gpu-amd
inputs.nixos-hardware.nixosModules.common-pc-ssd
./modules/nixos/server
./instances/heimdall/hardware-configuration.nix
./instances/heimdall/configuration.nix
./modules/nixos/users/tiziano.nix
./modules/nixos/torrentbox.nix
./modules/nixos/minio.nix
./modules/nixos/rclone.nix
./modules/nixos/nextcloud.nix
# ./modules/nixos/ntfy.nix
# S3 cache read
./modules/nixos/s3_cache_read.nix
] ++ homeManagerModules ++ [{
home-manager.users.bertof = import ./instances/heimdall/hm.nix;
}];
};
freya = inputs.nixpkgs.lib.nixosSystem {
system = "aarch64-linux";
modules = commonModules ++ [
inputs.nixos-hardware.nixosModules.raspberry-pi-4
({ lib, ... }: {
boot.supportedFilesystems = lib.mkForce [
"btrfs"
"reiserfs"
"vfat"
"f2fs"
"xfs"
"ntfs"
"cifs"
];
})
./modules/nixos/server
./instances/freya/hardware-configuration.nix
./instances/freya/configuration.nix
./modules/nixos/users/tiziano.nix
./modules/nixos/torrentbox.nix
./modules/nixos/minio.nix
# ./modules/nixos/nextcloud.nix
./modules/nixos/ntfy.nix
# S3 cache read
./modules/nixos/s3_cache_read.nix
] ++ homeManagerModules ++ [{
home-manager.users.bertof = import ./instances/freya/hm.nix;
}];
};
baldur = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = commonModules ++ [
./modules/nixos/server
./instances/baldur/hardware-configuration.nix
./instances/baldur/configuration.nix
# ./modules/nixos/digitalocean.nix
./modules/nixos/users/tiziano.nix
# S3 cache read
./modules/nixos/s3_cache_read.nix
]
# ++ homeManagerModules ++ [{
# home-manager.users.bertof = import ./instances/baldur/hm.nix;
# home-manager.users.tiziano = import ./instances/baldur/hm_tiziano.nix;
# }]
;
};
loki = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = commonModules ++ [
./modules/nixos/server
inputs.nixos-hardware.nixosModules.common-cpu-intel
inputs.nixos-hardware.nixosModules.common-pc-ssd
./instances/loki/hardware-configuration.nix
./instances/loki/configuration.nix
./modules/nixos/users/tiziano.nix
# S3 cache read
./modules/nixos/s3_cache_read.nix
] ++ homeManagerModules ++ [{
home-manager.users.bertof = import ./instances/loki/hm.nix;
home-manager.users.tiziano = import ./instances/loki/hm_tiziano.nix;
}];
};
# # Deploy-rs checks
# checks = builtins.mapAttrs (_system: deployLib: deployLib.deployChecks inputs.self.deploy) inputs.deploy-rs.lib;
# Map nodes to Deploy-rs deployments
deploy.nodes = {
baldur = {
hostname = "baldur.bertof.net";
profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.baldur; };
}; };
freya = {
# # Deploy-rs checks hostname = "freya.tsn";
# checks = builtins.mapAttrs (_system: deployLib: deployLib.deployChecks inputs.self.deploy) inputs.deploy-rs.lib; profiles.system = { user = "root"; path = inputs.deploy-rs.lib.aarch64-linux.activate.nixos inputs.self.nixosConfigurations.freya; };
};
# Map nodes to Deploy-rs deployments heimdall = {
deploy.nodes = { hostname = "heimdall.tsn";
baldur = { profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.heimdall; };
hostname = "baldur.bertof.net"; };
profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.baldur; }; loki = {
}; hostname = "loki.tsn";
freya = { profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.loki; };
hostname = "freya.tsn"; };
profiles.system = { user = "root"; path = inputs.deploy-rs.lib.aarch64-linux.activate.nixos inputs.self.nixosConfigurations.freya; }; odin = {
}; hostname = "odin.tsn";
heimdall = { profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.odin; };
hostname = "heimdall.tsn"; };
profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.heimdall; }; thor = {
}; hostname = "thor.tsn";
loki = { profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.thor; };
hostname = "loki.tsn";
profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.loki; };
};
odin = {
hostname = "odin.tsn";
profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.odin; };
};
thor = {
hostname = "thor.tsn";
profiles.system = { user = "root"; path = inputs.deploy-rs.lib.x86_64-linux.activate.nixos inputs.self.nixosConfigurations.thor; };
};
}; };
}; };
};
}; };
}; };
} }

View file

@ -1,8 +1,10 @@
{ pkgs, ... }: { nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex rec { inherit (nixosConfig.nix-rice) rice;
inherit (pkgs.rice.colorPalette) normal bright primary; strPalette = palette.toRgbHex rec {
dim = pkgs.rice.colorPalette.dark; inherit (rice.colorPalette) normal bright primary;
dim = rice.colorPalette.dark;
cursor = { cursor = {
cursor = normal.white; cursor = normal.white;
text = normal.black; text = normal.black;
@ -23,7 +25,7 @@ let
in in
{ {
# Include fonts packages # Include fonts packages
home.packages = [ pkgs.rice.font.monospace.package ]; home.packages = [ rice.font.monospace.package ];
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;
settings = { settings = {
@ -41,10 +43,10 @@ in
}; };
scrolling.history = 3000; scrolling.history = 3000;
font = { font = {
normal.family = pkgs.rice.font.monospace.name; normal.family = rice.font.monospace.name;
inherit (pkgs.rice.font.monospace) size; inherit (rice.font.monospace) size;
}; };
window.opacity = pkgs.rice.opacity; window.opacity = rice.opacity;
mouse = { mouse = {
# hide_when_typing = true; # hide_when_typing = true;
hints.modifiers = "Control"; hints.modifiers = "Control";

View file

@ -1,6 +1,7 @@
{ pkgs, lib, ... }: { pkgs, lib, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette; strPalette = palette.toRgbHex nixosConfig.nix-rice.rice.colorPalette;
fmtString = str: "'${str}'"; fmtString = str: "'${str}'";
in in
{ {

View file

@ -1,26 +1,24 @@
{ pkgs, ... }: { pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
inherit (pkgs.lib) nix-rice; inherit (nixosConfig.nix-rice) rice;
strPalette = nix-rice.palette.toRGBHex pkgs.rice.colorPalette; strPalette = palette.toRGBHex rice.colorPalette;
in in
{ {
home.packages = builtins.attrValues { home.packages = builtins.attrValues {
inherit (pkgs) dunst; inherit (pkgs) dunst;
inherit (pkgs.rice.font.normal) package; inherit (rice.font.normal) package;
}; };
services.dunst = { services.dunst = {
enable = true; enable = true;
iconTheme = { iconTheme = { package = pkgs.qogir-icon-theme; name = "Qogir"; };
package = pkgs.qogir-icon-theme;
name = "Qogir";
};
settings = { settings = {
global = { global = {
browser = "${pkgs.xdg-utils}/bin/xdg-open"; browser = "${pkgs.xdg-utils}/bin/xdg-open";
corner_radius = 10; corner_radius = 10;
dmenu = "${pkgs.rofi}/bin/rofi -dmenu -p dunst:"; dmenu = "${pkgs.rofi}/bin/rofi -dmenu -p dunst:";
follow = "keyboard"; follow = "keyboard";
font = "${pkgs.rice.font.normal.name} 10"; font = "${rice.font.normal.name} 10";
frame_color = strPalette.normal.blue; frame_color = strPalette.normal.blue;
frame_width = 1; frame_width = 1;
height = 320; height = 320;
@ -28,7 +26,7 @@ in
notification_limit = 10; notification_limit = 10;
offset = "7x7"; offset = "7x7";
separator_color = strPalette.normal.blue; separator_color = strPalette.normal.blue;
transparency = 100 - nix-rice.float.round (pkgs.rice.opacity * 100); transparency = 100 - nix-rice.float.round (rice.opacity * 100);
width = "(0, 320)"; width = "(0, 320)";
}; };
urgency_low = { urgency_low = {

View file

@ -1,8 +1,8 @@
{ pkgs, ... }: { pkgs, nixosConfig, ... }:
{ {
gtk = { gtk = {
enable = true; enable = true;
font = pkgs.rice.font.normal; font = nixosConfig.nix-rice.rice.font.normal;
iconTheme = { iconTheme = {
package = pkgs.qogir-icon-theme; package = pkgs.qogir-icon-theme;
name = "Qogir-dark"; name = "Qogir-dark";

View file

@ -1,6 +1,9 @@
{ nixosConfig, pkgs, ... }: { nixosConfig, pkgs, ... }:
with nixosConfig.nix-rice.lib;
let
strPalette = palette.toRgbaShortHex nixosConfig.nix-rice.rice.colorPalette;
in
{ {
imports = [ imports = [
./kitty.nix ./kitty.nix
./nautilus.nix ./nautilus.nix
@ -50,259 +53,255 @@
}; };
xdg.configFile."hypr/hyprland.conf" = { xdg.configFile."hypr/hyprland.conf" = {
text = text = ''
let #
strPalette = pkgs.lib.nix-rice.palette.toRgbaShortHex pkgs.rice.colorPalette; # Please note not all available settings / options are set here.
in # For a full list, see the wiki
'' #
#
# Please note not all available settings / options are set here.
# For a full list, see the wiki
#
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
# monitor=name,resolution,position,scale # monitor=name,resolution,position,scale
monitor=,preferred,auto,auto monitor=,preferred,auto,auto
monitor=Unknown-1,disable monitor=Unknown-1,disable
${ ${
if nixosConfig.networking.hostName == "thor" then if nixosConfig.networking.hostName == "thor" then
'' ''
monitor=DP-3,preferred,1080x420,auto monitor=DP-3,preferred,1080x420,auto
monitor=HDMI-A-1,preferred,0x0,auto,transform,3 monitor=HDMI-A-1,preferred,0x0,auto,transform,3
'' ''
else if nixosConfig.networking.hostName == "odin" then else if nixosConfig.networking.hostName == "odin" then
'' ''
monitor=eDP-1,preferred,320x1440,1 monitor=eDP-1,preferred,320x1440,1
monitor=DP-1,preferred,0x0,1 monitor=DP-1,preferred,0x0,1
'' ''
else else
"" ""
}
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch
exec-once = ${
if nixosConfig.networking.hostName == "thor" then "xrandr --output DP-2 --primary" else "true"
} & swww init & nm-applet & blueman-applet & systemctl --user start hyprland-login.target
# Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf
# Some default env vars.
env = XCURSOR_SIZE,24
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = ${if nixosConfig.networking.hostName == "thor" then "us,it,us" else "it,us,us"}
kb_variant = ,,colemak
kb_model =
kb_options = grp:menu_toggle,compose:rctrl
kb_rules =
numlock_by_default = true
follow_mouse = 2
touchpad {
natural_scroll = yes
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
$LAPTOP_KEYBOARD_ENABLED = true
device {
name = at-translated-set-2-keyboard
enabled = $LAPTOP_KEYBOARD_ENABLED
}
device {
name=keychron-k1-max-keyboard
kb_layout=us
}
device {
name=keychron-k1-max-keyboard-2
kb_layout=us
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 1
gaps_out = 2
border_size = 2
col.active_border = rgba(${strPalette.normal.yellow}) rgba(${strPalette.normal.red}) 45deg
col.inactive_border = rgba(${strPalette.bright.black})
layout = dwindle
} }
misc {
disable_hyprland_logo = true
}
# See https://wiki.hyprland.org/Configuring/Keywords/ for more decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
# Execute your favorite apps at launch rounding = 10
exec-once = ${
if nixosConfig.networking.hostName == "thor" then "xrandr --output DP-2 --primary" else "true"
} & swww init & nm-applet & blueman-applet & systemctl --user start hyprland-login.target
# Source a file (multi-file configs) blur {
# source = ~/.config/hypr/myColors.conf enabled = true
size = 3
# Some default env vars. passes = 1
env = XCURSOR_SIZE,24 new_optimizations = true
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
input {
kb_layout = ${if nixosConfig.networking.hostName == "thor" then "us,it,us" else "it,us,us"}
kb_variant = ,,colemak
kb_model =
kb_options = grp:menu_toggle,compose:rctrl
kb_rules =
numlock_by_default = true
follow_mouse = 2
touchpad {
natural_scroll = yes
}
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}
$LAPTOP_KEYBOARD_ENABLED = true
device {
name = at-translated-set-2-keyboard
enabled = $LAPTOP_KEYBOARD_ENABLED
}
device {
name=keychron-k1-max-keyboard
kb_layout=us
}
device {
name=keychron-k1-max-keyboard-2
kb_layout=us
}
general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 1
gaps_out = 2
border_size = 2
col.active_border = rgba(${strPalette.normal.yellow}) rgba(${strPalette.normal.red}) 45deg
col.inactive_border = rgba(${strPalette.bright.black})
layout = dwindle
} }
misc { drop_shadow = yes
disable_hyprland_logo = true shadow_range = 4
} shadow_render_power = 3
col.shadow = rgba(1a1a1aee)
}
decoration { animations {
# See https://wiki.hyprland.org/Configuring/Variables/ for more enabled = yes
rounding = 10 # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
blur { bezier = myBezier, 0.05, 0.9, 0.1, 1.05
enabled = true
size = 3
passes = 1
new_optimizations = true
}
drop_shadow = yes animation = windows, 1, 7, myBezier
shadow_range = 4 animation = windowsOut, 1, 7, default, popin 80%
shadow_render_power = 3 animation = border, 1, 10, default
col.shadow = rgba(1a1a1aee) animation = borderangle, 1, 8, default
} animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
animations { dwindle {
enabled = yes # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = yes # you probably want this
}
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_status = master
}
bezier = myBezier, 0.05, 0.9, 0.1, 1.05 gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = true
}
animation = windows, 1, 7, myBezier # Example per-device config
animation = windowsOut, 1, 7, default, popin 80% # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
animation = border, 1, 10, default # device:epic-mouse-v1 {
animation = borderangle, 1, 8, default # sensitivity = -0.5
animation = fade, 1, 7, default # }
animation = workspaces, 1, 6, default
}
dwindle { # Example windowrule v1
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more # windowrule = float, ^(kitty)$
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below # Example windowrule v2
preserve_split = yes # you probably want this # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
} # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
master {
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
new_status = master
}
gestures {
# See https://wiki.hyprland.org/Configuring/Variables/ for more
workspace_swipe = true
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
# device:epic-mouse-v1 {
# sensitivity = -0.5
# }
# Example windowrule v1
# windowrule = float, ^(kitty)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Keywords/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more
# $mainMod = SUPER # $mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = SUPER, RETURN, exec, kitty bind = SUPER, RETURN, exec, kitty
bind = SUPER, W, killactive, bind = SUPER, W, killactive,
bind = SUPER, M, exec, wl-lockscreen bind = SUPER, M, exec, wl-lockscreen
bind = SUPER_ALT_L, Q, exit, bind = SUPER_ALT_L, Q, exit,
bind = SUPER, E, exec, nautilus bind = SUPER, E, exec, nautilus
bind = SUPER, L, exec, env -u WAYLAND_DISPLAY logseq bind = SUPER, L, exec, env -u WAYLAND_DISPLAY logseq
bind = SUPER_SHIFT, E, exec, nemo bind = SUPER_SHIFT, E, exec, nemo
bind = SUPER, V, togglefloating, bind = SUPER, V, togglefloating,
bind = SUPER, SPACE, exec, sirula bind = SUPER, SPACE, exec, sirula
bind = SUPER, F, fullscreen, bind = SUPER, F, fullscreen,
bind = SUPER, P, pseudo, # dwindle bind = SUPER, P, pseudo, # dwindle
bind = SUPER, J, togglesplit, # dwindle bind = SUPER, J, togglesplit, # dwindle
bind = SUPER ALT, E, exec, wofi-emoji bind = SUPER ALT, E, exec, wofi-emoji
bind = SUPER ALT, P, exec, wl-clipedit bind = SUPER ALT, P, exec, wl-clipedit
bind = SUPER, B, exec, wl-update-background bind = SUPER, B, exec, wl-update-background
bind = ,Print, exec, grimblast copy bind = ,Print, exec, grimblast copy
bind = SHIFT, Print, exec, grimblast copy area bind = SHIFT, Print, exec, grimblast copy area
# Move focus to relative position # Move focus to relative position
bind = SUPER, left, movefocus, l bind = SUPER, left, movefocus, l
bind = SUPER, right, movefocus, r bind = SUPER, right, movefocus, r
bind = SUPER, up, movefocus, u bind = SUPER, up, movefocus, u
bind = SUPER, down, movefocus, d bind = SUPER, down, movefocus, d
# Move window to relative position # Move window to relative position
bind = SUPER_SHIFT, left, movewindow, l bind = SUPER_SHIFT, left, movewindow, l
bind = SUPER_SHIFT, right, movewindow, r bind = SUPER_SHIFT, right, movewindow, r
bind = SUPER_SHIFT, up, movewindow, u bind = SUPER_SHIFT, up, movewindow, u
bind = SUPER_SHIFT, down, movewindow, d bind = SUPER_SHIFT, down, movewindow, d
# Switch workspaces with mainMod + [0-9] # Switch workspaces with mainMod + [0-9]
bind = SUPER, 1, workspace, 1 bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2 bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3 bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4 bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5 bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6 bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7 bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8 bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9 bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10 bind = SUPER, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9] # Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = SUPER SHIFT, 1, movetoworkspace, 1 bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2 bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3 bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4 bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5 bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6 bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7 bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8 bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9 bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, 10 bind = SUPER SHIFT, 0, movetoworkspace, 10
# Move workspace to monitor with mainMod + SHIFT + CTRL + [0-9] # Move workspace to monitor with mainMod + SHIFT + CTRL + [0-9]
bind = SUPER SHIFT CTRL, 1, movecurrentworkspacetomonitor, 0 bind = SUPER SHIFT CTRL, 1, movecurrentworkspacetomonitor, 0
bind = SUPER SHIFT CTRL, 2, movecurrentworkspacetomonitor, 1 bind = SUPER SHIFT CTRL, 2, movecurrentworkspacetomonitor, 1
bind = SUPER SHIFT CTRL, 3, movecurrentworkspacetomonitor, 2 bind = SUPER SHIFT CTRL, 3, movecurrentworkspacetomonitor, 2
bind = SUPER SHIFT CTRL, 4, movecurrentworkspacetomonitor, 3 bind = SUPER SHIFT CTRL, 4, movecurrentworkspacetomonitor, 3
bind = SUPER SHIFT CTRL, 5, movecurrentworkspacetomonitor, 4 bind = SUPER SHIFT CTRL, 5, movecurrentworkspacetomonitor, 4
bind = SUPER SHIFT CTRL, 6, movecurrentworkspacetomonitor, 5 bind = SUPER SHIFT CTRL, 6, movecurrentworkspacetomonitor, 5
bind = SUPER SHIFT CTRL, 7, movecurrentworkspacetomonitor, 6 bind = SUPER SHIFT CTRL, 7, movecurrentworkspacetomonitor, 6
bind = SUPER SHIFT CTRL, 8, movecurrentworkspacetomonitor, 7 bind = SUPER SHIFT CTRL, 8, movecurrentworkspacetomonitor, 7
bind = SUPER SHIFT CTRL, 9, movecurrentworkspacetomonitor, 8 bind = SUPER SHIFT CTRL, 9, movecurrentworkspacetomonitor, 8
bind = SUPER SHIFT CTRL, 0, movecurrentworkspacetomonitor, 9 bind = SUPER SHIFT CTRL, 0, movecurrentworkspacetomonitor, 9
bind = ALT, Tab, cyclenext bind = ALT, Tab, cyclenext
bind = ALT SHIFT, Tab, cyclenext, prev bind = ALT SHIFT, Tab, cyclenext, prev
# Scroll through existing workspaces with mainMod + scroll # Scroll through existing workspaces with mainMod + scroll
bind = SUPER, mouse_down, workspace, e+1 bind = SUPER, mouse_down, workspace, e+1
bind = SUPER, mouse_up, workspace, e-1 bind = SUPER, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging # Move/resize windows with mainMod + LMB/RMB and dragging
bindm = SUPER, mouse:272, movewindow bindm = SUPER, mouse:272, movewindow
bindm = SUPER, mouse:273, resizewindow bindm = SUPER, mouse:273, resizewindow
bindel=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ bindel=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+
bindel=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- bindel=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-
bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = SUPER ALT, M, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle bind = SUPER ALT, M, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle
bind = , XF86AudioNext, exec, playerctl next bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPlay, exec, playerctl play-pause bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioPrev, exec, playerctl previous bind = , XF86AudioPrev, exec, playerctl previous
bind = SUPER ALT, Right, exec, playerctl next bind = SUPER ALT, Right, exec, playerctl next
bind = SUPER ALT, Down, exec, playerctl play-pause bind = SUPER ALT, Down, exec, playerctl play-pause
bind = SUPER ALT, Left, exec, playerctl previous bind = SUPER ALT, Left, exec, playerctl previous
bind = , XF86PowerOff, exec, wlogout bind = , XF86PowerOff, exec, wlogout
bind = , XF86MonBrightnessUp, exec, brillo -A 10 bind = , XF86MonBrightnessUp, exec, brillo -A 10
bind = , XF86MonBrightnessDown, exec, brillo -U 10 bind = , XF86MonBrightnessDown, exec, brillo -U 10
''; '';
}; };
} }

View file

@ -1,5 +1,7 @@
{ pkgs, ... }: { pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
inherit (nixosConfig.nix-rice) rice;
themeBuilder = themeBuilder =
palette: with palette; '' palette: with palette; ''
set-face global value rgb:${normal.magenta},default set-face global value rgb:${normal.magenta},default
@ -275,7 +277,7 @@ in
# THEME FILE # THEME FILE
xdg.configFile."kak/colors/nord.kak".text = themeBuilder ( xdg.configFile."kak/colors/nord.kak".text = themeBuilder (
pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette palette.toRgbShortHex rice.colorPalette
); );
xdg.configFile."kak-lsp/kak-lsp.toml".text = '' xdg.configFile."kak-lsp/kak-lsp.toml".text = ''

View file

@ -1,7 +1,9 @@
{ pkgs, ... }: { nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex { inherit (nixosConfig.nix-rice) rice;
inherit (pkgs.rice.colorPalette) strPalette = palette.toRgbHex {
inherit (rice.colorPalette)
background background
foreground foreground
color0 color0
@ -31,7 +33,7 @@ in
enable_audio_bell = false; enable_audio_bell = false;
visual_bell_duration = toString 0.1; visual_bell_duration = toString 0.1;
update_check_interval = 0; update_check_interval = 0;
background_opacity = toString pkgs.rice.opacity; background_opacity = toString rice.opacity;
close_on_child_death = "yes"; close_on_child_death = "yes";
clipboard_control = "write-clipboard write-primary read-clipboard read-primary"; clipboard_control = "write-clipboard write-primary read-clipboard read-primary";
disable_ligatures = "never"; disable_ligatures = "never";
@ -44,6 +46,6 @@ in
"ctrl+shift+up" = "previous_window"; "ctrl+shift+up" = "previous_window";
"ctrl+shift+down" = "next_window"; "ctrl+shift+down" = "next_window";
}; };
font = pkgs.rice.font.monospace; font = rice.font.monospace;
}; };
} }

View file

@ -1,6 +1,8 @@
{ pkgs, ... }: { nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
strPalette = pkgs.lib.nix-rice.palette.toRgbShortHex pkgs.rice.colorPalette; inherit (nixosConfig.nix-rice) rice;
strPalette = palette.toRgbShortHex rice.colorPalette;
in in
{ {
programs.mangohud = { programs.mangohud = {

View file

@ -4,9 +4,9 @@
, lib , lib
, ... , ...
}: }:
with nixosConfig.nix-rice.lib;
let let
inherit (pkgs.rice) colorPalette opacity; inherit (nixosConfig.nix-rice.rice) colorPalette opacity;
inherit (pkgs.lib) nix-rice;
alpha = 255 * opacity; alpha = 255 * opacity;
grep = "${pkgs.gnugrep}/bin/grep"; grep = "${pkgs.gnugrep}/bin/grep";
cut = "${pkgs.coreutils}/bin/cut"; cut = "${pkgs.coreutils}/bin/cut";
@ -62,27 +62,27 @@ let
}" }"
zsh -c 'rofi -show menu -modi "menu:rofi-power-menu --choices=shutdown/reboot/hibernate/logout"' zsh -c 'rofi -show menu -modi "menu:rofi-power-menu --choices=shutdown/reboot/hibernate/logout"'
''; '';
colors = nix-rice.palette.toARGBHex rec { colors = palette.toARGBHex rec {
normal = { normal = {
foreground = nix-rice.color.darken 10 colorPalette.foreground; foreground = color.darken 10 colorPalette.foreground;
background = nix-rice.color.setAlphaRgba alpha colorPalette.background; background = color.setAlphaRgba alpha colorPalette.background;
underline = colorPalette.normal.blue; underline = colorPalette.normal.blue;
}; };
active = { active = {
inherit (colorPalette) foreground; inherit (colorPalette) foreground;
background = nix-rice.color.setAlphaRgba alpha colorPalette.background; background = color.setAlphaRgba alpha colorPalette.background;
underline = colorPalette.normal.yellow; underline = colorPalette.normal.yellow;
}; };
selected = { selected = {
inherit (colorPalette) foreground; inherit (colorPalette) foreground;
background = nix-rice.color.setAlphaRgba alpha colorPalette.background; background = color.setAlphaRgba alpha colorPalette.background;
underline = colorPalette.bright.red; underline = colorPalette.bright.red;
}; };
inherit (colorPalette.normal) green red yellow; inherit (colorPalette.normal) green red yellow;
inherit (nix-rice.color) transparent; inherit (color) transparent;
orange = colorPalette.bright.red; orange = colorPalette.bright.red;
alert = orange; alert = orange;
}; };
@ -110,29 +110,22 @@ let
bottom.size = 0; bottom.size = 0;
}; };
font = [ font = [
"${pkgs.rice.font.monospace.name}:size=${toString pkgs.rice.font.monospace.size};2" "${rice.font.monospace.name}:size=${toString rice.font.monospace.size};2"
# "Font Awesome 6 Free:size=14;0" # "Font Awesome 6 Free:size=14;0"
# "Noto Color Emoji:size=2;2" # "Noto Color Emoji:size=2;2"
"Noto Sans Symbols2:size=${toString pkgs.rice.font.monospace.size};2" "Noto Sans Symbols2:size=${toString rice.font.monospace.size};2"
"Material Design Icons:size=${toString pkgs.rice.font.monospace.size};2" "Material Design Icons:size=${toString rice.font.monospace.size};2"
# "EmojiOne Color:size=${toString pkgs.rice.font.monospace.size};0" # "EmojiOne Color:size=${toString rice.font.monospace.size};0"
"Noto Sans CJK JP:size=${toString pkgs.rice.font.monospace.size};0" "Noto Sans CJK JP:size=${toString rice.font.monospace.size};0"
"Noto Sans CJK KR:size=${toString pkgs.rice.font.monospace.size};0" "Noto Sans CJK KR:size=${toString rice.font.monospace.size};0"
"Noto Sans CJK CN:size=${toString pkgs.rice.font.monospace.size};0" "Noto Sans CJK CN:size=${toString rice.font.monospace.size};0"
"Noto Sans CJK HK:size=${toString pkgs.rice.font.monospace.size};0" "Noto Sans CJK HK:size=${toString rice.font.monospace.size};0"
]; ];
enable-ipc = true; enable-ipc = true;
wm-restack = "bspwm"; wm-restack = "bspwm";
}; };
ramp = [ ramp = [ "" "" "" "" "" "" ];
""
""
""
""
""
""
];
in in
{ {
home.packages = builtins.attrValues { home.packages = builtins.attrValues {
@ -140,7 +133,7 @@ in
# emojione # emojione
# noto-fonts-emoji # noto-fonts-emoji
# font-awesome # font-awesome
inherit (pkgs.rice.font.monospace) package; inherit (rice.font.monospace) package;
}; };
services.polybar = { services.polybar = {
enable = true; enable = true;

View file

@ -1,4 +1,8 @@
{ pkgs, ... }: { pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let
inherit (nixosConfig.nix-rice) rice;
in
{ {
home.packages = builtins.attrValues { home.packages = builtins.attrValues {
@ -14,7 +18,7 @@
programs.rofi = { programs.rofi = {
enable = true; enable = true;
location = "center"; location = "center";
font = "${pkgs.rice.font.monospace.name} ${toString pkgs.rice.font.monospace.size}"; font = "${rice.font.monospace.name} ${toString rice.font.monospace.size}";
plugins = [ pkgs.rofi-calc ]; plugins = [ pkgs.rofi-calc ];
extraConfig = { extraConfig = {
modi = "drun,run,ssh,window,calc"; modi = "drun,run,ssh,window,calc";

View file

@ -1,11 +1,13 @@
{ pkgs, ... }: { pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex { inherit (nixosConfig.nix-rice) rice;
inherit (pkgs.rice.colorPalette) normal bright dark; strPalette = palette.toRgbHex {
inherit (pkgs.rice.colorPalette.primary) background foreground; inherit (rice.colorPalette) normal bright dark;
inherit (rice.colorPalette.primary) background foreground;
}; };
opacity = toString pkgs.rice.opacity; opacity = toString rice.opacity;
font = pkgs.rice.font.monospace; font = rice.font.monospace;
colorString = colorString =
normal: bright: normal: bright:
builtins.concatStringsSep ":" [ builtins.concatStringsSep ":" [

View file

@ -1,7 +1,9 @@
{ pkgs, ... }: { nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
strPalette = pkgs.lib.nix-rice.palette.toRGBHex pkgs.rice.colorPalette; inherit (nixosConfig.nix-rice) rice;
font = pkgs.rice.font.normal; strPalette = palette.toRGBHex rice.colorPalette;
font = rice.font.normal;
in in
{ {
services.twmn = { services.twmn = {
@ -17,7 +19,7 @@ in
animation.bounce.enable = false; animation.bounce.enable = false;
color = strPalette.primary.background; color = strPalette.primary.background;
height = 32; height = 32;
opacity = pkgs.lib.nix-rice.float.round (pkgs.rice.opacity * 100); opacity = float.round (rice.opacity * 100);
offset = { offset = {
x = -20; x = -20;
y = 50; y = 50;

View file

@ -1,17 +1,17 @@
{ pkgs, ... }: { pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
inherit (pkgs.rice) colorPalette; inherit (nixosConfig.nix-rice.rice) colorPalette font;
inherit (pkgs.lib) nix-rice;
alpha = 0.9; alpha = 0.9;
custom = nix-rice.palette.toRGBHex { custom = palette.toRGBHex {
inherit (colorPalette.primary) background foreground; inherit (colorPalette.primary) background foreground;
alpha_background = nix-rice.color.setAlphaRgba alpha colorPalette.primary.background; alpha_background = color.setAlphaRgba alpha colorPalette.primary.background;
primary_accent = colorPalette.normal.blue; primary_accent = colorPalette.normal.blue;
secondary_accent = colorPalette.normal.cyan; secondary_accent = colorPalette.normal.cyan;
tertiary_accent = colorPalette.primary.yellow; tertiary_accent = colorPalette.primary.yellow;
palette = { palette = {
primary_background_rgba = colorPalette.primary.background; primary_background_rgba = colorPalette.primary.background;
tertiary_background_hex = nix-rice.color.setAlphaRgba alpha colorPalette.primary.background; tertiary_background_hex = color.setAlphaRgba alpha colorPalette.primary.background;
}; };
}; };
swaync-client = "${pkgs.swaynotificationcenter}/bin/swaync-client"; swaync-client = "${pkgs.swaynotificationcenter}/bin/swaync-client";
@ -184,7 +184,7 @@ in
* { * {
border: none; border: none;
border-radius: 0px; border-radius: 0px;
font-family: ${pkgs.rice.font.monospace.name}; font-family: ${font.monospace.name};
font-size: 10px; font-size: 10px;
min-height: 0; min-height: 0;
} }

View file

@ -1,8 +1,8 @@
{ pkgs, ... }: { pkgs, nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex { inherit (nixosConfig.nix-rice) rice;
inherit (pkgs.rice.colorPalette) normal bright primary; strPalette = palette.toRgbHex rice.colorPalette;
};
in in
{ {
home.file.".Xresources" = { home.file.".Xresources" = {
@ -30,8 +30,8 @@ in
*.color14: ${strPalette.bright.cyan} *.color14: ${strPalette.bright.cyan}
*.color15: ${strPalette.bright.white} *.color15: ${strPalette.bright.white}
xterm*faceName: ${pkgs.rice.font.monospace.name} xterm*faceName: ${rice.font.monospace.name}
xterm*faceSize: ${toString pkgs.rice.font.monospace.size} xterm*faceSize: ${toString rice.font.monospace.size}
''; '';
onChange = "${pkgs.xorg.xrdb}/bin/xrdb -merge ~/.Xresources "; onChange = "${pkgs.xorg.xrdb}/bin/xrdb -merge ~/.Xresources ";
}; };

View file

@ -1,6 +1,8 @@
{ pkgs, ... }: { nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette; inherit (nixosConfig.nix-rice) rice;
strPalette = palette.toRgbHex rice.colorPalette;
in in
{ {
programs.zathura = { programs.zathura = {
@ -11,7 +13,7 @@ in
options = { options = {
# completion-bg = strPalette.bright.black; # completion-bg = strPalette.bright.black;
# default-bg = strPalette.normal.black; # default-bg = strPalette.normal.black;
font = "${pkgs.rice.font.normal.name} 10"; font = "${rice.font.normal.name} 10";
# inputbar-bg = strPalette.bright.black; # inputbar-bg = strPalette.bright.black;
# inputbar-fg = strPalette.normal.cyan; # inputbar-fg = strPalette.normal.cyan;
page-padding = 10; page-padding = 10;
@ -59,6 +61,5 @@ in
# recolor = true; # recolor = true;
recolor-keephue = true; # keep original color recolor-keephue = true; # keep original color
}; };
}; };
} }

View file

@ -1,6 +1,7 @@
{ pkgs, ... }: { nixosConfig, ... }:
with nixosConfig.nix-rice.lib;
let let
strPalette = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.colorPalette; strPalette = palette.toRgbHex nixosConfig.nix-rice.rice.colorPalette;
in in
{ {
programs.zellij.enable = true; programs.zellij.enable = true;

View file

@ -1,10 +1,11 @@
self: super: { pkgs, config, ... }:
with super.lib.nix-rice; with config.nix-rice.lib;
let let
theme = kitty-themes.getThemeByName "Nightfox"; theme = kitty-themes.getThemeByName "Nightfox";
inherit (config.nix-rice) rice;
in in
{ {
rice = { nix-rice.config = {
colorPalette = rec { colorPalette = rec {
normal = palette.defaultPalette // { normal = palette.defaultPalette // {
black = theme.color0; black = theme.color0;
@ -36,17 +37,26 @@ in
font = { font = {
normal = { normal = {
name = "Cantarell"; name = "Cantarell";
package = self.cantarell-fonts; package = pkgs.cantarell-fonts;
size = 10; size = 10;
}; };
monospace = { monospace = {
name = "CaskaydiaCove Nerd Font"; name = "CaskaydiaCove Nerd Font";
package = self.nerdfonts.override { fonts = [ "CascadiaCode" ]; }; package = pkgs.nerdfonts.override { fonts = [ "CascadiaCode" ]; };
# name = "FiraCode Nerd Font Mono"; # name = "FiraCode Nerd Font Mono";
# package = self.nerdfonts.override { fonts = [ "FiraCode" ]; }; # package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; };
size = 10; size = 10;
}; };
}; };
opacity = 0.95; opacity = 0.95;
}; };
nixpkgs.overlays = [
(_self: super: {
wl-lockscreen = super.wl-lockscreen.override {
strPalette = palette.toRgbaShortHex rice.colorPalette;
font = rice.font.normal;
};
})
];
} }