feat: migrate to Stylix (WIP)

This commit is contained in:
Franek 2025-05-02 22:02:50 +02:00
parent f5e7a09123
commit 9a29bd9449
23 changed files with 402 additions and 344 deletions

View File

@ -1,5 +1,5 @@
* [ ] Simplify config
* [x] Organize most common apps with modules
* [ ] Migrate from pywal + apple-fonts to Stylix (theme, cursor, fonts, ...)
* [x] Migrate from pywal + apple-fonts to Stylix (theme, cursor, fonts, ...)
* [x] Remove clutter
* [x] Fix DDT4ALL derivation/shell

126
flake.lock generated
View File

@ -3,7 +3,9 @@
"ags": {
"inputs": {
"astal": "astal",
"nixpkgs": "nixpkgs"
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1744557573,
@ -28,11 +30,11 @@
]
},
"locked": {
"lastModified": 1745871622,
"narHash": "sha256-HhQPekt/yPlNiHw1CwQBamDRMDHopGYx7vgYaAQuKmQ=",
"lastModified": 1746130764,
"narHash": "sha256-LlLFj8cBY0HbTLh8iuQlql+c92UbfrUG5Tyn4SDmueM=",
"owner": "tadfisher",
"repo": "android-nixpkgs",
"rev": "2277d844349f0f520f8637ac80f7ae233ad1e700",
"rev": "8aea0b21e93910389026e20a34f39e98ac328334",
"type": "github"
},
"original": {
@ -43,7 +45,7 @@
},
"apple-emoji": {
"inputs": {
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1711624089,
@ -61,7 +63,7 @@
},
"apple-fonts": {
"inputs": {
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_2",
"ny": "ny",
"sf-arabic": "sf-arabic",
"sf-armenian": "sf-armenian",
@ -148,11 +150,11 @@
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1732200724,
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
"lastModified": 1745523430,
"narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
"rev": "58bfe2553d937d8af0564f79d5b950afbef69717",
"type": "github"
},
"original": {
@ -233,9 +235,7 @@
},
"fingerprint-sensor": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1734692513,
@ -255,11 +255,11 @@
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1743774811,
"narHash": "sha256-oiHLDHXq7ymsMVYSg92dD1OLnKLQoU/Gf2F1GoONLCE=",
"lastModified": 1744642301,
"narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "df53a7a31872faf5ca53dd0730038a62ec63ca9e",
"rev": "59e3de00f01e5adb851d824cf7911bd90c31083a",
"type": "github"
},
"original": {
@ -471,16 +471,15 @@
]
},
"locked": {
"lastModified": 1744743431,
"narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=",
"lastModified": 1746191891,
"narHash": "sha256-cfSp/uR6AlzhnoAW1cz1WkxBwH5zs2yhrwy48Fr7/6k=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387",
"rev": "c5cad190ba252eb94540ee06955a53c7807963f8",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"repo": "home-manager",
"type": "github"
}
@ -493,11 +492,11 @@
]
},
"locked": {
"lastModified": 1743869639,
"narHash": "sha256-Xhe3whfRW/Ay05z9m1EZ1/AkbV1yo0tm1CbgjtCi4rQ=",
"lastModified": 1746040799,
"narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d094c6763c6ddb860580e7d3b4201f8f496a6836",
"rev": "5f217e5a319f6c186283b530f8c975e66c028433",
"type": "github"
},
"original": {
@ -810,22 +809,6 @@
}
},
"nixpkgs": {
"locked": {
"lastModified": 1743583204,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1711523803,
"narHash": "sha256-UKcYiHWHQynzj6CN/vTcix4yd1eCu1uFdsuarupdCQQ=",
@ -841,7 +824,7 @@
"type": "github"
}
},
"nixpkgs_3": {
"nixpkgs_2": {
"locked": {
"lastModified": 1740828860,
"narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=",
@ -857,6 +840,21 @@
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1746055187,
"narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-24.11",
"type": "indirect"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1739020877,
@ -875,27 +873,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1745487689,
"narHash": "sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw=",
"lastModified": 1746141548,
"narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5630cf13cceac06cefe9fc607e8dfa8fb342dde3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1743583204,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
"rev": "f02fddb8acef29a8b32f10a335d44828d7825b78",
"type": "github"
},
"original": {
@ -915,11 +897,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1743884191,
"narHash": "sha256-foVcginhVvjg8ZnTzY5wwMeZ4wjJ8yX66PW5kgyivPE=",
"lastModified": 1746056780,
"narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=",
"owner": "nix-community",
"repo": "NUR",
"rev": "fde90f5f52e13eed110a0e53a2818a2b09e4d37c",
"rev": "d476cd0972dd6242d76374fcc277e6735715c167",
"type": "github"
},
"original": {
@ -1073,7 +1055,9 @@
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_6",
"nixpkgs": [
"nixpkgs"
],
"nur": "nur",
"systems": "systems_3",
"tinted-foot": "tinted-foot",
@ -1083,11 +1067,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1744910471,
"narHash": "sha256-HItOUMA2whFnPMJuyN2XHq9TZttgrgOAZcoUXsaD4Js=",
"lastModified": 1746158690,
"narHash": "sha256-Pe2emz36QL8GOILXvvmH/agqkspZFrcOrQxv6uufaEc=",
"owner": "danth",
"repo": "stylix",
"rev": "8d5cd725ad591890c0cd804bf68cc842b8afca51",
"rev": "bc38629511dd9cc78c5ca37a6e546fa66330d50e",
"type": "github"
},
"original": {
@ -1178,11 +1162,11 @@
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1742851696,
"narHash": "sha256-sR4K+OVFKeUOvNIqcCr5Br7NLxOBEwoAgsIyjsZmb8s=",
"lastModified": 1744974599,
"narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "c37771c4ae8ff1667e27ddcf24991ebeb94a4e77",
"rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd",
"type": "github"
},
"original": {
@ -1194,11 +1178,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1743296873,
"narHash": "sha256-8IQulrb1OBSxMwdKijO9fB70ON//V32dpK9Uioy7FzY=",
"lastModified": 1745111349,
"narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "af5152c8d7546dfb4ff6df94080bf5ff54f64e3a",
"rev": "e009f18a01182b63559fb28f1c786eb027c3dee9",
"type": "github"
},
"original": {

View File

@ -1,26 +1,25 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
android-nixpkgs.url = "github:tadfisher/android-nixpkgs";
android-nixpkgs.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.url = "github:nix-community/home-manager/release-24.11";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
stylix.url = "github:danth/stylix";
apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
apple-emoji.url = "github:oxcl/apple-emoji-nix";
stylix.url = "github:danth/stylix";
ags.url = "github:Aylur/ags";
fingerprint-sensor.url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor/24.11";
fingerprint-sensor.inputs.nixpkgs.follows = "nixpkgs";
android-nixpkgs.url = "github:tadfisher/android-nixpkgs";
hyprspace.url = "github:KZDKM/Hyprspace";
android-nixpkgs.inputs.nixpkgs.follows = "nixpkgs";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
stylix.inputs.nixpkgs.follows = "nixpkgs";
ags.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
{ self, nixpkgs, android-nixpkgs, ... }:
outputs = { self, nixpkgs, android-nixpkgs, ... }:
let
forAllSystems = nixpkgs.lib.genAttrs [
"aarch64-linux"
@ -30,16 +29,12 @@
in
{
nixosConfigurations = import ./hosts { inherit self; };
devShells = forAllSystems (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
devShells = forAllSystems (system:
let pkgs = nixpkgs.legacyPackages.${system};
in {
ddt4all = import ./shells/ddt4all.nix { inherit pkgs; };
android = import ./shells/android.nix { inherit pkgs android-nixpkgs; };
rust = import ./shells/rust.nix { inherit pkgs; };
}
);
});
};
}

View File

@ -13,16 +13,6 @@
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
};
nixpkgs.config = {
allowInsecurePredicate =
pkg:
builtins.elem (pkgs.lib.getName pkg) [
"android-sdk-cmdline-tools"
"fluffychat-linux"
"olm"
];
};
environment.systemPackages = with pkgs; [
alacritty
vim

View File

@ -2,6 +2,8 @@
let
inherit (self) inputs;
lib = inputs.nixpkgs.lib;
homeDir = self + /profiles;
mkSystem =
@ -10,8 +12,7 @@ let
hostname,
useHomeManager ? true,
modules ? [ ],
}:
inputs.nixpkgs.lib.nixosSystem {
}: lib.nixosSystem {
specialArgs = { inherit inputs; };
modules =
[
@ -19,14 +20,7 @@ let
./${hostname}
homeDir
]
++ (
if useHomeManager then
[
inputs.home-manager.nixosModules.home-manager
]
else
[ ]
)
++ lib.lists.optionals useHomeManager [ inputs.home-manager.nixosModules.default ]
++ modules;
};
in

View File

@ -1,3 +1,5 @@
{ pkgs, ... }:
{
imports = [
./hardware-configuration.nix
@ -17,7 +19,16 @@
options = "--delete-older-than 7d";
};
nixpkgs.config.allowUnfree = true;
nixpkgs.config = {
allowUnfreePredicate =
pkg:
builtins.elem (pkgs.lib.getName pkg) [
"nvidia-settings"
"nvidia-x11"
"nordvpn"
"hplip"
];
};
swapDevices = [
{

View File

@ -5,19 +5,17 @@
# Utilities
../../modules/nixos/nvidia-support.nix
../../modules/nixos/fingerprint.nix
../../modules/nixos/apple-style.nix
../../modules/nixos/bluetooth.nix
../../modules/nixos/greetd.nix
../../modules/nixos/audio.nix
# Apps/services
# Apps + services
../../modules/nixos/nordvpn.nix
];
modules.apple-style.enable = true;
modules.bluetooth.enable = true;
modules.nvidia.enable = true;
modules.nordvpn.enable = true;
modules.nvidia.enable = true;
modules.audio.enable = true;
modules.fingerprint-fix = {
enable = true;

View File

@ -0,0 +1,53 @@
{ config, pkgs, lib, inputs, ... }:
{
options.modules.ags = {
enable = lib.mkEnableOption "Aylur's GTK Shell with optional Stylix support";
full = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable all components (AstalBattery, AstalPowerProfiles etc.)";
};
};
config = lib.mkIf config.modules.ags.enable {
programs.ags = {
enable = true;
extraPackages = if config.modules.ags.full then
with inputs.ags.packages.${pkgs.system};
[
apps
battery
bluetooth
greet
hyprland
mpris
network
notifd
powerprofiles
tray
wireplumber
] else [];
};
home.file.".config/theme_colors.scss".text = if config.modules.stylix.enable
then with config.lib.stylix.colors; ''
$base00: #${base00};
$base01: #${base01};
$base02: #${base02};
$base03: #${base03};
$base04: #${base04};
$base05: #${base05};
$base06: #${base06};
$base07: #${base07};
$base08: #${base08};
$base09: #${base09};
$base0A: #${base0A};
$base0B: #${base0B};
$base0C: #${base0C};
$base0D: #${base0D};
$base0E: #${base0E};
$base0F: #${base0F};
'' else null;
};
}

View File

@ -0,0 +1,35 @@
{
config,
lib,
pkgs,
inputs,
...
}:
{
options.modules.apple-style.enable = lib.mkEnableOption "Enable Apple fonts and emojis";
config = lib.mkIf (config.modules.apple-style.enable && config.modules.stylix.enable) {
stylix.fonts = {
serif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
sansSerif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProText Nerd Font";
};
monospace = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd;
name = "SFMono Nerd Font";
};
emoji = {
package = inputs.apple-emoji.packages.${pkgs.system}.apple-emoji-nix;
name = "Apple Color Emoji";
};
};
};
}

View File

@ -5,43 +5,57 @@
...
}:
{
let
inherit (pkgs.lib) optionalAttrs;
home-manager = "${pkgs.home-manager}/bin/home-manager";
grep = lib.getExe' pkgs.toybox "grep";
head = lib.getExe' pkgs.toybox "head";
find = lib.getExe' pkgs.toybox "find";
find-generation = ''
for line in $(${home-manager} generations | ${grep} -o '/.*')
do
res=$(${find} $line | ${grep} specialisation | ${head} -1)
output=$?
if [[ $output -eq 0 ]] && [[ $res != "" ]]; then
echo $res
exit
fi
done
'';
switch-theme = theme: "$(${find-generation})/${theme}/activate";
in {
options.modules.darkman = {
enable = lib.mkEnableOption "Darkman service and integration";
customLightModeScript = lib.mkOption {
type = lib.types.str;
type = lib.types.nullOr lib.types.str;
default = null;
description = "Path to custom light mode script";
};
customDarkModeScript = lib.mkOption {
type = lib.types.str;
type = lib.types.nullOr lib.types.str;
default = null;
description = "Path to custom dark mode script";
};
};
config = lib.mkIf config.modules.darkman.enable {
home.packages = with pkgs; [ dconf ];
services.darkman = {
enable = true;
darkModeScripts = {
theme = ''
${pkgs.dconf}/bin/dconf write\
/org/gnome/desktop/interface/color-scheme "'prefer-dark'"
'';
darkModeScripts = optionalAttrs (config.modules.darkman.customDarkModeScript != null) {
custom = config.modules.darkman.customDarkModeScript;
pywalfox = "command -v pywalfox &>/dev/null && pywalfox dark && pywalfox update";
} // optionalAttrs (config.modules.stylix.enable) {
stylix = switch-theme "dark";
};
lightModeScripts = {
theme = ''
${pkgs.dconf}/bin/dconf write\
/org/gnome/desktop/interface/color-scheme "'prefer-light'"
'';
lightModeScripts = optionalAttrs (config.modules.darkman.customLightModeScript != null) {
custom = config.modules.darkman.customLightModeScript;
pywalfox = "command -v pywalfox &>/dev/null && pywalfox light && pywalfox update";
} // optionalAttrs (config.modules.stylix.enable) {
stylix = switch-theme "light";
};
settings.usegeoclue = true;

View File

@ -34,10 +34,7 @@
programs.fish = {
enable = true;
interactiveShellInit = ''
set fish_greeting
cat ~/.cache/wal/sequences
'';
interactiveShellInit = "set fish_greeting";
shellAliases = lib.mkIf config.modules.fish.enableDefaultAliases {
".." = "cd ..";

View File

@ -0,0 +1,62 @@
{
config,
lib,
pkgs,
inputs,
...
}:
{
options.modules.stylix = {
enable = lib.mkEnableOption "Whether to enable Stylix, a theme manager for NixOS";
setupCursors = lib.mkOption {
type = lib.types.bool;
default = true;
description = "Whether to setup cursors by default";
};
lightWallpaper = lib.mkOption {
type = lib.types.path;
description = "Path to light theme desktop wallpaper";
};
darkWallpaper = lib.mkOption {
type = lib.types.path;
description = "Path to dark theme desktop wallpaper";
};
};
imports = [
inputs.stylix.homeManagerModules.stylix
];
config = lib.mkIf config.modules.stylix.enable {
stylix = {
enable = true;
polarity = lib.mkDefault "light";
image = lib.mkDefault config.modules.stylix.lightWallpaper;
base16Scheme = lib.mkDefault "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
cursor = lib.mkIf config.modules.stylix.setupCursors {
name = "Bibata-Modern-Classic";
package = pkgs.bibata-cursors;
size = 24;
};
};
specialisation = {
light.configuration.stylix = {
polarity = "light";
image = config.modules.stylix.lightWallpaper;
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave-light.yaml";
};
dark.configuration.stylix = {
polarity = "dark";
image = config.modules.stylix.darkWallpaper;
base16Scheme = "${pkgs.base16-schemes}/share/themes/atelier-cave.yaml";
};
};
};
}

View File

@ -1,35 +0,0 @@
{
config,
lib,
pkgs,
inputs,
...
}:
{
options.modules.apple-style.enable = lib.mkEnableOption "Enable Apple fonts and emojis";
config = lib.mkIf config.modules.apple-style.enable {
fonts.fontDir.enable = true;
fonts.packages = [
inputs.apple-emoji.packages.${pkgs.system}.apple-emoji-nix
inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd
inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd
];
fonts.fontconfig.enable = true;
fonts.enableDefaultPackages = false;
fonts.fontconfig.defaultFonts = {
sansSerif = [
"SFProText Nerd Font"
"SFProDisplay Nerd Font"
];
serif = [
"SFProText Nerd Font"
"SFProDisplay Nerd Font"
];
monospace = [ "SFMono Nerd Font" ];
emoji = [ "Apple Color Emoji" ];
};
};
}

View File

@ -6,7 +6,9 @@
...
}:
{
let
module = inputs.fingerprint-sensor.nixosModules."06cb-009a-fingerprint-sensor";
in {
options.modules.fingerprint-fix = {
enable = lib.mkEnableOption "Enable support for fingerprint for P51S-like ThinkPads.";
calibDataFile = lib.mkOption {
@ -14,10 +16,7 @@
};
};
imports = [
inputs.fingerprint-sensor.nixosModules."06cb-009a-fingerprint-sensor"
];
imports = [ module ];
config = lib.mkIf config.modules.fingerprint-fix.enable {
# Needed because we're getting TLS error with open-fprintd-resume
systemd.services.validity-restart =

View File

@ -4,14 +4,21 @@
options.modules.nvidia.enable = lib.mkEnableOption "Enable NVIDIA kernel and modprobe configurations.";
config = lib.mkIf config.modules.nvidia.enable {
boot.kernelModules = [
"nvidia"
"nvidia_modeset"
"nvidia_uvm"
"nvidia_drm"
];
boot.extraModprobeConfig = ''
options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
'';
hardware.graphics = {
enable = true;
};
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
};
}

View File

@ -1,13 +1,12 @@
{
self,
impurity,
inputs,
impurity,
...
}:
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
backupFileExtension = "bak";
extraSpecialArgs = {
inherit inputs self impurity;

View File

@ -1,24 +1,36 @@
{ pkgs, ... }:
{ pkgs, inputs, ... }:
let
username = "sadorowo";
homeDirectory = "/home/${username}";
in
{
imports = [
./packages.nix
./programs.nix
./theme.nix
];
imports = [ ./modules.nix ];
home = {
inherit username homeDirectory;
packages = import ./packages.nix { inherit pkgs inputs; };
sessionVariables = {
NIXOS_OZONE_WL = "1";
TZ = "Europe/Warsaw";
};
};
nixpkgs.config = {
permittedInsecurePackages = [
"fluffychat-linux-1.26.0"
"olm-3.2.16"
];
allowUnfreePredicate =
pkg:
builtins.elem (pkgs.lib.getName pkg) [
"davinci-resolve"
"anydesk"
];
};
programs.home-manager.enable = true;
home.stateVersion = "24.11";
}

View File

@ -2,12 +2,15 @@
{
imports = [
# DEs
# DE + style
../../modules/desktop-environments/hyprland.nix
../../modules/home-manager/apple-style.nix
../../modules/home-manager/stylix.nix
# Utilities + apps
../../modules/home-manager/darkman.nix
../../modules/home-manager/fish.nix
../../modules/home-manager/ags.nix
# Home Manager modules
inputs.ags.homeManagerModules.default
@ -38,43 +41,28 @@
};
};
modules.darkman = {
modules.stylix = {
enable = true;
customLightModeScript = "$HOME/.config/hypr/scripts/random-wallpaper.sh";
customDarkModeScript = "$HOME/.config/hypr/scripts/random-wallpaper.sh";
lightWallpaper = ./wallpapers/light.jpg;
darkWallpaper = ./wallpapers/dark.jpg;
};
stylix.targets.firefox.profileNames = ["default"];
modules.ags = {
enable = true;
full = true;
};
modules.darkman.enable = true;
modules.apple-style.enable = true;
modules.fish = {
enable = true;
enableStarship = true;
functions = import ./fish-functions.nix;
};
programs.pywal.enable = true;
programs.ags = {
enable = true;
extraPackages =
with inputs.ags.packages.${pkgs.system};
[
apps
battery
bluetooth
greet
hyprland
mpris
network
notifd
powerprofiles
tray
wireplumber
]
++ [
pkgs.dart-sass
pkgs.fzf
pkgs.icon-library
];
};
programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
@ -91,7 +79,7 @@
programs.vscode = {
enable = true;
package = pkgs.vscodium;
extensions = with pkgs.vscode-extensions; [
profiles.default.extensions = with pkgs.vscode-extensions; [
rust-lang.rust-analyzer
bbenoist.nix
];

View File

@ -1,10 +1,6 @@
{ pkgs, inputs, ... }:
{
home.packages = with pkgs; [
pywal
pywalfox-native
with pkgs; [
(python3.withPackages (
py: with py; [
pywayland
@ -24,7 +20,6 @@
libreoffice-qt6-fresh
gimp
git
fprintd
cups
anydesk
fastfetch
@ -36,5 +31,4 @@
davinci-resolve
mpv
sshfs
];
}
]

View File

@ -1,39 +0,0 @@
{ pkgs, inputs, ... }:
let
nerdfonts = (
pkgs.nerdfonts.override {
fonts = [
"CascadiaCode"
"JetBrainsMono"
"FiraCode"
"SpaceMono"
];
}
);
cursor-theme = "Bibata-Modern-Classic";
cursor-pkg = pkgs.bibata-cursors;
in
{
home = {
packages = with pkgs; [
material-symbols
noto-fonts
noto-fonts-cjk-sans
bibata-cursors
];
sessionVariables = {
XCURSOR_THEME = cursor-theme;
XCURSOR_SIZE = "24";
};
pointerCursor = {
package = cursor-pkg;
name = cursor-theme;
size = 24;
gtk.enable = true;
};
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB