Compare commits
50 Commits
e36badc807
...
2c86c7261a
| Author | SHA1 | Date | |
|---|---|---|---|
| 2c86c7261a | |||
| e03ed3c6fd | |||
| fefb97eb7c | |||
| 24b76fc93d | |||
| 814a1e8bc0 | |||
| c865ffa5c4 | |||
| de29c7c53e | |||
| eab19176af | |||
| 4f70468bbc | |||
| 284d74cd5f | |||
| 7ef9caf4fc | |||
| 62cfe941bd | |||
| 924c28557f | |||
| 72b238bbb6 | |||
| 9a67223854 | |||
| cf8b93c984 | |||
| adf67439ff | |||
| 5d8b0f93a8 | |||
| 626796b626 | |||
| 2d59cc7187 | |||
| 93ac0a371c | |||
| 4f51837a54 | |||
| 4e5838fc5d | |||
| 03945c0315 | |||
| 3be7dbc5bb | |||
| d4136b07b8 | |||
| 64113ffa4d | |||
| 91030d1e70 | |||
| a42bea5422 | |||
| c6b5ae46a5 | |||
| 28d9b72df8 | |||
| 7336c33904 | |||
| 042a80b2b5 | |||
| ff9aadbeb7 | |||
| bb85e4e6cf | |||
| 13a8f5e6fe | |||
| 83f56734ef | |||
| 6f340eee33 | |||
| 85e9ada3c8 | |||
| 5def1b126e | |||
| a5eb9d0845 | |||
| bdd0313ca5 | |||
| 9d57603660 | |||
| c879b838a0 | |||
| 81ce213cfd | |||
| 1bb34c9e2a | |||
| 0f7f5ac055 | |||
| 79fde5f602 | |||
| 11c12e6c53 | |||
| 5fbaf6c816 |
@@ -93,7 +93,7 @@ This directory contains configurations specific to Hyprland.
|
||||
|
||||
** First Setup
|
||||
1. Clone this repository.
|
||||
2. Run the setup script: =./setup_droidnix.sh=.
|
||||
2. Run the setup script: =./setup_droid=.
|
||||
3. Edit =.assets/system/conf/base.conf= to choose your window manager (=wm = "hyprland"= or =wm = "mangowc"=).
|
||||
4. Tangle this Org file to generate Nix configurations: =C-c C-v t= in Emacs or use this: =emacs README.org --batch -f org-babel-tangle && emacs --batch --eval "(setq org-html-htmlize-output-type nil)" README.org -f org-html-export-to-html=
|
||||
5. Build and switch: =sudo nixos-rebuild switch --flake .#<hostname>=.
|
||||
@@ -155,6 +155,10 @@ The Nix flake definition for Droidnix.
|
||||
url = "github:catppuccin/nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
stylix = {
|
||||
url = "github:nix-community/stylix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
emacs-overlay = {
|
||||
url = "github:nix-community/emacs-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -175,6 +179,7 @@ outputs =
|
||||
catppuccin,
|
||||
zen-browser,
|
||||
hyprland,
|
||||
stylix,
|
||||
...
|
||||
}:
|
||||
let
|
||||
@@ -195,8 +200,6 @@ outputs =
|
||||
modules = [
|
||||
# Import machine-specific configurations
|
||||
./generated/out_of_tree/machines/traveldroid/top.nix
|
||||
# Catppuccin theme module
|
||||
catppuccin.nixosModules.catppuccin
|
||||
# Anchoring all the other nixes
|
||||
./generated/top.nix
|
||||
# Home Manager module
|
||||
@@ -204,6 +207,7 @@ outputs =
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.extraSpecialArgs = { inherit user inputs flakeRoot; };
|
||||
}
|
||||
];
|
||||
@@ -330,13 +334,16 @@ This is the top of the machine hierarchy
|
||||
|
||||
{
|
||||
imports = [
|
||||
./../../core/nix.nix
|
||||
./../../core/stylix.nix
|
||||
./../../core/gtk.nix
|
||||
./../../core/terminal.nix
|
||||
./boot.nix
|
||||
./hardware-configuration.nix
|
||||
./machine.nix
|
||||
./dbus.nix
|
||||
./audio.nix
|
||||
./xdg.nix
|
||||
./session.nix
|
||||
./networking.nix
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
];
|
||||
@@ -465,7 +472,7 @@ This is the top if the machine hierarchy
|
||||
home = user.homeDirectory;
|
||||
};
|
||||
# Optional: Enable auto-login for testing
|
||||
services.getty.autologinUser = user.username;
|
||||
#services.getty.autologinUser = user.username;
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
@@ -531,31 +538,6 @@ This sets the networking.
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/out_of_tree/machines/traveldroid/session.nix=
|
||||
This sets the session variables
|
||||
#+BEGIN_SRC nix :tangle generated/out_of_tree/machines/traveldroid/session.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, user, ... }:
|
||||
{
|
||||
environment.sessionVariables = {
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||
XCURSOR_SIZE = "24";
|
||||
GTK_ENABLE_DARK_MODE = "1";
|
||||
GTK_THEME = "Catppuccin-Mocha-Standard-Blue-Dark";
|
||||
GTK_ICON_THEME = "Papirus-Dark";
|
||||
# Use this instead of GTK_APPLICATION_PREFER_DARK_THEME for newer GTK apps:
|
||||
GTK_THEME_VARIANT = "dark";
|
||||
# For Qt apps (if any):
|
||||
QT_STYLE_OVERRIDE = "gtk2";
|
||||
# For Zen Browser (Firefox fork):
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
GSETTINGS_SCHEMA_DIR = "${pkgs.gsettings-desktop-schemas}/share/glib-2.0/schemas";
|
||||
};
|
||||
|
||||
# Add other session-wide variables here (e.g., QT_QPA_PLATFORM, SDL_VIDEODRIVER)
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/out_of_tree/machines/traveldroid/bluetooth.nix=
|
||||
This sets the bluetooth implementation
|
||||
#+BEGIN_SRC nix :tangle generated/out_of_tree/machines/traveldroid/bluetooth.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
@@ -606,6 +588,7 @@ This sets audiosystem for this machine
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
|
||||
** =generated/out_of_tree/machines/traveldroid/xdg.nix=
|
||||
This sets the XDG implementation
|
||||
#+BEGIN_SRC nix :tangle generated/out_of_tree/machines/traveldroid/xdg.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
@@ -616,9 +599,79 @@ This sets the XDG implementation
|
||||
config.system.default = [ "hyprland" "gtk" ];
|
||||
};
|
||||
}
|
||||
|
||||
#+END_SRC
|
||||
|
||||
** =generated/out_of_tree/core/stylix.nix=
|
||||
This sets the stylix implementation
|
||||
#+BEGIN_SRC nix :tangle generated/out_of_tree/core/stylix.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, inputs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
_ = builtins.trace ("Stylix enable = " + toString config.stylix.enable) null;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.stylix.nixosModules.stylix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
feh # wallpaper target
|
||||
#gtk3 # GTK target
|
||||
# gtk4 # GTK target
|
||||
st # NVF / terminal target, or kitty
|
||||
];
|
||||
|
||||
stylix = {
|
||||
enable = true;
|
||||
base16Scheme = "${flakeRoot}/assets/system/theming/stylix/catppuccin-mocha.yaml";
|
||||
polarity = "dark";
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/out_of_tree/core/gtk.nix=
|
||||
Sets theming for GTK
|
||||
#+BEGIN_SRC nix :tangle generated/out_of_tree/core/gtk.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
# feh # wallpaper target
|
||||
gtk3 # GTK target
|
||||
gtk4 # GTK target
|
||||
#st # NVF / terminal target, or kitty
|
||||
];
|
||||
# Stylix GTK target
|
||||
stylix.targets.gtk.enable = true;
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/out_of_tree/core/terminal.nix=
|
||||
Sets theming for the terminal
|
||||
#+BEGIN_SRC nix :tangle generated/out_of_tree/core/terminal.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Example for terminal (NVF = Neovim/terminal flavor)
|
||||
stylix.targets.nvf.enable = true;
|
||||
# Optional: feh wallpaper integration
|
||||
stylix.targets.feh.enable = true;
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
** =generated/out_of_tree/core/nix.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/out_of_tree/core/nix.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
nix.settings = {
|
||||
extra-experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
|
||||
* Now we reach the top of the hierarchy which will call all other imports
|
||||
|
||||
** =generated/top.nix=
|
||||
@@ -824,26 +877,13 @@ This is top file of this level which contains just an import statement for all r
|
||||
** =generated/system/applications/browsing/zen-browser.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/zen-browser.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
{ inputs, pkgs, ... }:
|
||||
|
||||
{ config, lib, pkgs, flakeRoot, inputs, ... }:
|
||||
let
|
||||
zenBrowser = inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
inputs.zen-browser.homeManagerModules.default
|
||||
];
|
||||
|
||||
home-manager = {
|
||||
packages = [
|
||||
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
GTK_THEME = "Catppuccin-GTK-Grey-Dark-Compact";
|
||||
GTK_ICON_THEME = "Papirus-Dark";
|
||||
GTK_ENABLE_DARK_MODE = "1";
|
||||
};
|
||||
};
|
||||
environment.systemPackages = [zenBrowser];
|
||||
}
|
||||
|
||||
#+END_SRC
|
||||
|
||||
** =generated/system/applications/packages.nix=
|
||||
@@ -1019,7 +1059,6 @@ This is top file of this level which contains just an import statement for all r
|
||||
./login-tuigreeter.nix
|
||||
#./login-lightdm.nix
|
||||
./fonts.nix
|
||||
./gtk.nix
|
||||
];
|
||||
}
|
||||
#+END_SRC
|
||||
@@ -1053,7 +1092,6 @@ You'll notice the color values in multiple places outside this as well.
|
||||
}
|
||||
#+END_SRC
|
||||
|
||||
|
||||
** =generated/system/core/fonts.nix=
|
||||
This file installs and configures fonts
|
||||
#+BEGIN_SRC nix :tangle generated/system/core/fonts.nix :noweb tangle :mkdirp yes :eval never-html
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
source = ./variables.conf
|
||||
source = ./theming.conf
|
||||
source = ./theme.css
|
||||
source = ./animations.conf
|
||||
source = ./bindings.conf
|
||||
# source = ./behaviour.conf
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Catppuccin Mocha for Hyprland
|
||||
# Colors (match your variables.conf or override here)
|
||||
$base = #1e1e2e
|
||||
$inactive = rgba(595959aa)
|
||||
$inactive = rgba(89, 89, 89, 0.67)
|
||||
$mantle = #181825
|
||||
$crust = #11111b
|
||||
$surface0 = #313244
|
||||
@@ -32,30 +32,37 @@ $rosewater = #f5e0dc
|
||||
general {
|
||||
gaps_in = 2
|
||||
gaps_out = 4
|
||||
border_size = 2
|
||||
border_size = 4
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = $inactive
|
||||
layout = scrolling
|
||||
resize_on_border = true
|
||||
extend_border_grab_area = 20 # Makes it easier to "grab" the edge
|
||||
extend_border_grab_area = 20
|
||||
}
|
||||
|
||||
decoration {
|
||||
rounding = 6
|
||||
rounding = 8
|
||||
shadow_enabled = true # replaces drop_shadow
|
||||
shadow_offset = 10 # replaces shadow_range
|
||||
shadow_strength = 0.3 # replaces shadow_render_power; adjust 0–1
|
||||
}
|
||||
|
||||
# Input fields (e.g., Hyprctl menus)
|
||||
input_field {
|
||||
# Optional: set input field background, border, text
|
||||
}
|
||||
|
||||
# Hyprbar (if used)
|
||||
hyprbar {
|
||||
# Optional: set bar colors
|
||||
}
|
||||
|
||||
# Hyprlock (if used)
|
||||
hyprlock {
|
||||
# Optional: set lock screen colors
|
||||
}
|
||||
|
||||
# Hypridle (if used)
|
||||
hypridle {
|
||||
# Optional: set idle screen colors
|
||||
}
|
||||
|
After Width: | Height: | Size: 143 B |
|
After Width: | Height: | Size: 146 B |
|
After Width: | Height: | Size: 183 B |
|
After Width: | Height: | Size: 184 B |
|
After Width: | Height: | Size: 187 B |
|
After Width: | Height: | Size: 187 B |
|
After Width: | Height: | Size: 557 B |
|
After Width: | Height: | Size: 301 B |
|
After Width: | Height: | Size: 689 B |
|
After Width: | Height: | Size: 677 B |
|
After Width: | Height: | Size: 557 B |
|
After Width: | Height: | Size: 301 B |
|
After Width: | Height: | Size: 585 B |
|
After Width: | Height: | Size: 579 B |
|
After Width: | Height: | Size: 143 B |
|
After Width: | Height: | Size: 143 B |
|
After Width: | Height: | Size: 538 B |
|
After Width: | Height: | Size: 301 B |
|
After Width: | Height: | Size: 690 B |
|
After Width: | Height: | Size: 683 B |
|
After Width: | Height: | Size: 538 B |
|
After Width: | Height: | Size: 301 B |
|
After Width: | Height: | Size: 789 B |
|
After Width: | Height: | Size: 772 B |
|
After Width: | Height: | Size: 194 B |
|
After Width: | Height: | Size: 227 B |
|
After Width: | Height: | Size: 326 B |
|
After Width: | Height: | Size: 342 B |
|
After Width: | Height: | Size: 144 B |
|
After Width: | Height: | Size: 144 B |
|
After Width: | Height: | Size: 276 B |
|
After Width: | Height: | Size: 263 B |
|
After Width: | Height: | Size: 348 B |
|
After Width: | Height: | Size: 363 B |
|
After Width: | Height: | Size: 338 B |
|
After Width: | Height: | Size: 289 B |
|
After Width: | Height: | Size: 446 B |
|
After Width: | Height: | Size: 466 B |
|
After Width: | Height: | Size: 369 B |
|
After Width: | Height: | Size: 313 B |
|
After Width: | Height: | Size: 470 B |
|
After Width: | Height: | Size: 486 B |
@@ -0,0 +1,23 @@
|
||||
button_offset=9
|
||||
button_spacing=0
|
||||
|
||||
show_app_icon=false
|
||||
|
||||
full_width_title=true
|
||||
|
||||
title_shadow_active=false
|
||||
title_shadow_inactive=false
|
||||
|
||||
title_horizontal_offset=3
|
||||
|
||||
active_text_color=#afafaf
|
||||
active_text_shadow_color=#252525
|
||||
|
||||
inactive_text_color=#808080
|
||||
inactive_text_shadow_color=#252525
|
||||
|
||||
shadow_delta_height=2
|
||||
shadow_delta_width=0
|
||||
shadow_delta_x=0
|
||||
shadow_delta_y=-5
|
||||
shadow_opacity=40
|
||||
|
After Width: | Height: | Size: 164 B |
|
After Width: | Height: | Size: 157 B |
|
After Width: | Height: | Size: 164 B |
|
After Width: | Height: | Size: 157 B |
|
After Width: | Height: | Size: 164 B |
|
After Width: | Height: | Size: 157 B |
|
After Width: | Height: | Size: 164 B |
|
After Width: | Height: | Size: 157 B |
|
After Width: | Height: | Size: 164 B |
|
After Width: | Height: | Size: 157 B |
|
After Width: | Height: | Size: 255 B |
|
After Width: | Height: | Size: 235 B |
|
After Width: | Height: | Size: 254 B |
|
After Width: | Height: | Size: 233 B |
|
After Width: | Height: | Size: 146 B |
|
After Width: | Height: | Size: 146 B |
|
After Width: | Height: | Size: 171 B |
|
After Width: | Height: | Size: 171 B |
|
After Width: | Height: | Size: 173 B |
|
After Width: | Height: | Size: 173 B |
|
After Width: | Height: | Size: 583 B |
|
After Width: | Height: | Size: 360 B |
|
After Width: | Height: | Size: 719 B |
|
After Width: | Height: | Size: 720 B |
|
After Width: | Height: | Size: 583 B |
|
After Width: | Height: | Size: 360 B |
|
After Width: | Height: | Size: 609 B |
|
After Width: | Height: | Size: 603 B |
|
After Width: | Height: | Size: 146 B |
|
After Width: | Height: | Size: 146 B |
|
After Width: | Height: | Size: 562 B |
|
After Width: | Height: | Size: 360 B |
|
After Width: | Height: | Size: 696 B |
|
After Width: | Height: | Size: 685 B |
|
After Width: | Height: | Size: 562 B |
|
After Width: | Height: | Size: 360 B |
|
After Width: | Height: | Size: 796 B |
|
After Width: | Height: | Size: 782 B |
|
After Width: | Height: | Size: 212 B |
|
After Width: | Height: | Size: 198 B |
|
After Width: | Height: | Size: 368 B |
|
After Width: | Height: | Size: 386 B |
|
After Width: | Height: | Size: 146 B |
|
After Width: | Height: | Size: 146 B |
|
After Width: | Height: | Size: 266 B |
|
After Width: | Height: | Size: 292 B |
|
After Width: | Height: | Size: 428 B |
|
After Width: | Height: | Size: 445 B |
|
After Width: | Height: | Size: 405 B |
|
After Width: | Height: | Size: 359 B |
|
After Width: | Height: | Size: 563 B |
|
After Width: | Height: | Size: 576 B |
|
After Width: | Height: | Size: 441 B |
|
After Width: | Height: | Size: 396 B |