Compare commits

..

9 commits

Author SHA1 Message Date
janis 96cd2ed76f
attempt waybar styling 2025-09-03 04:33:22 +02:00
janis d9658fa236
attempt darkmode 2025-09-03 04:33:17 +02:00
janis 4c2876dc50
configure desktop properly 2025-09-03 04:33:06 +02:00
janis 1e449f8ec3
update ssh config 2025-09-03 04:32:55 +02:00
janis 1872e44454
sway output config/hypridle toggle 2025-09-03 04:32:38 +02:00
janis 6741c7bdf8
apple fonts in fontconfig 2025-09-03 04:32:17 +02:00
janis 9e1a3be912
ssh agent fix 2025-09-03 04:32:08 +02:00
janis 36a51bf7bc
fix alacritty theme 2025-09-03 04:31:20 +02:00
janis 2ab6eb054d
update flake.lock, add apple fonts
Signed-off-by: janis <janis@nirgendwo.xyz>
2025-09-03 03:29:25 +02:00
13 changed files with 295 additions and 96 deletions

View file

@ -1,5 +1,31 @@
{
"nodes": {
"apple-fonts": {
"inputs": {
"nixpkgs": "nixpkgs",
"ny": "ny",
"sf-arabic": "sf-arabic",
"sf-armenian": "sf-armenian",
"sf-compact": "sf-compact",
"sf-georgian": "sf-georgian",
"sf-hebrew": "sf-hebrew",
"sf-mono": "sf-mono",
"sf-pro": "sf-pro"
},
"locked": {
"lastModified": 1752383772,
"narHash": "sha256-I5Y0gUJS85lGEuuKr+tKSRUpJWeKavE+WmiAHRcyBaU=",
"owner": "Lyndeno",
"repo": "apple-fonts.nix",
"rev": "875c694d7f0ec2020d7511264907a1f0e3262931",
"type": "github"
},
"original": {
"owner": "Lyndeno",
"repo": "apple-fonts.nix",
"type": "github"
}
},
"disko": {
"inputs": {
"nixpkgs": [
@ -7,11 +33,11 @@
]
},
"locked": {
"lastModified": 1753140376,
"narHash": "sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb+mYCodI5uuB8=",
"lastModified": 1756733629,
"narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=",
"owner": "nix-community",
"repo": "disko",
"rev": "545aba02960caa78a31bd9a8709a0ad4b6320a5c",
"rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1",
"type": "github"
},
"original": {
@ -28,11 +54,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1754068288,
"narHash": "sha256-OWBCKYRqFD/WFcMGitxoT4QiTV/q4o4gosIH6vwTV+c=",
"lastModified": 1756832996,
"narHash": "sha256-pW+QqeXIIKzo4GkX+WM86t7vai++RHaDE32aMDAIUJs=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "a2c4e31c1f77ddc72342af1ab4f90847d46e1cc6",
"rev": "73c17b083cd9383d9dd0c98ca33c5d7cdabfec6c",
"type": "github"
},
"original": {
@ -69,11 +95,11 @@
]
},
"locked": {
"lastModified": 1754085240,
"narHash": "sha256-kVHCrTWEe8B1thAhFag1bk4QPY0ZP45V9vPbrwPHoNo=",
"lastModified": 1756842514,
"narHash": "sha256-XbtRMewPGJwTNhBC4pnBu3w/xT1XejvB0HfohC2Kga8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "e102920c1becb114645c6f92fe14edc0b05cc229",
"rev": "30fc1b532645a21e157b6e33e3f8b4c154f86382",
"type": "github"
},
"original": {
@ -84,16 +110,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1753749649,
"narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=",
"owner": "NixOS",
"lastModified": 1740828860,
"narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a",
"rev": "303bd8071377433a2d8f76e684ec773d70c5b642",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
@ -116,11 +142,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1753939845,
"narHash": "sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1+A4GQej/lBk5y7I=",
"lastModified": 1756542300,
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "94def634a20494ee057c76998843c015909d6311",
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
"type": "github"
},
"original": {
@ -132,11 +158,27 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1753939845,
"narHash": "sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1+A4GQej/lBk5y7I=",
"lastModified": 1756754095,
"narHash": "sha256-9Rsn9XEWINExosFkKEqdp8EI6Mujr1gmQiyrEcts2ls=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "7c815e513adbf03c9098b2bd230c1e0525c8a7f9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1756542300,
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "94def634a20494ee057c76998843c015909d6311",
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
"type": "github"
},
"original": {
@ -149,14 +191,14 @@
"nur": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1754092202,
"narHash": "sha256-GrmUYcws8Tos6Ubu018qFzAWVs4OpN5f+PgkVnLou7c=",
"lastModified": 1756856604,
"narHash": "sha256-7UTJ5JLQos2rWyxOqlNDzCkSRqhN7SAAvtdf8AHci7c=",
"owner": "nix-community",
"repo": "nur",
"rev": "fa00a3de3b2ef6f1d6ee9f07dd4a31d6a5b91ac6",
"rev": "143985f9f846656911cb35fdc3403a68a2363b87",
"type": "github"
},
"original": {
@ -165,15 +207,112 @@
"type": "github"
}
},
"ny": {
"flake": false,
"locked": {
"narHash": "sha256-3257NAH4qlan2YHVLpNRy7x8IJqR2pal3OzFo/ykqXs=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
}
},
"root": {
"inputs": {
"apple-fonts": "apple-fonts",
"disko": "disko",
"emacs-overlay": "emacs-overlay",
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable",
"nur": "nur"
}
},
"sf-arabic": {
"flake": false,
"locked": {
"narHash": "sha256-/0gjRimqvZyE60xYxxPdlU+7Q2LJnnvtbmwOP0YmS9U=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg"
}
},
"sf-armenian": {
"flake": false,
"locked": {
"narHash": "sha256-rRoDkbNMYkzOHZmQm96Zv80TZvRlAeoxkv4pMHP5nUg=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Armenian.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Armenian.dmg"
}
},
"sf-compact": {
"flake": false,
"locked": {
"narHash": "sha256-VMCf2Mhmx/qhLRQxlTAsQWxtonS27kPW+oTYBBRWHMg=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
}
},
"sf-georgian": {
"flake": false,
"locked": {
"narHash": "sha256-IevVNOC28IiR45YfI3PsZzXLMRxuB5u7UiE53Zn6tRU=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Georgian.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Georgian.dmg"
}
},
"sf-hebrew": {
"flake": false,
"locked": {
"narHash": "sha256-Dw84kYwMpCtKKKqm8cZcQ9TZ7GayU5MO7W0LJw0Rcwk=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Hebrew.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Hebrew.dmg"
}
},
"sf-mono": {
"flake": false,
"locked": {
"narHash": "sha256-ICdHRFdNL7PM/fXJUzS7LgZxZiqcyIuCMHLze4En4vg=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
}
},
"sf-pro": {
"flake": false,
"locked": {
"narHash": "sha256-RX6X2ltVE88Hp1g9tpSywMT3UfdLpRxgw92KRpiAues=",
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
},
"original": {
"type": "file",
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
}
}
},
"root": "root",

