uhh.. idk? stuff

This commit is contained in:
janis 2025-08-02 03:01:57 +02:00
parent a6fa6bc476
commit 0dc8d041f4
15 changed files with 214 additions and 16 deletions

View file

@ -18,5 +18,7 @@ in
darkerbrown = "#5e454b";
cream = "#fefcf3";
aqua = "#689d6a";
black = "#282828";
white = "#ebdbb2";
};
}

View file

@ -12,8 +12,8 @@
};
nur.url = "github:nix-community/nur";
emacs-overlay = {
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/emacs-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
};

View file

@ -6,7 +6,11 @@ in {
./alacritty.nix
./firefox.nix
./sway.nix
./hyprlock_idle.nix
./wallpapers.nix
./waybar.nix
./udiskie.nix
./mako.nix
./zsh.nix
./rofi.nix
./libinput.nix
@ -20,6 +24,8 @@ in {
# flake = "/etc/nixos/config#laptop"
};
xdg.systemDirs.data = ["${pkgs.nordvpn}/share"];
gtk = {
enable = true;
theme = {

View file

@ -35,6 +35,12 @@
hostname = "github.com";
identityFile = "~/.ssh/duralumin_janis-github";
};
"github-janis-bhm" = {
host = "github.com:janis-bhm";
hostname = "github.com";
user = "git";
identityFile = "~/.ssh/id_ed25519_github_janis";
};
"noonebtw.github.com" = {
host = "noonebtw.github.com";
hostname = "github.com";

9
home/hyprlock_idle.nix Normal file
View file

@ -0,0 +1,9 @@
{pkgs, ...}: {
services.hypridle.enable = true;
services.hyprpolkitagent.enable = true;
programs.hyprlock.enable = true;
xdg.configFile."hypr" = {
source = "${pkgs.dotfiles}/.config/hypr";
};
}

19
home/mako.nix Normal file
View file

@ -0,0 +1,19 @@
{pkgs, lib, config, ...}: let
theme = import ../data/theme.nix {inherit config; };
utils = import ../utils.nix { inherit lib; };
in {
services.mako = {
enable = true;
settings = {
default-timeout = 5000;
border-size = 3;
margin = "30";
padding = "5";
border-radius = 10;
background-color = utils.rgbToRgba theme.background;
border-color = utils.rgbToRgba theme.bright.blue;
progress-color = utils.rgbToRgba theme.bright.cyan;
text-color = utils.rgbToRgba theme.foreground;
};
};
}

View file

@ -1,4 +1,4 @@
{pkgs, lib, config, super-config, inputs, ...}:
{pkgs, lib, config, super-config, ...}:
let
mod = "Mod4";
left = "h";
@ -20,6 +20,7 @@ in {
whitesur-cursors
rofi-wayland
];
wayland = {
windowManager = {
sway = {

8
home/udiskie.nix Normal file
View file

@ -0,0 +1,8 @@
{...}: {
services.udiskie = {
enable = true;
automount = true;
notify = true;
tray = "auto";
};
}

29
home/wallpapers.nix Normal file
View file

@ -0,0 +1,29 @@
# home-manager module which installs wallpapers from dotfiles into .local/share/wallpapers
{pkgs, config, ...}: {
xdg.dataFile."wallpapers" = {
source = "${pkgs.dotfiles}/.local/share/wallpapers";
recursive = true;
};
home.packages = with pkgs; [
wpaperd-patched
];
xdg.dataFile."wallpapers/current" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.xdg.dataHome}/wallpapers/witch1.jpg";
};
xdg.dataFile."wallpapers/current_lock" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.xdg.dataHome}/wallpapers/witch5.jpg";
};
services.wpaperd = {
enable = true;
package = pkgs.wpaperd-patched;
settings = {
default = {
path = "${config.xdg.dataHome}/wallpapers/current";
};
};
};
}

View file

@ -8,7 +8,7 @@ in let
module-descs = [
{
name = "custom/left-most";
background = theme.background;
background = "transparent";
}
{
name = "pulseaudio";
@ -122,7 +122,11 @@ SSID: {essid} {frequency}'';
};
background = theme.normal.black;
}
{name = "tray"; config = { spacing = 10; }; background = theme.background;}
{
name = "tray";
config = { spacing = 10; };
background = theme.normal.white;
}
];
# default style for modules
@ -156,14 +160,12 @@ SSID: {essid} {frequency}'';
# modules interlaced with spacers
# [ModuleDesc] -> [Module]
mkSpacedModules = descs: with builtins;
let
len = length descs;
in lib.lists.flatten
(lib.lists.imap0
lib.lists.flatten
(let list = utils.windows 2 descs; len = length list; in lib.lists.imap0
(n: descs: let
left = elemAt descs 0;
right = elemAt descs 1;
in if n == len then [
in if n == (len - 1) then [
(mkModule left)
(mkSpacer n left right)
(mkModule right)
@ -171,7 +173,7 @@ SSID: {essid} {frequency}'';
(mkModule left)
(mkSpacer n left right)
])
(utils.windows 2 descs)
list
);
# Module -> {"name" = setting}
@ -217,6 +219,59 @@ SSID: {essid} {frequency}'';
position = "top";
};
};
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};
padding-left: 0.3em;
padding-right: 0.3em;
border-radius: 0.5em;
margin-left: 0.2em;
margin-right: 0.2em;
margin-bottom: 0.2em;
}
/* Inactive (on unfocused output) */
#workspaces button.visible {
color: ${theme.extra.white};
background: ${theme.extra.purple};
}
/* Active (on focused output) */
#workspaces button.focused {
color: ${theme.extra.black};
background: ${theme.extra.aqua};
}
/* Contains an urgent window */
#workspaces button.urgent {
color: ${theme.extra.black};
background: ${theme.bright.red};
}
/* Style when cursor is on the button */
#workspaces button:hover {
background: ${theme.extra.black};
color: ${theme.extra.white};
}
#window {
margin-right: 10pt;
margin-left: 10pt;
}
'';
in {
imports = [ ../options.nix ];
@ -234,9 +289,23 @@ in {
};
style = ''
* {border: none; border-radius: 0; min-height: 0; margin: 0; padding: 0; box-shadow: none; text-shadow: none;}
#waybar { background: rgba(40, 40, 40, 0.3); color: #ffffff; font-family: "sans-serif"; font-size: 12pt; font-weight: 500; }
* {
border: none;
border-radius: 0;
min-height: 0;
margin: 0;
padding: 0;
box-shadow: none;
text-shadow: none;
}
#waybar {
background: rgba(40, 40, 40, 0.3);
color: #ffffff;
font-family: "sans-serif";
font-size: 12pt;
font-weight: 500;
}
''
+ bar.style;
+ workspace-style + bar.style;
};
}

