feat: add rofi, fonts, dunst config, gtk theme

This commit is contained in:
2025-06-17 23:13:01 -07:00
parent a091cf8a79
commit 9a530d15de
18 changed files with 595 additions and 11 deletions

View File

@@ -1,3 +1,4 @@
.git
.gitignore
custom
nix

70
custom/dunst/dunstrc Normal file
View File

@@ -0,0 +1,70 @@
[global]
monitor = 0
follow = mouse
width = (300,400)
height = 250
origin = top-right
offset = 8x47
indicate_hidden = yes
shrink = no
transparency = 0
notification_height = 0
separator_height = 2
padding = 12
horizontal_padding = 12
frame_width = 2
frame_color = "#343746"
separator_color = frame
sort = yes
idle_threshold = 120
font = Roboto mono 12
line_height = 0
markup = full
format = "<b>%s</b>\n%b"
alignment = left
vertical_alignment = center
show_age_threshold = 60
word_wrap = yes
ellipsize = middle
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = false
show_indicators = no
icon_position = left
min_icon_size = 50
max_icon_size = 50
icon_path = /usr/share/icons/Papirus/16x16/
sticky_history = no
history_length = 50
dmenu = /usr/bin/dmenu -p dunst:
browser = /usr/bin/sensible-browser
always_run_script = true
title = Dunst
class = Dunst
startup_notification = false
verbosity = mesg
corner_radius = 20
ignore_dbusclose = false
force_xinerama = false
mouse_middle_click = do_action, close_current
mouse_right_click = close_all
[experimental]
per_monitor_dpi = false
[shortcuts]
close = ctrl+space
close_all = ctrl+shift+space
history = ctrl+grave
context = ctrl+shift+period
[urgency_low]
background = "#1b1b25"
foreground = "#dedede"
timeout = 5
[urgency_normal]
background = "#1b1b25"
foreground = "#dedede"
timeout = 5
[urgency_critical]
background = "#1b1b25"
foreground = "#dedede"
frame_color = "#f07178"
timeout = 0

Binary file not shown.

181
custom/rofi/config.rasi Normal file
View File