View file

@ -15,9 +15,10 @@
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
};
outputs = inputs @ { self, disko, nixpkgs, nixpkgs-unstable, home-manager, emacs-overlay, ... }:
outputs = inputs @ { self, disko, nixpkgs, nixpkgs-unstable, home-manager, apple-fonts, emacs-overlay, ... }:
let
system = "x86_64-linux";
overlay-unstable = final: prev: {
@ -72,6 +73,9 @@
laptop = mkSystem {
host = ./hosts/laptop;
};
desktop = mkSystem {
host = ./hosts/desktop;
};
};
};
}

View file

@ -1,6 +1,6 @@
{config, ...}:
{super-config, ...}:
let
theme = import ../data/theme.nix {inherit config; };
theme = import ../data/theme.nix {config = super-config; };
in {
programs.alacritty = {

View file

@ -1,4 +1,4 @@
{pkgs, ...}:
{pkgs, lib, super-config, ...}:
let
user = import ../data/user.nix {};
in {
@ -47,10 +47,19 @@ in {
package = pkgs.whitesur-cursors;
size = 24;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = super-config.darkMode == true;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = super-config.darkMode == true;
};
};
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = lib.optionals (super-config.darkMode == true) "prefer-dark";
};
};
@ -63,6 +72,7 @@ in {
shell.enableZshIntegration = true;
sessionVariables = {
SSH_AUTH_SOCK = "/run/user/1000/ssh-agent";
EDITOR = "nvim";
VISUAL = "nvim";
GTK_THEME = "Breeze-Dark";
@ -82,6 +92,7 @@ in {
packages = with pkgs; [
# Add your global packages here
neovim
bottom
git
wget
curl
@ -91,6 +102,7 @@ in {
pavucontrol
ripgrep
killall
x11_ssh_askpass
vanilla-dmz
(discord.override {withVencord = true;})
bitwarden-desktop

View file

@ -14,6 +14,7 @@ in {
enchant2 # spell checking
enchant2.dev # for building jinx
pkg-config
git
ripgrep # for Emacs' ripgrep integration
libvterm-neovim # vterm support for Emacs
nodejs_24

View file

@ -4,53 +4,70 @@
userName = "janis";
userEmail = "janis@nirgendwo.xyz";
signing = {
format = "ssh";
key = "~/.ssh/duralumin_janis-github";
};
extraConfig = {
init = {
defaultBranch = "main";
};
safe = {
directory = "/etc/nixos/config";
};
commit = {
gpgsign = "true";
};
};
};
programs.ssh = {
addKeysToAgent = "yes";
enable = true;
matchBlocks = {
"git.nirgendwo.xyz" = {
host = "git.nirgendwo.xyz";
hostname = "git.nirgendwo.xyz";
identityFile = "~/.ssh/id_ed25519_nirgendwo";
addKeysToAgent = "yes";
};
"nirgendwo.xyz" = {
host = "nirgendwo.xyz";
hostname = "nirgendwo.xyz";
identityFile = "~/.ssh/id_ed25519_nirgendwo";
addKeysToAgent = "yes";
};
"nirgendswo.com" = {
host = "nirgendswo.com";
hostname = "nirgendswo.com";
identityFile = "~/.ssh/id_ed25519_nirgendwo";
addKeysToAgent = "yes";
};
"nirgendwo" = {
host = "nirgendwo";
hostname = "nirgendwo.xyz";
user = "root";
identityFile = "~/.ssh/id_ed25519_nirgendwo";
addKeysToAgent = "yes";
};
"github.com:janis-bhm" = {
host = "github.com:janis-bhm";
hostname = "github.com";
identityFile = "~/.ssh/duralumin_janis-github";
addKeysToAgent = "yes";
};
"github-janis-bhm" = {
host = "github.com:janis-bhm";
"github-janis" = {
host = "github-janis";
hostname = "github.com";
user = "git";
identityFile = "~/.ssh/id_ed25519_github_janis";
identityFile = "~/.ssh/duralumin_janis-github";
addKeysToAgent = "yes";
};
"noonebtw.github.com" = {
host = "noonebtw.github.com";
hostname = "github.com";
identityFile = "~/.ssh/id_ed25519_git";
addKeysToAgent = "yes";
};
};
};

View file

@ -1,44 +1,47 @@
{pkgs, ...}: {
{pkgs, lib, super-config, ...}: {
services.hyprpolkitagent.enable = true;
programs.hyprlock.enable = true;
# services.hypridle = {
# enable = true;
# settings = let
# idle_timeout = "300"; # 5 minutes
# screen_timeout = "600"; # 10 minutes
# suspend_timeout = "900"; # 10 minutes
# lock_cmd = "${pkgs.procps}/bin/pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
# suspend_cmd = "systemctl suspend";
# in{
# general = {
# inherit lock_cmd;
# before_sleep_cmd = "loginctl lock-session";
# };
services.hypridle = lib.optionals (super-config.enableHypridle == true) {
enable = true;
settings = let
idle_timeout = "300"; # 5 minutes
screen_timeout = "600"; # 10 minutes
suspend_timeout = "900"; # 10 minutes
lock_cmd = "${pkgs.procps}/bin/pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
suspend_cmd = "systemctl suspend";
in{
general = {
inherit lock_cmd;
before_sleep_cmd = "loginctl lock-session";
};
# listener = [
# {
# timeout = idle_timeout;
# on-timeout = "loginctl lock-session";
# }
# {
# timeout = screen_timeout;
# on-timeout = "{pkgs.sway}/bin/swaymsg 'output * dpms off'";
# on-resume = "{pkgs.sway}/bin/swaymsg 'output * dpms on'";
# }
# {
# timeout = suspend_timeout;
# on-timeout = suspend_cmd;
# }
# ];
listener = [
{
timeout = idle_timeout;
on-timeout = "loginctl lock-session";
}
{
timeout = screen_timeout;
on-timeout = "{pkgs.sway}/bin/swaymsg 'output * dpms off'";
on-resume = "{pkgs.sway}/bin/swaymsg 'output * dpms on'";
}
{
timeout = suspend_timeout;
on-timeout = suspend_cmd;
}
];
# };
# };
};
};
home.packages = with pkgs; [
hyprlock
# hypridle
];
] ++ (lib.optionals (super-config.enableHypridle == true) [
hypridle
]);
xdg.configFile."hypr/hyprlock.conf" = {
source = "${pkgs.dotfiles}/.config/hypr/hyprlock.conf";

View file

@ -34,6 +34,11 @@ in {
config = {
modifier = "${mod}";
fonts = {
names = ["SF Compact Rounded"];
size = 10.0;
};
seat = {
"*" = {
xcursor_theme = "\"WhiteSur-cursors\" 32";
@ -42,7 +47,7 @@ in {
output = {
"*".scale = "${lib.strings.floatToString super-config.desktop_scale}";
};
}// super-config.extraOutputConfig;
startup = [
{

View file

@ -229,50 +229,40 @@ SSID: {essid} {frequency}'';
};
};
workspace-style = ''
/* And now modules themselves in their respective order */
.rounded_button {
padding-left: 0.3em;
padding-right: 0.3em;
border-radius: 0.5em;
margin-left: 0.2em;
margin-right: 0.2em;
margin-bottom: 0.2em;
}
/* Workspaces stuff */
#workspaces button {
color: ${theme.extra.white};
background: ${theme.background};
background: ${theme.extra.black};
padding-left: 0.3em;
padding-right: 0.3em;
border-radius: 0.5em;
margin-left: 0.2em;
margin-right: 0.2em;
margin-bottom: 0.2em;
padding-left: 5pt;
padding-right: 5pt;
border-radius: 5pt;
margin-left: 2pt;
margin-right: 2pt;
margin-bottom: 2pt;
}
/* Inactive (on unfocused output) */
#workspaces button.visible {
color: ${theme.extra.white};
background: ${theme.extra.purple};
background: ${theme.bright.magenta};
}
/* Active (on focused output) */
#workspaces button.focused {
color: ${theme.extra.black};
background: ${theme.extra.aqua};
background: ${theme.bright.cyan};
}
/* Contains an urgent window */
#workspaces button.urgent {
color: ${theme.extra.black};
background: ${theme.bright.red};
color: ${theme.bright.red};
background: ${theme.extra.black};
}
/* Style when cursor is on the button */
#workspaces button:hover {
background: ${theme.extra.black};
background: ${theme.bright.black};
color: ${theme.extra.white};
}
@ -298,6 +288,7 @@ in {
};
style = ''
/* Reset all styles */
* {
border: none;
border-radius: 0;
@ -310,7 +301,7 @@ in {
#waybar {
background: rgba(40, 40, 40, 0.3);
color: #ffffff;
font-family: "sans-serif";
font-family: SF Compact Rounded;
font-size: 12pt;
font-weight: 500;
}

View file

@ -5,8 +5,14 @@
(modulesPath + "/installer/scan/not-detected.nix")
];
has_battery = true;
desktop_scale = 1.3;
darkMode = true;
enableHypridle = true;
has_battery = false;
extraOutputConfig = {
"HDMI-A-3" = {pos = "0 0";};
"HDMI-A-1" = { pos = "1920 0"; };
};
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];

View file

@ -18,10 +18,22 @@
description = "Enable dark mode for the system.";
};
enableHypridle = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable hypridle for the system.";
};
desktop_scale = lib.mkOption {
type = lib.types.float;
default = 1.0;
description = "HiDpi scale factor for the window manager";
};
extraOutputConfig = lib.mkOption {
type = lib.types.attrsOf (lib.types.attrsOf lib.types.anything);
default = {};
description = "Additional config for sway outputs";
};
};
}

View file

@ -1,4 +1,4 @@
{pkgs, config, ...}: {
{inputs, pkgs, config, ...}: {
imports = [
../options.nix
];
@ -68,12 +68,18 @@
source-sans
source-code-pro
pkgs.nur.repos.redpz.sf-mono
inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd
inputs.apple-fonts.packages.${pkgs.system}.sf-mono-nerd
inputs.apple-fonts.packages.${pkgs.system}.sf-compact-nerd
inputs.apple-fonts.packages.${pkgs.system}.ny-nerd
];
fontconfig = {
defaultFonts = {
monospace = ["SF Mono" "Fira Mono" "Noto Mono"];
serif = ["Liberation Serif" "Noto Serif"];
sansSerif = ["Liberation Sans" "Noto Sans" "Roboto"];
serif = ["Noto Serif"];
sansSerif = ["SF Pro Text" "Noto Sans" "Roboto"];
emoji = ["Twitter Color Emoji" "Noto Emoji"];
};
};

View file

@ -17,6 +17,9 @@ in {
programs.zsh.enable = true;
programs.dconf.enable = true;
programs.ssh = {
startAgent = true;
};
services = {
udisks2.enable = true;