Started anew

This commit is contained in:
2026-03-23 16:18:38 +00:00
parent 74a0067e1d
commit fee1011c73
16907 changed files with 66058 additions and 0 deletions
+301
View File
@@ -0,0 +1,301 @@
#!/usr/bin/env bash
# Droidnix: Complete Emacs setup for Nix/Org tangling, HTML export, and a great editing experience
# For NixOS systems
set -euo pipefail
# Install Emacs and git via nix-shell (no apt-get)
if ! command -v emacs &> /dev/null; then
echo "Emacs not found. Installing Emacs and git via nix-shell..."
nix-shell -p emacs git --run "$0" "$@"
exit 0
fi
# Create a minimal Emacs config for package installation
TEMP_CONFIG=$(mktemp /tmp/droidnix-emacs-setup.XXXXXX.el)
cat > "$TEMP_CONFIG" << 'EOF'
;; Minimal config for installing packages
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
(package-initialize)
EOF
# Install packages in batch mode
echo "Installing Emacs packages..."
emacs --batch \
--load "$TEMP_CONFIG" \
--eval "(package-refresh-contents)" \
--eval "(package-install 'use-package)" \
--eval "(package-install 'org)" \
--eval "(package-install 'nix-mode)" \
--eval "(package-install 'htmlize)" \
--eval "(package-install 'catppuccin-theme)" \
--eval "(package-install 'org-bullets)" \
--eval "(package-install 'magit)" \
--eval "(package-install 'company)" \
--eval "(package-install 'flycheck)" \
--eval "(package-install 'doom-modeline)" \
--eval "(package-install 'which-key)" \
--eval "(package-install 'projectile)" \
--eval "(package-install 'ivy)" \
--eval "(package-install 'counsel)" \
--eval "(package-install 'all-the-icons)" \
--eval "(package-install 'doom-themes)" \
--eval "(package-install 'treemacs)" \
--eval "(package-install 'lsp-mode)" \
--eval "(package-install 'dashboard)"
# Create a post-install config for interactive use
USER_EMACSCONFIG="${HOME}/.emacs.d/init.el"
if [ ! -f "$USER_EMACSCONFIG" ]; then
mkdir -p "${HOME}/.emacs.d"
cat > "$USER_EMACSCONFIG" << 'EOF'
;; Droidnix Emacs Configuration for NixOS
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
;; Basic UI improvements
(tool-bar-mode -1) ; Disable toolbar
(menu-bar-mode -1) ; Disable menu bar
(scroll-bar-mode -1) ; Disable scroll bar
(setq inhibit-startup-message t) ; Disable startup message
(setq make-backup-files nil) ; Disable backup files
(setq auto-save-default nil) ; Disable auto-save files
;; Enable Catppuccin Mocha theme
(when (fboundp 'load-theme)
(ignore-errors
(load-theme 'catppuccin-mocha t)
(setq catppuccin-disable-term-colors nil)
(setq catppuccin-enable-bold t)
(setq catppuccin-enable-italic t)))
;; Enable Doom Modeline
(when (fboundp 'doom-modeline-mode)
(doom-modeline-mode 1))
;; Enable All The Icons
(when (fboundp 'all-the-icons-install-fonts)
(all-the-icons-install-fonts)
(global-all-the-icons-mode))
;; Enable Treemacs
(when (fboundp 'treemacs)
(treemacs-mode)
(setq treemacs-width 30)
(setq treemacs-position 'left)
(setq treemacs-space-between-root-nodes nil)
(setq treemacs-indent-level 2)
(setq treemacs-file-follow-delay 0.1)
(setq treemacs-git-icon-enabled t)
(setq treemacs-project-follow t)
(setq treemacs-display-project-root t)
(setq treemacs-show-hidden-files t))
;; Enable Company for autocomplete
(when (fboundp 'company-mode)
(global-company-mode)
(setq company-idle-delay 0.1)
(setq company-minimum-prefix-length 1))
;; Enable Flycheck for syntax checking
(when (fboundp 'flycheck-mode)
(global-flycheck-mode)
(setq flycheck-check-syntax-automatically '(save mode-enabled))
(setq flycheck-display-errors-delay 0.5))
;; Enable Ivy + Counsel for better completion
(when (fboundp 'ivy-mode)
(ivy-mode 1)
(setq ivy-use-virtual-buffers t)
(setq ivy-count-format "(%d/%d) ")
(setq ivy-height 10)
(when (fboundp 'counsel-mode)
(counsel-mode 1)))
;; Enable Projectile for project management
(when (fboundp 'projectile-mode)
(projectile-mode +1)
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
(setq projectile-completion-system 'ivy)
(setq projectile-switch-project-action 'projectile-dired))
;; Enable Which Key for keybindings help
(when (fboundp 'which-key-mode)
(which-key-mode 1)
(setq which-key-idle-delay 0.5)
(setq which-key-show-major-modes nil))
;; Configure Org Mode with Babel support for Nix and Shell
(require 'org)
(require 'ob-shell) ; Required for shell code blocks
(require 'ob-nix) ; Required for nix code blocks
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(nix . t)
(shell . t)
(python . t)
(dockerfile . t)))
(setq org-babel-tangle-lang-exts '(("nix" . "nix")))
(setq org-src-fontify-natively t)
(setq org-src-tab-act-as-tab t)
(setq org-edit-src-content-indentation 0)
(setq org-startup-indented t)
(setq org-startup-folded nil)
(setq org-ellipsis "⤵")
(setq org-hide-emphasis-markers t)
(setq org-image-actual-width nil)
(setq org-html-htmlize-output-type 'css)
(setq org-export-with-toc nil)
(setq org-todo-keywords '("TODO" "DOING" "|" "DONE" "CANCELED"))
(setq org-log-done 'time)
(setq org-directory "~/org")
(when (fboundp 'org-bullets-mode)
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
;; Enable Magit for Git
(when (fboundp 'magit-version)
(setq magit-display-buffer-function 'magit-display-buffer-fullscreen)
(setq magit-last-seen-setup-instruction "1.4.0"))
;; Enable LSP Mode for language server support
(when (fboundp 'lsp-mode)
(lsp-mode 1)
(setq lsp-keymap-prefix "C-c l")
(setq lsp-enable-snippets nil)
(setq lsp-enable-indentation nil)
(setq lsp-enable-on-type-formatting nil)
(setq lsp-lens-enable nil)
(setq lsp-signature-auto-activate nil))
;; Enable Dashboard
(when (fboundp 'dashboard-refresh-buffer)
(dashboard-mode 1)
(setq dashboard-items '((recents . 5)
(projects . 5)
(agenda . 5)
(bookmarks . 5)))
(setq dashboard-center-content t)
(setq dashboard-banner-logo-title "Droidnix Configuration"))
;; Enable Nix Mode
(when (fboundp 'nix-mode)
(setq auto-mode-alist (cons '("\\.nix\\'" . nix-mode) auto-mode-alist))
(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode)))
;; Custom keybindings
(global-set-key (kbd "C-c t") 'treemacs)
(global-set-key (kbd "C-c p") 'projectile-command-map)
(global-set-key (kbd "C-c g") 'magit-status)
(global-set-key (kbd "C-c d") 'dashboard-refresh-buffer)
(global-set-key (kbd "C-c b") 'ivy-switch-buffer)
(global-set-key (kbd "C-c f") 'find-file)
(global-set-key (kbd "C-c s") 'save-buffer)
(global-set-key (kbd "C-c q") 'kill-buffer)
(global-set-key (kbd "C-c w") 'widen)
(global-set-key (kbd "C-c n") 'narrow-to-region)
;; Nix-specific configurations
(setq nix-indent-width 2)
(setq nix-continuation-indent-width 4)
;; HTML export settings for Org
(setq org-html-head-include-default-style nil)
(setq org-html-head-extra "
<link rel=\"stylesheet\" href=\"https://cdn.jsdelivr.net/npm/tree.js@1.0.0/dist/tree.min.css\">
<script src=\"https://cdn.jsdelivr.net/npm/tree.js@1.0.0/dist/tree.min.js\"></script>
<style>
.tree { font-family: monospace; white-space: pre; }
#table-of-contents { display: none; }
.org-src-container { background-color: #313244; color: #cdd6f4; padding: 1em; border-radius: 5px; }
pre.src { background-color: #313244; padding: 1em; border-radius: 5px; }
</style>")
;; Function to wrap tree output in div for HTML export
(defun my/org-wrap-tree-in-div ()
"Wrap the Nix tree output in a div with class 'tree' for HTML export."
(interactive)
(save-excursion
(goto-char (point-min))
(when (re-search-forward "#+RESULTS:\n#+BEGIN_EXAMPLE\n\\(.*?\n\\)#+END_EXAMPLE" nil t)
(goto-char (match-beginning 1))
(insert "#+HTML: <div class=\"tree\">\n")
(goto-char (match-end 1))
(insert "#+HTML: </div>\n"))))
;; Add hook to automatically wrap tree output on export
(add-hook 'org-export-before-processing-hook 'my/org-wrap-tree-in-div)
;; Set default mode for new buffers
(setq-default major-mode 'text-mode)
(setq-default indent-tabs-mode nil)
(setq default-tab-width 2)
(setq tab-width 2)
;; Enable line numbers globally
(global-display-line-numbers-mode 1)
(setq display-line-numbers-type 'relative)
;; Configure fill column indicator
(setq display-fill-column-indicator t)
(setq display-fill-column-indicator-character ?│)
(setq fill-column 80)
;; Enable delete-selection-mode for more intuitive editing
(delete-selection-mode 1)
;; Configure modeline
(setq display-time-day-and-date t)
(setq display-time-24hr-format t)
;; Configure frame appearance
(setq default-frame-alist '((fullscreen . maximized)
(alpha . (95 95))
(vertical-scroll-bars . nil)
(tool-bar-lines . 0)
(menu-bar-lines . 0)
(line-spacing . 3)
(font . "Fira Code-12")))
EOF
fi
# Clean up
rm "$TEMP_CONFIG"
echo ""
echo "Emacs setup complete with Catppuccin Mocha and all plugins!"
echo ""
echo "Installed packages:"
echo " ✅ Catppuccin Mocha (theme)"
echo " ✅ Org mode + Org Bullets + Org Babel (Nix/Shell support)"
echo " ✅ Magit (Git interface)"
echo " ✅ Company (autocomplete)"
echo " ✅ Flycheck (syntax checking)"
echo " ✅ Doom Modeline (status bar)"
echo " ✅ Which Key (keybindings help)"
echo " ✅ Projectile (project management)"
echo " ✅ Ivy + Counsel (completion framework)"
echo " ✅ All The Icons (pretty icons)"
echo " ✅ Treemacs (file tree)"
echo " ✅ LSP Mode (language server)"
echo " ✅ ob-shell + ob-nix (Org Babel support)"
echo " ✅ Dashboard (start page)"
echo " ✅ tree.js (for collapsible directory trees in HTML export)"
echo ""
echo "You can now:"
echo "1. Tangle Org files: emacs README.org --batch -f org-babel-tangle"
echo "2. Export to HTML: emacs -Q --batch README.org -f org-html-export-to-html"
echo "3. Open Emacs: emacs"
echo ""
echo "The configuration includes:"
echo "- Proper Org Babel support for shell and Nix"
echo "- Tree.js integration for collapsible directory trees in HTML export"
echo "- Custom keybindings for common operations"
echo "- Enhanced UI with Treemacs, Doom Modeline, and Catppuccin theme"
echo "- Optimized settings for Nix development"
echo "- HTML export with embedded CSS for better styling"
@@ -0,0 +1,22 @@
##############################################
# These files are just for reference.
# If you want to change anything, edit the source files in:
# ~/henrovnix/assets/conf
#
# After that, run:
# cd ~/henrovnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
#
# If everything still works, you can use the same command but:
# - keep "switch"
# - and add a reboot:
#
# cd ~/henrovnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
#
# NOTE:
# Make sure the lines starting with: cd ~/henrovnix
# are written as ONE single line.
##############################################
#app.zen_browser.zen
com.github.tchx84.Flatseal
eu.betterbird.Betterbird
com.todoist.Todoist
@@ -0,0 +1,123 @@
#!/usr/bin/env bash
set -euo pipefail
# Install Neovim and Neovide using nix-env with the correct attribute path for NixOS
echo "Installing Neovim and Neovide..."
nix-env -iA nixos.neovim nixos.neovide
# Create Neovim config directory
NVIM_CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/nvim"
mkdir -p "$NVIM_CONFIG_DIR"
# Install packer.nvim (plugin manager)
PACKER_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/nvim/site/pack/packer/start/packer.nvim"
if [ ! -d "$PACKER_DIR" ]; then
echo "Installing packer.nvim..."
git clone --depth 1 https://github.com/wbthomason/packer.nvim "$PACKER_DIR"
fi
# Write minimal init.lua for literate NixOS
cat > "$NVIM_CONFIG_DIR/init.lua" << 'EOF'
-- Enable filetype detection, syntax highlighting, and indenting
vim.cmd([[
filetype plugin indent on
syntax on
]])
-- Leader key
vim.g.mapleader = " "
-- Install plugins with Packer
local fn = vim.fn
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
local packer_bootstrap = false
if fn.empty(fn.glob(install_path)) > 0 then
packer_bootstrap = fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
vim.cmd [[packadd packer.nvim]]
end
require('packer').startup(function(use)
-- Plugin manager
use 'wbthomason/packer.nvim'
-- Catppuccin theme
use { 'catppuccin/nvim', as = 'catppuccin' }
-- Orgmode for literate NixOS
use {
'nvim-orgmode/orgmode',
config = function()
require('orgmode').setup({
org_agenda_files = {'~/Documents/org/*'},
org_default_notes_file = '~/Documents/org/notes.org',
})
end
}
-- Treesitter (better syntax highlighting)
use {
'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate',
config = function()
require('nvim-treesitter.configs').setup({
ensure_installed = {'nix', 'org'},
highlight = { enable = true },
})
end
}
-- LSP (for Nix language server)
use {
'neovim/nvim-lspconfig',
config = function()
require('lspconfig').nil_ls.setup({})
end
}
-- Telescope (fuzzy finder)
use {
'nvim-telescope/telescope.nvim',
requires = {{'nvim-lua/plenary.nvim'}}
}
-- Automatically set up after cloning packer.nvim
if packer_bootstrap then
require('packer').sync()
end
end)
-- Set Catppuccin theme
vim.cmd.colorscheme('catppuccin-mocha')
-- Keybindings for orgmode
vim.api.nvim_set_keymap('n', '<leader>oo', '<cmd>lua require("orgmode").action("agenda.prompt")<cr>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>oc', '<cmd>lua require("orgmode").action("capture.prompt")<cr>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>ot', '<cmd>lua require("orgmode").action("tangle.current_file")<cr>', { noremap = true, silent = true })
vim.api.nvim_set_keymap('n', '<leader>oe', '<cmd>lua require("orgmode").action("export.current_file")<cr>', { noremap = true, silent = true })
-- Auto-install LSP and Treesitter parsers on first run
vim.api.nvim_create_autocmd('BufEnter', {
pattern = {'*.nix', '*.org'},
callback = function()
vim.cmd('TSInstall! nix')
vim.cmd('TSInstall! org')
end,
})
EOF
# Install nil (Nix language server)
echo "Installing nil (Nix language server)..."
nix-env -iA nixos.nil
# Install Neovide config (optional)
NEOVIDE_CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/neovide"
mkdir -p "$NEOVIDE_CONFIG_DIR"
cat > "$NEOVIDE_CONFIG_DIR/config.toml" << 'EOF'
[editor]
theme = "catppuccin-mocha"
EOF
echo "Setup complete!"
echo "Run 'nvim' or 'neovide' to start."
echo "In Neovim, run ':PackerSync' to install plugins."
@@ -0,0 +1,48 @@
#productivity
todoist
# browsers
brave
chromium
# utils
ripgrep
wget
kdePackages.kdeconnect-kde
_1password-gui
tree
gparted
file
htop
btop
wev
solaar
baobab
duf
zed-editor
eza
z-lua
qdirstat
# office
obsidian
onlyoffice-desktopeditors
# development
postman
tea
#jetbrains.pycharm
python3
# communication
nextcloud-client
nextcloud-talk-desktop
signal-desktop
openssl
# multimedia
audacity
handbrake
spotify
vlc
@@ -0,0 +1,84 @@
# vim:ft=kitty
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# Scrollbar colors
scrollbar_handle_color #9399b2
scrollbar_track_color #45475a
# URL color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8
@@ -0,0 +1,72 @@
##############################################
# Aliases (source-of-truth)
#
# This file is written in bash/zsh alias syntax in [bash_zsh], [bash_specific], [zsh_specific].
# Fish has different syntax; the Nix module translates [bash_zsh] into fish format and then
# appends [fish_specific] as-is.
##############################################
##############################################
# Generic aliases (bash/zsh)
# These are intended to be available in bash and zsh.
##############################################
[bash_zsh]
alias ll='ls -lah'
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gcp='git add . && git commit && git push'
alias cd='z'
alias nps='xdg-open https://search.nixos.org'
alias hvnx='cd ~/Repos/nixos/henrovnix_ok'
alias emt='hvnx && emacs README.org --batch -f org-babel-tangle && emacs -Q --batch README.org -f org-html-export-to-html'
alias nxs='hvnx && sudo nixos-rebuild switch --flake .#traveldroid'
alias nxt='hvnx && sudo nixos-rebuild test --flake .#traveldroid'
alias nxv='hvnx && sudo nixos-rebuild build-vm --flake .#traveldroid && "$(ls -1 ./result/bin/run-*-vm | head -n 1)"'
alias rb='systemctl reboot'
alias po='systemctl poweroff'
alias fpl='flatpak list'
alias fps='flatpak search'
alias fpi='flatpak install'
alias fpr='flatpak run'
alias nxc='ssh henrov@nextcloud.data-pro.nu'
alias vs='code'
alias blog='cd ~/Repos/blog && ll'
alias keys='hyprctl binds'
##############################################
# Shell-specific aliases / examples
#
# Everything below is COMMENTED OUT on purpose.
# These examples show syntax or commands that are shell-specific
# (or behave differently across shells).
##############################################
[bash_specific]
# Enable recursive globbing (**)
# alias sg='shopt -s globstar'
[zsh_specific]
# Recursive globbing works by default in zsh; this prints matches one-per-line
# alias recglob='print -l **/*.nix'
[fish_specific]
# Fish has its own language; this is fish-only syntax (not bash/zsh)
# alias setvar='set -gx EDITOR emacs'
[dash_specific]
# dash is a minimal POSIX shell; shown here only as an example
# alias com='command -v ls'
[nushell_specific]
# Nushell pipelines structured data; this is nu-only syntax
# alias fbf='ls | where size > 1mb | get name'
@@ -0,0 +1,15 @@
##############################################
# Enabled shells (source-of-truth)
#
# Edit this file in the repo:
# ./assets/conf/dev/terminal/enabled_shells.conf
#
# After changing, rebuild Home Manager / your system as you normally do.
##############################################
[enabled_shells]
bash = yes
zsh = yes
fish = no
dash = no
nushell = no
+3
View File
@@ -0,0 +1,3 @@
# Droidnix Base Configuration
# Choose your window manager: hyprland or mangowc
wm = "hyprland"
+127
View File
@@ -0,0 +1,127 @@
:root {
--base: #1e1e2e;
--mantle: #181825;
--crust: #11111b;
--text: #cdd6f4;
--subtext1: #bac2de;
--subtext0: #a6adc8;
--overlay2: #9399b2;
--overlay1: #7f849c;
--overlay0: #6c7086;
--surface2: #585b70;
--surface1: #45475a;
--surface0: #313244;
--lavender: #b4befe;
--blue: #89b4fa;
--sapphire: #74c7ec;
--teal: #94e2d5;
--green: #a6e3a1;
--yellow: #f9e2af;
--peach: #fab387;
--maroon: #eba0ac;
--red: #f38ba8;
--mauve: #cba6f7;
--pink: #f5c2e7;
--flamingo: #f2cdcd;
--rosewater: #f5e0dc;
}
* {
all: unset;
color: var(--text);
font-family:
FiraCode Nerd Font,
monospace;
font-size: 12px;
}
window {
border: 1px solid var(--surface0);
background-color: #1e1e2ee6;
border-radius: 8px;
margin: 0;
padding: 0;
box-shadow: 0 2px 10px #0003;
}
box {
spacing: 8px;
background-color: #0000;
padding: 4px 8px;
}
label {
color: var(--text);
padding: 2px 6px;
}
button {
color: var(--text);
background-color: var(--surface1);
border-radius: 4px;
padding: 2px 8px;
transition: all 0.2s;
}
button:hover {
background-color: var(--surface2);
color: var(--lavender);
}
button:active {
background-color: var(--blue);
color: var(--crust);
}
.workspace {
color: var(--subtext1);
background-color: #0000;
border-radius: 4px;
margin: 0 2px;
padding: 2px 8px;
}
.workspace.active {
background-color: var(--blue);
color: var(--base);
}
.workspace.urgent {
background-color: var(--red);
color: var(--crust);
}
.workspace.focused {
background-color: var(--lavender);
color: var(--base);
}
#clock {
color: var(--peach);
background-color: #0000;
padding: 2px 8px;
}
#cpu,
#ram,
#temp {
color: var(--green);
background-color: #0000;
padding: 2px 8px;
}
#volume {
color: var(--mauve);
}
#battery {
color: var(--green);
}
#battery.discharging {
color: var(--yellow);
}
#battery.critical {
color: var(--red);
}
@@ -0,0 +1,79 @@
;; Main bar widget
(defwidget bar []
(box :class "bar" :orientation "h" :space-evenly false :font "FiraCode Nerd Font 10"
;; Left: Workspaces (Hyprland)
(box :class "workspaces" :orientation "h"
(label :class "workspace" :id "workspace_1" :text "1")
(label :class "workspace" :id "workspace_2" :text "2")
(label :class "workspace" :id "workspace_3" :text "3")
(label :class "workspace" :id "workspace_4" :text "4")
(label :class "workspace" :id "workspace_5" :text "5")
)
;; Center: Empty (placeholder for alignment)
(box :halign "center" :hexpand true)
;; Right: System modules
(box :class "right-items" :orientation "h" :spacing 8
;; Idle inhibitor
(button :class "idle-inhibitor" :onclick "eww update idle_inhibitor_icon='\uF472'; notify-send 'Idle inhibitor' 'Activated'"
:label (label :id "idle_inhibitor_icon" :text "\uF472"))
;; PulseAudio
(button :class "pulseaudio" :onclick "pavucontrol"
:label (label :id "pulseaudio_label" :text "\uF028 100%"))
;; Network
(button :class "network" :onclick "impala" :onclick-right "nm-connection-editor"
:label (label :id "network_label" :text "Disconnected !"))
;; Battery
(button :class "battery" :label (label :id "battery_label" :text "100% \uF0E4"))
;; Tray placeholder (requires external tray like waybar-tray)
(box :class "tray" :orientation "h" :spacing 4
(label :text "Tray"))
;; Clock
(button :class "clock" :onclick "flatpak run eu.betterbird.Betterbird -calendar"
:label (label :id "clock_label" :text "Mon, 01 Jan 2024 - 12:00"))
)
)
)
;; Window definition
(defwindow bar-window
:geometry (geometry :x 0 :y 0 :width 1920 :height 34 :anchor "top left")
:layer "top"
:exclusivity "ignore"
(bar)
)
;; Scripts to update dynamic content
(defpoll [1000] ;; Update every second
;; Update PulseAudio volume
(setq pulseaudio-volume (exec "pamixer --get-volume"))
(setq pulseaudio-muted (exec "pamixer --get-mute"))
(if (string= pulseaudio-muted "true")
(eww update pulseaudio_label="\uF026")
(eww update pulseaudio_label=(strfmt "{}% {}" pulseaudio-volume (if (> (string->number pulseaudio-volume) 50) "\uF028" "\uF027"))
)
;; Update network status
(setq network-essid (exec "nmcli -t -f TYPE,NAME dev status | awk -F: '/wifi/{print $2}'"))
(if (string-empty? network-essid)
(eww update network_label="Disconnected !")
(eww update network_label=(strfmt "\uF1EB ({})" network-essid))
)
;; Update clock
(eww update clock_label=(strftime "%a, %d %b %Y - %H:%M"))
;; Update battery status
(setq battery-capacity (exec "cat /sys/class/power_supply/BAT0/capacity"))
(setq battery-status (exec "cat /sys/class/power_supply/BAT0/status"))
(if (string= battery-status "Charging")
(eww update battery_label=(strfmt "{}% \uF0E4" battery-capacity))
(eww update battery_label=(strfmt "{}% \uF079" battery-capacity))
)
)
@@ -0,0 +1,84 @@
# vim:ft=kitty
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# Scrollbar colors
scrollbar_handle_color #9399b2
scrollbar_track_color #45475a
# URL color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8
@@ -0,0 +1,15 @@
# Generated by Home Manager.
# See https://sw.kovidgoyal.net/kitty/conf.html
shell_integration no-rc
include Catppuccin-Mocha.conf
map ctrl+shift+v paste_from_clipboard
map ctrl+shift+c copy_to_clipboard
background_opacity 0.2
background_blur 1
dynamic_background_opacity yes
font_family FiraCode Nerd Font
font_size 10.0
@@ -0,0 +1,277 @@
format = """
[](red)\
$os\
$username\
[](bg:peach fg:red)\
$directory\
[](bg:yellow fg:peach)\
$git_branch\
$git_status\
[](fg:yellow bg:green)\
$c\
$rust\
$golang\
$nodejs\
$php\
$java\
$kotlin\
$haskell\
$python\
[](fg:green bg:sapphire)\
$conda\
[](fg:sapphire bg:lavender)\
$time\
[ ](fg:lavender)\
$cmd_duration\
$line_break\
$character"""
palette = 'catppuccin_mocha'
[os]
disabled = false
style = "bg:red fg:crust"
[os.symbols]
Windows = ""
Ubuntu = "󰕈"
SUSE = ""
Raspbian = "󰐿"
Mint = "󰣭"
Macos = "󰀵"
Manjaro = ""
Linux = "󰌽"
Gentoo = "󰣨"
Fedora = "󰣛"
Alpine = ""
Amazon = ""
Android = ""
AOSC = ""
Arch = "󰣇"
Artix = "󰣇"
CentOS = ""
Debian = "󰣚"
Redhat = "󱄛"
RedHatEnterprise = "󱄛"
[username]
show_always = true
style_user = "bg:red fg:crust"
style_root = "bg:red fg:crust"
format = '[ $user]($style)'
[directory]
style = "bg:peach fg:crust"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = "󰝚 "
"Pictures" = " "
"Developer" = "󰲋 "
[git_branch]
symbol = ""
style = "bg:yellow"
format = '[[ $symbol $branch ](fg:crust bg:yellow)]($style)'
[git_status]
style = "bg:yellow"
format = '[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)'
[nodejs]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[c]
symbol = " "
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[rust]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[golang]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[php]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[java]
symbol = " "
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[kotlin]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[haskell]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[python]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version)(\(#$virtualenv\)) ](fg:crust bg:green)]($style)'
[docker_context]
symbol = ""
style = "bg:sapphire"
format = '[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)'
[conda]
symbol = "  "
style = "fg:crust bg:sapphire"
format = '[$symbol$environment ]($style)'
ignore_base = false
[time]
disabled = false
time_format = "%R"
style = "bg:lavender"
format = '[[  $time ](fg:crust bg:lavender)]($style)'
[line_break]
disabled = false
[character]
disabled = false
success_symbol = '[](bold fg:green)'
error_symbol = '[](bold fg:red)'
vimcmd_symbol = '[](bold fg:green)'
vimcmd_replace_one_symbol = '[](bold fg:lavender)'
vimcmd_replace_symbol = '[](bold fg:lavender)'
vimcmd_visual_symbol = '[](bold fg:yellow)'
[cmd_duration]
show_milliseconds = true
format = " in $duration "
style = "bg:lavender"
disabled = false
show_notifications = true
min_time_to_notify = 45000
[palettes.catppuccin_mocha]
rosewater = "#f5e0dc"
flamingo = "#f2cdcd"
pink = "#f5c2e7"
mauve = "#cba6f7"
red = "#f38ba8"
maroon = "#eba0ac"
peach = "#fab387"
yellow = "#f9e2af"
green = "#a6e3a1"
teal = "#94e2d5"
sky = "#89dceb"
sapphire = "#74c7ec"
blue = "#89b4fa"
lavender = "#b4befe"
text = "#cdd6f4"
subtext1 = "#bac2de"
subtext0 = "#a6adc8"
overlay2 = "#9399b2"
overlay1 = "#7f849c"
overlay0 = "#6c7086"
surface2 = "#585b70"
surface1 = "#45475a"
surface0 = "#313244"
base = "#1e1e2e"
mantle = "#181825"
crust = "#11111b"
[palettes.catppuccin_frappe]
rosewater = "#f2d5cf"
flamingo = "#eebebe"
pink = "#f4b8e4"
mauve = "#ca9ee6"
red = "#e78284"
maroon = "#ea999c"
peach = "#ef9f76"
yellow = "#e5c890"
green = "#a6d189"
teal = "#81c8be"
sky = "#99d1db"
sapphire = "#85c1dc"
blue = "#8caaee"
lavender = "#babbf1"
text = "#c6d0f5"
subtext1 = "#b5bfe2"
subtext0 = "#a5adce"
overlay2 = "#949cbb"
overlay1 = "#838ba7"
overlay0 = "#737994"
surface2 = "#626880"
surface1 = "#51576d"
surface0 = "#414559"
base = "#303446"
mantle = "#292c3c"
crust = "#232634"
[palettes.catppuccin_latte]
rosewater = "#dc8a78"
flamingo = "#dd7878"
pink = "#ea76cb"
mauve = "#8839ef"
red = "#d20f39"
maroon = "#e64553"
peach = "#fe640b"
yellow = "#df8e1d"
green = "#40a02b"
teal = "#179299"
sky = "#04a5e5"
sapphire = "#209fb5"
blue = "#1e66f5"
lavender = "#7287fd"
text = "#4c4f69"
subtext1 = "#5c5f77"
subtext0 = "#6c6f85"
overlay2 = "#7c7f93"
overlay1 = "#8c8fa1"
overlay0 = "#9ca0b0"
surface2 = "#acb0be"
surface1 = "#bcc0cc"
surface0 = "#ccd0da"
base = "#eff1f5"
mantle = "#e6e9ef"
crust = "#dce0e8"
[palettes.catppuccin_macchiato]
rosewater = "#f4dbd6"
flamingo = "#f0c6c6"
pink = "#f5bde6"
mauve = "#c6a0f6"
red = "#ed8796"
maroon = "#ee99a0"
peach = "#f5a97f"
yellow = "#eed49f"
green = "#a6da95"
teal = "#8bd5ca"
sky = "#91d7e3"
sapphire = "#7dc4e4"
blue = "#8aadf4"
lavender = "#b7bdf8"
text = "#cad3f5"
subtext1 = "#b8c0e0"
subtext0 = "#a5adcb"
overlay2 = "#939ab7"
overlay1 = "#8087a2"
overlay0 = "#6e738d"
surface2 = "#5b6078"
surface1 = "#494d64"
surface0 = "#363a4f"
base = "#24273a"
mantle = "#1e2030"
crust = "#181926"
@@ -0,0 +1,113 @@
{
"layer": "top",
"height": 34,
//"modules-left": ["hyprland/window"],
"modules-center": ["hyprland/workspaces" ],
"modules-right": [
"idle_inhibitor",
"pulseaudio",
"network",
// "cpu",
// "memory",
// "temperature",
"battery",
"tray",
"clock",
"custom/notifications",
],
/*
"custom/notifications": {
"tooltip": false,
"return-type": "json",
"exec-if": "which swaync-client",
"exec": "swaync-client -swb",
"format": "{icon}",
"format-icons": {
"notification": "",
"none": "",
"dnd-notification": "󰂠",
"dnd-none": "󰪓",
},
"on-click": "swaync-client -t",
"on-click-right": "swaync-client -d",
"on-click-middle": "swaync-client -dn",
},
*/
"idle_inhibitor": {
"tooltip": true,
"format": "{icon}",
"format-icons": {
"activated": "  ",
"deactivated": " 󰒲 ",
},
"tooltip-format-activated": "Staying awake",
"tooltip-format-deactivated": "Might sleep....",
},
"pulseaudio": {
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon}",
"format-muted": "",
"format-icons": {
"headphones": "",
"headset": "",
"phone": "",
"portable": "",
"default": ["", ""],
},
"on-click": "pavucontrol",
},
"network": {
"format-wifi": " ({bandwidthDownBits})",
"format-ethernet": " ({bandwidthDownBits})",
"format-disconnected": "Disconnected ⚠",
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
"tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr}",
"on-click": "impala",
"on-click-right": "nm-connection-editor",
},
"cpu": {
"format": "{usage}%  ",
"tooltip": false,
},
"memory": {
"format": "{percentage}%  ",
},
"temperature": {
"format": "{temperatureC}°C ",
"tooltip": false,
},
"tray": {
"spacing": 10,
"icon-size": 14,
},
"clock": {
"format": "{:%a, %d %b %Y - %H:%M}",
"tooltip": false,
"on-click": "flatpak run eu.betterbird.Betterbird -calendar",
},
"battery": {
"bat": "BAT0",
"states": {
"good": 95,
"warning": 30,
"critical": 15,
},
"format": "{capacity}% {icon}",
"format-charging": "{capacity}% 󰂄",
"format-plugged": "{capacity}%  ",
"format-icons": ["󰁺", "󰁼", "󰁾", "󰂀", "󱈏 "],
},
}
@@ -0,0 +1,225 @@
/* --- Hyprland palette (ported) --- */
@define-color base rgba(30, 30, 46, 1.0); /* 1e1e2eff */
@define-color inactive rgba(89, 89, 89, 0.667); /* 595959aa */
@define-color blue rgba(51, 204, 255, 0.933); /* 33ccffee */
@define-color green rgba(0, 255, 153, 0.933); /* 00ff99ee */
/* extra colors you referenced but didnt define */
@define-color text rgba(255, 255, 255, 1.0);
@define-color surface1 rgba(255, 255, 255, 0.08);
@define-color subtext1 rgba(255, 255, 255, 0.35);
@define-color red rgba(255, 0, 0, 0.90);
@define-color overlay1 rgba(255, 255, 255, 0.35);
@define-color yellow rgba(255, 215, 0, 0.95);
* {
font-family:
Aporetic Sans Mono,
Iosevka Nerd Font,
Roboto,
Helvetica,
Arial,
sans-serif;
font-size: 13px;
}
window#waybar {
background-color: transparent;
color: @text;
transition-property: background-color;
border-bottom: 0px solid rgba(0, 0, 0, 0);
transition-duration: 0.5s;
}
#workspaces button {
padding: 0px 1px;
min-width: 80px;
background-color: transparent;
color: @text;
border: 2px solid @inactive;
border-radius: 10px;
}
#custom-notifications.empty {
color: @overlay1;
}
#custom-notifications.unread {
color: @yellow;
}
#workspaces button:hover {
background-color: @surface1;
color: @text;
}
#workspaces button.active {
padding: 0px 1px;
min-width: 80px;
color: @text;
border-radius: 10px;
font-weight: bold;
border: 1px solid transparent;
background:
linear-gradient(rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.15))
padding-box,
linear-gradient(45deg, @blue, @green) border-box;
}
#custom-hyprscroll_overflow.overflow {
padding: 0px 1px;
min-width: 80px;
color: @text;
border-radius: 10px;
font-weight: bold;
border: 1px dashed transparent;
background:
linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))
padding-box,
linear-gradient(45deg, @blue, @green) border-box;
}
#custom-hyprscroll_overflow.overflow {
background:
linear-gradient(rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.05))
padding-box,
linear-gradient(45deg, @blue, @green) border-box;
}
#custom-hyprscroll_overflow.hidden {
padding: 0;
margin: 0;
min-width: 0;
border: 0;
background: transparent;
opacity: 0;
}
#clock,
#idle_inhibitor,
#battery,
#cpu,
#memory,
#temperature,
#network,
#pulseaudio,
#tray {
margin: 0 5px;
padding: 0 2px;
}
#idle_inhibitor.activated {
background-color: @green;
}
#battery.charging {
color: @green;
}
@keyframes blink {
to {
background-color: #ffffff;
color: black;
}
}
#battery.warning:not(.charging) {
color: white;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#window,
#workspaces {
margin: 0 4px;
}
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#network.disconnected {
background-color: @red;
}
#temperature.critical {
background-color: @red;
}
/* =========================================================
* Notifications
* ========================================================= */
#custom-notifications {
margin: 0 4px;
padding: 0 4px;
min-width: 0;
}
#custom-notifications.empty {
color: @overlay1;
}
#custom-notifications.unread {
color: @yellow;
}
/* =========================================================
* Hyprscroll overflow indicator (custom/hyprscroll_overflow)
* States: .ok, .overflow, .error
* ========================================================= */
/* Default (no overflow): subtle pill, still hoverable for tooltip */
#custom-hyprscroll_overflow.ok {
padding: 0px 1px;
min-width: 80px;
color: @subtext1;
border-radius: 10px;
/* subtle outline so you know it's there */
border: 1px solid rgba(255, 255, 255, 0.12);
background: rgba(255, 255, 255, 0.03);
}
/* Make it feel interactive (hover) */
#custom-hyprscroll_overflow.ok:hover {
color: @text;
background-color: @surface1;
border: 1px solid rgba(255, 255, 255, 0.18);
}
/* Overflow state: you already have this; keep it.
Optional: add hover tweak so it "pops" a bit. */
#custom-hyprscroll_overflow.overflow:hover {
background:
linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1))
padding-box,
linear-gradient(45deg, @blue, @green) border-box;
}
/* Error state: clear but not screaming */
#custom-hyprscroll_overflow.error {
padding: 0px 1px;
min-width: 80px;
color: @text;
border-radius: 10px;
border: 1px solid rgba(255, 0, 0, 0.55);
background: rgba(255, 0, 0, 0.15);
font-weight: bold;
}
/* Optional: if you keep .hidden in the script for any reason */
#custom-hyprscroll_overflow.hidden {
padding: 0;
margin: 0;
min-width: 0;
border: 0;
background: transparent;
opacity: 0;
}
@@ -0,0 +1,75 @@
/* Catppuccin Mocha theme for Wofi with transparency and rounded corners */
@define-color base rgba(30, 30, 46, 0.9); /* Added transparency */
@define-color surface0 rgba(49, 50, 68, 0.95); /* Added transparency */
@define-color surface1 #45475A;
@define-color surface2 #585B70;
@define-color text #CDD6F4;
@define-color lavender #B4BEFE;
@define-color blue #89B4FA;
@define-color sapphire #74C7EC;
@define-color teal #94E2D5;
@define-color green #A6E3A1;
@define-color yellow #F9E2AF;
@define-color peach #FAB387;
@define-color maroon #EBA0AC;
@define-color red #F38BA8;
@define-color mauve #CBA6F7;
@define-color pink #F5C2E7;
@define-color flamingo #F2CDCD;
@define-color rosewater #F5E0DC;
* {
background-color: transparent;
color: @text;
font-family: "JetBrainsMono Nerd Font", monospace;
font-size: 12pt;
}
#main {
background-color: @base;
border: 1px solid @surface0;
border-radius: 10px; /* Rounded corners */
padding: 20px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
}
#input {
background-color: @surface0;
color: @text;
border: 1px solid @surface1;
border-radius: 10px; /* Rounded corners */
padding: 5px 10px;
margin-bottom: 10px;
}
#entry {
background-color: transparent;
color: @text;
border-radius: 10px; /* Rounded corners */
padding: 5px 10px;
margin: 2px 0;
}
#entry:focus {
background-color: @surface1;
color: @lavender;
border-radius: 10px; /* Rounded corners */
}
#entry:selected {
background-color: @surface2;
color: @text;
border-radius: 10px; /* Rounded corners */
}
#scrollbar {
background-color: @surface0;
border-radius: 10px; /* Rounded corners */
width: 8px;
}
#scrollbar.handle {
background-color: @blue;
border-radius: 10px; /* Rounded corners */
}
@@ -0,0 +1,38 @@
[global]
allow_images = true
allow_markup = true
show_drun = true:apps,false:others
show_run = true
show_files = false
show_windowed = false
show_dmenu = false
show_ssh = false
show_power = false
width = 800
height = 600
# Center on the active monitor
x = 50%
y = 50%
lines = 10
columns = 1
sort_order = last-used
sort_method = fuzzy
allow_scrolling = true
scroll_wrap = true
scroll_step = 10
cycle = true
hide_scroll = false
hide_search = false
show_labels = true
label_search = true
label_run = Run
label_files = Files
label_windowed = Windows
label_drun = Applications
label_dmenu = Commands
label_ssh = SSH
label_power = Power
prompt = >
Binary file not shown.
@@ -0,0 +1 @@
/nix/store/hqg1qv89c89x5z6hyafbbyc0ncy0jbqs-home-manager-files/nixos_conf/wallpaperstuff/pictures/5.jpg
@@ -0,0 +1 @@
/nix/store/hqg1qv89c89x5z6hyafbbyc0ncy0jbqs-home-manager-files/nixos_conf/wallpaperstuff/pictures/6.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

@@ -0,0 +1 @@
/nix/store/hqg1qv89c89x5z6hyafbbyc0ncy0jbqs-home-manager-files/nixos_conf/wallpaperstuff/pictures/7.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

@@ -0,0 +1 @@
/nix/store/hqg1qv89c89x5z6hyafbbyc0ncy0jbqs-home-manager-files/nixos_conf/wallpaperstuff/videos/dark_water_large.mp4
@@ -0,0 +1 @@
/nix/store/9cznk9vc494karcb2pq7sccallv76m82-home-manager-files/nixos_conf/wallpaperstuff/videos/white_blobs_small.mp4
@@ -0,0 +1 @@
/nix/store/hqg1qv89c89x5z6hyafbbyc0ncy0jbqs-home-manager-files/nixos_conf/wallpaperstuff/videos/white_blobs_small.mp4
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -euo pipefail
# Source and destination directories
SOURCE_DIR="/home/henrov/Repos/nixos/henrovnix_ok/assets/copy_stuff/"
DEST_DIR="/home/henrov/"
# Check if source directory exists
if [ ! -d "$SOURCE_DIR" ]; then
echo "Error: Source directory $SOURCE_DIR does not exist."
exit 1
fi
# Use rsync to copy files, overwriting symlinks and existing files
# --no-group --no-owner preserves your user ownership
rsync -av --no-group --no-owner "$SOURCE_DIR/" "$DEST_DIR/"
echo "Config files copied from $SOURCE_DIR to $DEST_DIR. Symlinks replaced with editable files."
pkill waybar && waybar &
hyprctl reload
+20
View File
@@ -0,0 +1,20 @@
#!/bin/sh
set -euo pipefail
#creating a timestamp-file to see whether this script ran
TIMESTAMP_FILE="/home/henrov/nixos_conf/nixos_timestamp.txt"
date +"%Y-%m-%d %H:%M:%S" > "$TIMESTAMP_FILE"
echo "File $TIMESTAMP_FILE created"
#cleaning up .backup files (do not worry, they exist safely in ./assets/copy_stuff/.config)
find /home/henrov/.config -name "*.backup" -delete
echo "~/.config/*.backup files deleted"
#copying stuff from assets/copy_stuff to ~
echo "Now in path $(pwd)"
COPY_SCRIPT="/home/henrov/Repos/nixos/henrovnix_ok/assets/scripts/copy_stuff.sh"
if [ ! -f "$COPY_SCRIPT" ]; then
echo "Error: Script $COPY_SCRIPT does not exist."
exit 1
fi
"$COPY_SCRIPT"
+12
View File
@@ -0,0 +1,12 @@
#!/run/current-system/sw/bin/bash
# Get a list of available Wi-Fi networks
networks=$(nmcli -t -f SSID device wifi list)
# Show the list using wofi with dmenu mode
selected=$(echo "$networks" | wofi --show dmenu --width=300 --height=500 --prompt="Select a network")
# Connect to the selected network with the --ask option
if [ -n "$selected" ]; then
nmcli --ask device wifi connect "$selected"
fi
@@ -0,0 +1,21 @@
system: "base16"
name: "Catppuccin Mocha"
author: "https://github.com/catppuccin/catppuccin"
variant: "dark"
palette:
base00: "#1e1e2e" # base
base01: "#181825" # mantle
base02: "#313244" # surface0
base03: "#45475a" # surface1
base04: "#585b70" # surface2
base05: "#cdd6f4" # text
base06: "#f5e0dc" # rosewater
base07: "#b4befe" # lavender
base08: "#f38ba8" # red
base09: "#fab387" # peach
base0A: "#f9e2af" # yellow
base0B: "#a6e3a1" # green
base0C: "#94e2d5" # teal
base0D: "#89b4fa" # blue
base0E: "#cba6f7" # mauve
base0F: "#f2cdcd" # flamingo