@@ -0,0 +1,181 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Configuration For Rofi Version: 1.7.3
**/
configuration {
/*---------- General setting ----------*/
modi: "drun,run,filebrowser,window";
case-sensitive: false;
cycle: true;
filter: "";
scroll-method: 0;
normalize-match: true;
show-icons: true;
icon-theme: "Papirus";
/* cache-dir: ;*/
steal-focus: false;
/* dpi: -1;*/
/*---------- Matching setting ----------*/
matching: "normal";
tokenize: true;
/*---------- SSH settings ----------*/
ssh-client: "ssh";
ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";
parse-hosts: true;
parse-known-hosts: true;
/*---------- Drun settings ----------*/
drun-categories: "";
drun-match-fields: "name,generic,exec,categories,keywords";
drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";
drun-show-actions: false;
drun-url-launcher: "xdg-open";
drun-use-desktop-cache: false;
drun-reload-desktop-cache: false;
drun {
/** Parse user desktop files. */
parse-user: true;
/** Parse system desktop files. */
parse-system: true;
}
/*---------- Run settings ----------*/
run-command: "{cmd}";
run-list-command: "";
run-shell-command: "{terminal} -e {cmd}";
/*---------- Fallback Icon ----------*/
run,drun {
fallback-icon: "application-x-addon";
}
/*---------- Window switcher settings ----------*/
window-match-fields: "title,class,role,name,desktop";
window-command: "wmctrl -i -R {window}";
window-format: "{w} - {c} - {t:0}";
window-thumbnail: false;
/*---------- Combi settings ----------*/
/* combi-modi: "window,run";*/
/* combi-hide-mode-prefix: false;*/
/* combi-display-format: "{mode} {text}";*/
/*---------- History and Sorting ----------*/
disable-history: false;
sorting-method: "normal";
max-history-size: 25;
/*---------- Display setting ----------*/
display-window: "Windows";
display-windowcd: "Window CD";
display-run: "Run";
display-ssh: "SSH";
display-drun: "Apps";
display-combi: "Combi";
display-keys: "Keys";
display-filebrowser: "Files";
/*---------- Misc setting ----------*/
terminal: "rofi-sensible-terminal";
font: "Mono 12";
sort: false;
threads: 0;
click-to-exit: true;
/* ignored-prefixes: "";*/
/* pid: "/run/user/1000/rofi.pid";*/
/*---------- File browser settings ----------*/
filebrowser {
/* directory: "/home";*/
directories-first: true;
sorting-method: "name";
}
/*---------- Other settings ----------*/
timeout {
action: "kb-cancel";
delay: 0;
}
/*---------- Keybindings ----------*/
/*
kb-primary-paste: "Control+V,Shift+Insert";
kb-secondary-paste: "Control+v,Insert";
kb-clear-line: "Control+w";
kb-move-front: "Control+a";
kb-move-end: "Control+e";
kb-move-word-back: "Alt+b,Control+Left";
kb-move-word-forward: "Alt+f,Control+Right";
kb-move-char-back: "Left,Control+b";
kb-move-char-forward: "Right,Control+f";
kb-remove-word-back: "Control+Alt+h,Control+BackSpace";
kb-remove-word-forward: "Control+Alt+d";
kb-remove-char-forward: "Delete,Control+d";
kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";
kb-remove-to-eol: "Control+k";
kb-remove-to-sol: "Control+u";
kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";
kb-accept-custom: "Control+Return";
kb-accept-custom-alt: "Control+Shift+Return";
kb-accept-alt: "Shift+Return";
kb-delete-entry: "Shift+Delete";
kb-mode-next: "Shift+Right,Control+Tab";
kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";
kb-mode-complete: "Control+l";
kb-row-left: "Control+Page_Up";
kb-row-right: "Control+Page_Down";
kb-row-down: "Down,Control+n";
kb-page-prev: "Page_Up";
kb-page-next: "Page_Down";
kb-row-first: "Home,KP_Home";
kb-row-last: "End,KP_End";
kb-row-select: "Control+space";
kb-screenshot: "Alt+S";
kb-ellipsize: "Alt+period";
kb-toggle-case-sensitivity: "grave,dead_grave";
kb-toggle-sort: "Alt+grave";
kb-cancel: "Escape,Control+g,Control+bracketleft";
kb-custom-1: "Alt+1";
kb-custom-2: "Alt+2";
kb-custom-3: "Alt+3";
kb-custom-4: "Alt+4";
kb-custom-5: "Alt+5";
kb-custom-6: "Alt+6";
kb-custom-7: "Alt+7";
kb-custom-8: "Alt+8";
kb-custom-9: "Alt+9";
kb-custom-10: "Alt+0";
kb-custom-11: "Alt+exclam";
kb-custom-12: "Alt+at";
kb-custom-13: "Alt+numbersign";
kb-custom-14: "Alt+dollar";
kb-custom-15: "Alt+percent";
kb-custom-16: "Alt+dead_circumflex";
kb-custom-17: "Alt+ampersand";
kb-custom-18: "Alt+asterisk";
kb-custom-19: "Alt+parenleft";
kb-select-1: "Super+1";
kb-select-2: "Super+2";
kb-select-3: "Super+3";
kb-select-4: "Super+4";
kb-select-5: "Super+5";
kb-select-6: "Super+6";
kb-select-7: "Super+7";
kb-select-8: "Super+8";
kb-select-9: "Super+9";
kb-select-10: "Super+0";
ml-row-left: "ScrollLeft";
ml-row-right: "ScrollRight";
ml-row-up: "ScrollUp";
ml-row-down: "ScrollDown";
me-select-entry: "MousePrimary";
me-accept-entry: "MouseDPrimary";
me-accept-custom: "Control+MouseDPrimary";
*/
}

171
custom/rofi/launcher.rasi Normal file
View File