View file

@ -4,7 +4,7 @@
src = builtins.fetchGit {
url = "git@git.nirgendwo.xyz:janis/dotfiles.git";
rev = "56cf6dd4efac92527f465a864b2b155833b364ee";
rev = "a5fcc6a741eb21e9a729b4c001ce069c485bccc1";
ref = "main";
};

View file

@ -123,7 +123,7 @@ in stdenv.mkDerivation {
mkdir -p $out/bin $out/share
ln -s ${nordvpn}/bin/nordvpn $out/bin
ln -s ${nordvpnd}/bin/nordvpnd $out/bin
ln -s ${nordvpn}/share* $out/share
ln -s ${nordvpn}/share/* $out/share
ln -s ${nordvpn}/var $out
runHook postInstall
'';

View file

@ -4,4 +4,5 @@ final: prev: {
screenshot = prev.callPackage ./screenshot.nix {};
dotfiles = prev.callPackage ./dotfiles.nix {};
tree-sitter-slang = prev.callPackage ./tree-sitter-slang.nix {};
wpaperd-patched = prev.callPackage ./wpaperd.nix {};
}

40
pkgs/wpaperd.nix Normal file
View file

@ -0,0 +1,40 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
libxkbcommon,
wayland,
libGL,
}:
rustPlatform.buildRustPackage {
pname = "wpaperd-patched";
version = "1.2.1";
src = fetchFromGitHub {
owner = "janis-bhm";
repo = "wpaperd";
rev = "main";
hash = "sha256-bqsr4tOA2ZOoz8Y7m9A3O+gUIFsJ6gvP2wjUYExyuGI=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-Vz5x9V+q5OwRR/GdiM/kEEfENSQ+KyN3DKM35NHuzAk=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
wayland
libGL
libxkbcommon
];
meta = with lib; {
description = "Minimal wallpaper daemon for Wayland";
license = licenses.gpl3Plus;
platforms = platforms.linux;
mainProgram = "wpaperd";
};
}

View file

@ -17,4 +17,12 @@
num-windows;
isEmptySet = set: with builtins; length (attrNames set) == 0;
# convert an rgb colour string from the form "#rrggbb" to "#rrggbbff"
rgbToRgba = rgb: let
hex = builtins.replaceStrings [ "#" ] [ "" ] rgb;
r = builtins.substring 0 2 hex;
g = builtins.substring 2 2 hex;
b = builtins.substring 4 2 hex;
in "#${r}${g}${b}ff";
}