Compare commits

...

18 Commits

Author SHA1 Message Date
henrov 9f56681bf4 Added zen-broswser in applications 2026-03-16 17:26:37 +00:00
henrov cc10297ac9 Still GTK looks 2026-03-16 17:13:25 +00:00
henrov e4339e2888 Rebuild gtk.nix 2026-03-16 17:12:11 +00:00
henrov f0997da7cb Still GTK looks 2026-03-16 17:01:02 +00:00
henrov 6b7b6fae5f Still GTK looks 2026-03-16 11:51:52 +00:00
henrov 11f55be973 Still GTK looks 2026-03-16 11:49:58 +00:00
henrov cb2300949a Still GTK looks 2026-03-16 11:49:40 +00:00
henrov 895a55953e Still GTK looks 2026-03-16 11:48:15 +00:00
henrov 1a3049ff6d Still GTK looks 2026-03-16 11:47:33 +00:00
henrov 0ced40eb36 Still GTK looks 2026-03-16 11:46:18 +00:00
henrov a825aa221c Still GTK looks 2026-03-16 11:45:04 +00:00
henrov 7f433f4946 Still GTK looks 2026-03-16 11:44:25 +00:00
henrov 2c9a4a7ec2 Still GTK looks 2026-03-16 11:41:44 +00:00
henrov 160560afe1 Still GTK looks 2026-03-16 11:39:58 +00:00
henrov 5e41844415 Still GTK looks 2026-03-16 11:32:54 +00:00
henrov 49a2d35d02 Still GTK looks 2026-03-16 11:23:39 +00:00
henrov b11c681e62 Still GTK looks 2026-03-16 10:19:29 +00:00
henrov 06aaf21de1 Still GTK looks 2026-03-16 10:18:22 +00:00
9 changed files with 3340 additions and 163 deletions
+3162
View File
File diff suppressed because it is too large Load Diff
+68 -58
View File
@@ -138,6 +138,7 @@ Machine-specific NixOS configurations (e.g., =configuration.nix= for =maindroid=
This section contains the Org blocks for tangling Nix code into the generated folders. This section contains the Org blocks for tangling Nix code into the generated folders.
** =flake.nix= ** =flake.nix=
The Nix flake definition for Droidnix. The Nix flake definition for Droidnix.
#+BEGIN_SRC nix :tangle flake.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle flake.nix :noweb tangle :mkdirp yes :eval never-html
@@ -150,14 +151,14 @@ The Nix flake definition for Droidnix.
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin = { catppuccin = {
url = "github:catppuccin/nix"; url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = { zen-browser = {
url = "github:youwen5/zen-browser-flake"; url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -195,7 +196,7 @@ outputs =
# Import machine-specific configurations # Import machine-specific configurations
./generated/out_of_tree/machines/traveldroid/top.nix ./generated/out_of_tree/machines/traveldroid/top.nix
# Catppuccin theme module # Catppuccin theme module
inputs.catppuccin.nixosModules.catppuccin catppuccin.nixosModules.catppuccin
# Anchoring all the other nixes # Anchoring all the other nixes
./generated/top.nix ./generated/top.nix
# Home Manager module # Home Manager module
@@ -314,7 +315,6 @@ mkShell {
} }
#+END_SRC #+END_SRC
** =generated/out_of_tree/machines/traveldroid/top.nix= ** =generated/out_of_tree/machines/traveldroid/top.nix=
This is the top of the machine hierarchy This is the top of the machine hierarchy
#+BEGIN_SRC nix :tangle generated/out_of_tree/machines/traveldroid/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/out_of_tree/machines/traveldroid/top.nix :noweb tangle :mkdirp yes :eval never-html
@@ -338,15 +338,8 @@ This is the top of the machine hierarchy
./xdg.nix ./xdg.nix
./session.nix ./session.nix
./networking.nix ./networking.nix
./gtk.nix
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
inputs.catppuccin.nixosModules.default
]; ];
catppuccin = {
enable = true;
flavor = "mocha";
};
} }
#+END_SRC #+END_SRC
@@ -804,6 +797,7 @@ This is top file of this level which contains just an import statement for all r
./packages.nix ./packages.nix
./flatpaks.nix ./flatpaks.nix
./accessibility/top.nix ./accessibility/top.nix
./browsing/top.nix
./file_management/top.nix ./file_management/top.nix
./gaming/top.nix ./gaming/top.nix
./media_playback_editing/top.nix ./media_playback_editing/top.nix
@@ -814,6 +808,35 @@ This is top file of this level which contains just an import statement for all r
} }
#+END_SRC #+END_SRC
** =generated/system/applications/browsing/top.nix=
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
#+BEGIN_SRC nix :tangle generated/system/applications/browsing/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
{
imports = [
./zen-browser.nix
# ./firefox.nix
# ./vivaldi.nix
];
#+END_SRC
** =generated/system/applications/browsing/top.nix=
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
#+BEGIN_SRC nix :tangle generated/system/applications/browsing/top.nix :noweb tangle :mkdirp yes :eval never-html
{ pkgs, ... }:
{
programs.zen-browser = {
enable = true;
profile = {
settings = {
"widget.non-native-theme.enabled" = false;
"widget.dmab.hidpi.enabled" = true;
};
};
};
}
#+END_SRC
** =generated/system/applications/packages.nix= ** =generated/system/applications/packages.nix=
This will import all packages listed in ./assets/system/apps/packlages.conf This will import all packages listed in ./assets/system/apps/packlages.conf
#+BEGIN_SRC nix :tangle generated/system/applications/packages.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/applications/packages.nix :noweb tangle :mkdirp yes :eval never-html
@@ -849,18 +872,7 @@ let
packages.conf : ${toString packagesConfPath} packages.conf : ${toString packagesConfPath}
Hint : check the attribute name on search.nixos.org/packages Hint : check the attribute name on search.nixos.org/packages
'' ''
else
found;
packages = builtins.seq _guard (map resolvePkg entries);
zenBrowser =
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default;
in
{
environment.systemPackages =
packages
++ [ zenBrowser ];
} }
#+END_SRC #+END_SRC
** =generated/system/applications/flatpaks.nix= ** =generated/system/applications/flatpaks.nix=
@@ -992,10 +1004,41 @@ This is top file of this level which contains just an import statement for all r
./login-tuigreeter.nix ./login-tuigreeter.nix
#./login-lightdm.nix #./login-lightdm.nix
./fonts.nix ./fonts.nix
./gtk.nix
]; ];
} }
#+END_SRC #+END_SRC
** =generated/system/core/gtk.nix=
I use the [[https://catppuccin.com/][Catppuccin]] almost everywhere. The nix module integrates almost automatically everywhere (except gtk).
You'll notice the color values in multiple places outside this as well.
#+BEGIN_SRC nix :tangle generated/system/core/gtk.nix :noweb tangle :mkdirp yes :eval never-html
{ pkgs, user, ... }:
{
home-manager.users.${user.username} = {
gtk = {
enable = true;
theme = {
name = "Catppuccin-Mocha-Standard-Blue-Dark";
package = pkgs.magnetic-catppuccin-gtk;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
};
}
#+END_SRC
** =generated/system/core/fonts.nix= ** =generated/system/core/fonts.nix=
This file installs and configures fonts This file installs and configures fonts
#+BEGIN_SRC nix :tangle generated/system/core/fonts.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/core/fonts.nix :noweb tangle :mkdirp yes :eval never-html
@@ -1118,20 +1161,6 @@ This file sets up wayland
} }
#+END_SRC #+END_SRC
** =generated/out_of_tree/machines/traveldroid/gtk.nix=
This file configures gtk
#+BEGIN_SRC nix :tangle generated/out_of_tree/machines/traveldroid/gtk.nix :noweb tangle :mkdirp yes :eval never-html
{ pkgs, inputs, ... }:
{
environment.systemPackages = with pkgs; [
papirus-icon-theme
];
#SEE SESSIONS.NIX FOR SESSION VARIABLES
}
#+END_SRC
** =generated/system/development/top.nix= ** =generated/system/development/top.nix=
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
#+BEGIN_SRC nix :tangle generated/system/development/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/system/development/top.nix :noweb tangle :mkdirp yes :eval never-html
@@ -1212,26 +1241,7 @@ in
{ {
home-manager.users.${username} = { home-manager.users.${username} = {
# GTK icon theme: Papirus + Catppuccin Mocha # Thunar and plugins
gtk.enable = true;
gtk.gtk3.iconTheme.name = "Papirus";
gtk.gtk4.iconTheme.name = "Papirus";
# Catppuccin Mocha dark theme
xdg.configFile."gtk-3.0/settings.ini".text = ''
[Settings]
gtk-theme-name=Catppuccin-Mocha-Standard-Blue-Dark
gtk-icon-theme-name=Papirus
gtk-application-prefer-dark-theme=1
'';
xdg.configFile."gtk-4.0/settings.ini".text = ''
[Settings]
gtk-theme-name=Catppuccin-Mocha-Standard-Blue-Dark
gtk-icon-theme-name=Papirus
gtk-application-prefer-dark-theme=1
'';
# Thunar and plugins
home.packages = with pkgs; [ home.packages = with pkgs; [
thunar thunar
thunar-volman thunar-volman
+59 -61
View File
@@ -7,15 +7,14 @@
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin = { catppuccin = {
url = "github:catppuccin/nix"; url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = { zen-browser = {
url = "github:youwen5/zen-browser-flake"; url = "github:youwen5/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -23,63 +22,62 @@
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
}; };
outputs = outputs =
inputs@{ inputs@{
self, self,
nixpkgs, nixpkgs,
home-manager, home-manager,
emacs-overlay, emacs-overlay,
catppuccin, catppuccin,
zen-browser, zen-browser,
hyprland, hyprland,
... ...
}: }:
let let
lib = nixpkgs.lib; lib = nixpkgs.lib;
system = "x86_64-linux"; system = "x86_64-linux";
user = import ./generated/out_of_tree/users/henrov.nix; user = import ./generated/out_of_tree/users/henrov.nix;
machines = [ machines = [
"traveldroid" "traveldroid"
"maindroid" "maindroid"
]; ];
flakeRoot = ./.; # Define flakeRoot here flakeRoot = ./.; # Define flakeRoot here
in in
{ {
nixosConfigurations = lib.genAttrs machines ( nixosConfigurations = lib.genAttrs machines (
machine: machine:
lib.nixosSystem { lib.nixosSystem {
inherit system; inherit system;
modules = [ modules = [
# Import machine-specific configurations # Import machine-specific configurations
./generated/out_of_tree/machines/traveldroid/top.nix ./generated/out_of_tree/machines/traveldroid/top.nix
# Catppuccin theme module # Catppuccin theme module
inputs.catppuccin.nixosModules.default catppuccin.nixosModules.catppuccin
# Anchoring all the other nixes
./generated/top.nix
# Home Manager module
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = { inherit user inputs flakeRoot; };
}
];
specialArgs = { inherit user inputs flakeRoot; };
}
);
# Anchoring all the other nixes homeConfigurations = lib.genAttrs (map (machine: "${user.username}@${machine}") machines) (
./generated/top.nix userMachine:
# Home Manager module home-manager.lib.homeManagerConfiguration {
inputs.home-manager.nixosModules.home-manager inherit system;
{ configuration = import ./user.nix { inherit inputs user flakeRoot; };
home-manager.useGlobalPkgs = true; extraSpecialArgs = { inherit user inputs flakeRoot; };
home-manager.useUserPackages = true; }
home-manager.extraSpecialArgs = { inherit user inputs flakeRoot; }; );
}
];
specialArgs = { inherit user inputs flakeRoot; };
}
);
homeConfigurations = lib.genAttrs (map (machine: "${user.username}@${machine}") machines) ( devShells.${system}.default = import ./generated/out_of_tree/terminal_shell/devshell.nix {
userMachine: inherit (nixpkgs.legacyPackages.${system}) mkShell;
home-manager.lib.homeManagerConfiguration {
inherit system;
configuration = import ./user.nix { inherit inputs user flakeRoot; };
extraSpecialArgs = { inherit user inputs flakeRoot; };
}
);
devShells.${system}.default = import ./generated/out_of_tree/terminal_shell/devshell.nix {
inherit (nixpkgs.legacyPackages.${system}) mkShell;
};
}; };
};
} }
@@ -1,9 +0,0 @@
{ pkgs, inputs, ... }:
{
environment.systemPackages = with pkgs; [
papirus-icon-theme
];
#SEE SESSIONS.NIX FOR SESSION VARIABLES
}
@@ -18,7 +18,6 @@
./xdg.nix ./xdg.nix
./session.nix ./session.nix
./networking.nix ./networking.nix
./gtk.nix
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
]; ];
} }
@@ -11,26 +11,7 @@ in
{ {
home-manager.users.${username} = { home-manager.users.${username} = {
# GTK icon theme: Papirus + Catppuccin Mocha # Thunar and plugins
gtk.enable = true;
gtk.gtk3.iconTheme.name = "Papirus";
gtk.gtk4.iconTheme.name = "Papirus";
# Catppuccin Mocha dark theme
xdg.configFile."gtk-3.0/settings.ini".text = ''
[Settings]
gtk-theme-name=Catppuccin-Mocha-Standard-Blue-Dark
gtk-icon-theme-name=Papirus
gtk-application-prefer-dark-theme=1
'';
xdg.configFile."gtk-4.0/settings.ini".text = ''
[Settings]
gtk-theme-name=Catppuccin-Mocha-Standard-Blue-Dark
gtk-icon-theme-name=Papirus
gtk-application-prefer-dark-theme=1
'';
# Thunar and plugins
home.packages = with pkgs; [ home.packages = with pkgs; [
thunar thunar
thunar-volman thunar-volman
+19 -14
View File
@@ -1,18 +1,23 @@
{ pkgs, ... }: { pkgs, user, ... }:
{ {
environment.systemPackages = with pkgs; [ home-manager.users.${user.username} = {
catppuccin.gtk.mocha.standard.blue gtk = {
papirus-icon-theme enable = true;
]; theme = {
name = "Catppuccin-Mocha-Standard-Blue-Dark";
package = pkgs.magnetic-catppuccin-gtk;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
programs.gtk = {
enable = true;
gtk3.enable = true;
theme.name = "Catppuccin-Mocha-Standard-Blue-Dark";
theme.variant = "dark";
iconTheme.name = "Papirus-Dark";
}; };
# Check session.nix for variables !
} }
+30
View File
@@ -0,0 +1,30 @@
{ pkgs, ...}:
{
environment.systemPackages = with pkgs; [
magnetic-catppuccin-gtk
];
gtk = {
enable = true;
theme = {
name = "Catppuccin-Mocha-Standard-Blue-Dark";
package = pkgs.magnetic-catppuccin-gtk;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
catppuccin.enable = true;
catppuccin.flavor = "mocha";
catppuccin.accent = "blue";
catppuccin.gtk.icon.enable = true;
catppuccin.cursors.enable = true;
}
+1
View File
@@ -7,5 +7,6 @@
./login-tuigreeter.nix ./login-tuigreeter.nix
#./login-lightdm.nix #./login-lightdm.nix
./fonts.nix ./fonts.nix
./gtk.nix
]; ];
} }