@@ -0,0 +1,171 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
modi: "drun";
show-icons: true;
display-drun: "";
drun-display-format: "{name}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 400px;
x-offset: 0px;
y-offset: 0px;
enabled: true;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background;
cursor: "default";
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @selected;
background-color: transparent;
children: [ "inputbar", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 15px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @selected;
text-color: @background;
children: [ "prompt", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "::";
background-color: inherit;
text-color: inherit;
}
entry {
enabled: true;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Search...";
placeholder-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 6;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 5px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: "default";
}
scrollbar {
handle-width: 5px ;
handle-color: @selected;
border-radius: 0px;
background-color: @background-alt;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 8px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element normal.normal {
background-color: @background;
text-color: @foreground;
}
element selected.normal {
background-color: @background-alt;
text-color: @foreground;
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 32px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Message -----*****/
error-message {
padding: 15px;
border: 2px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background;
text-color: @foreground;
}
textbox {
background-color: @background;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.0;
highlight: none;
}

View File

@@ -0,0 +1,33 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
*
* Available Colors Schemes
*
* adapta catppuccin everforest navy paper
* arc cyberpunk gruvbox nord solarized
* black dracula lovelace onedark yousai
*
**/
/* Import color-scheme from `colors` directory */
/**
*
* Author : Levi Lacoss (fishyfishfish55)
* Github : @fishyfishfish55
*
* Colors
**/
* {
background: #15161EFF;
background-alt: #1A1B26FF;
foreground: #C0CAF5FF;
selected: #33467CFF;
active: #414868FF;
urgent: #F7768EFF;
}

View File

@@ -0,0 +1,12 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Fonts
*
**/
* {
font: "JetBrains Mono Nerd Font 10";
}

17
nix/flake.lock generated
View File

@@ -1,5 +1,21 @@
{
"nodes": {
"custom-fonts": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"path": "./fonts",
"type": "path"
},
"original": {
"path": "./fonts",
"type": "path"
},
"parent": []
},
"flake-compat": {
"flake": false,
"locked": {
@@ -150,6 +166,7 @@
},
"root": {
"inputs": {
"custom-fonts": "custom-fonts",
"home-manager": "home-manager",
"mantle": "mantle",
"nixos-wsl": "nixos-wsl",

View File

@@ -12,6 +12,8 @@
mantle.inputs.nixpkgs.follows = "nixpkgs";
rokit.url = "github:rocketcamel/rokit-nix";
rokit.inputs.nixpkgs.follows = "nixpkgs";
custom-fonts.url = "path:./fonts";
custom-fonts.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
@@ -71,6 +73,9 @@
inputs.mantle.packages.${host.architecture}.default
inputs.rokit.packages.${host.architecture}.default
];
fonts.packages = [
inputs.custom-fonts.packages.${host.architecture}.default
];
nixpkgs.config.allowUnfree = true;
}
]

View File

@@ -0,0 +1,12 @@
{ stdenv, lib }:
stdenv.mkDerivation {
pname = "custom-fonts";
version = "0.1.0";
src = ../../custom/fonts;
installPhase = ''
mkdir -p $out/share/fonts
cp -r $src/* $out/share/fonts
'';
}

27
nix/fonts/flake.lock generated Normal file
View File

@@ -0,0 +1,27 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1750134718,
"narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

18
nix/fonts/flake.nix Normal file
View File

@@ -0,0 +1,18 @@
{
description = "custom-fonts";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
};
outputs =
{ self, nixpkgs }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
fonts = pkgs.callPackage ./custom-fonts.nix { };
in
{
packages.x86_64-linux.default = fonts;
};
}

1
nix/fonts/result Symbolic link
View File

@@ -0,0 +1 @@
/nix/store/0vacng2hzhihjl7z98ni7vzs8rdl68v3-custom-fonts-0.1.0

View File

@@ -39,10 +39,6 @@
wheelNeedsPassword = false;
};
fonts.packages = with pkgs; [
nerd-fonts.jetbrains-mono
];
i3.enable = true;
kanata.enable = true;

View File

@@ -16,6 +16,11 @@
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
nerd-fonts.jetbrains-mono
nerd-fonts.iosevka
roboto
roboto-mono
open-sans
];
fonts.fontDir.enable = true;
commonPackages = with pkgs; [

View File

@@ -12,5 +12,6 @@
./kanata.nix
./pipewire.nix
./keys.nix
./rofi.nix
];
}

View File

@@ -48,9 +48,13 @@
ahk_x11
prismlauncher
feh
dconf
rofi
papirus-icon-theme
];
programs.thunar.enable = true;
services.tumbler.enable = true;
rofi.enable = true;
home-manager.users.luca = {
programs = {
@@ -58,7 +62,7 @@
enable = true;
settings = {
"shell-integration-features" = "no-cursor";
"background-opacity" = 0.8;
"background-opacity" = 0.85;
"cursor-style" = "block";
"cursor-style-blink" = false;
"font-size" = 15;
@@ -67,6 +71,18 @@
};
services.dunst = {
enable = true;
configFile = ../../custom/dunst/dunstrc;
};
gtk = {
enable = true;
theme.name = "Adwaita-dark";
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = true;
};
};
qt = {
enable = true;
style.name = "adwaita-dark";
};
services.picom = {
@@ -75,10 +91,6 @@
};
services.copyq.enable = true;
xsession.initExtra = ''
xset s off
xset s noblank
'';
xsession.windowManager.i3 = {
enable = true;
extraConfig = ''
@@ -89,11 +101,13 @@
config = {
modifier = "Mod4";
defaultWorkspace = "workspace number 1";
terminal = "alacritty";
terminal = "ghostty";
fonts = {
names = [
"Noto Sans"
"Noto Sans CJK JP"
"Open Sans"
"Feather"
];
size = 10.0;
};
@@ -114,7 +128,7 @@
"${modifier}+Shift+j" = "move down";
"${modifier}+Shift+k" = "move up";
"${modifier}+Shift+l" = "move right";
"${modifier}+Return" = "exec ghostty";
"${modifier}+d" = "exec rofi -show drun -theme ~/.config/rofi/launcher.rasi";
};
#startup = [
# {

20
nix/modules/rofi.nix Normal file
View File

@@ -0,0 +1,20 @@
{
pkgs,
lib,
config,
...
}:
{
options.rofi = {
enable = lib.mkEnableOption "enable rofi";
};
config = lib.mkIf config.rofi.enable {
home-manager.users.luca = {
xdg.configFile = {
"rofi".source = ../../custom/rofi;
};
};
};
}