Compare commits
	
		
			8 Commits
		
	
	
		
			49e4f0e7ef
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ced4c6e050 | |||
| c3197b86a9 | |||
| aa3e1cedce | |||
| 26461fbf13 | |||
| 03aebab782 | |||
| d3266d1c1d | |||
| b693e9d02c | |||
| ac8850ae00 | 
							
								
								
									
										4
									
								
								darwin/brew_casks.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								darwin/brew_casks.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					alacritty
 | 
				
			||||||
 | 
					font-roboto-mono
 | 
				
			||||||
 | 
					openscad
 | 
				
			||||||
 | 
					xquartz
 | 
				
			||||||
							
								
								
									
										132
									
								
								darwin/brew_packages.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								darwin/brew_packages.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,132 @@
 | 
				
			|||||||
 | 
					aom
 | 
				
			||||||
 | 
					bash
 | 
				
			||||||
 | 
					brotli
 | 
				
			||||||
 | 
					ca-certificates
 | 
				
			||||||
 | 
					cairo
 | 
				
			||||||
 | 
					capstone
 | 
				
			||||||
 | 
					cdrtools
 | 
				
			||||||
 | 
					clang-format
 | 
				
			||||||
 | 
					cmake
 | 
				
			||||||
 | 
					coreutils
 | 
				
			||||||
 | 
					dtc
 | 
				
			||||||
 | 
					fastfetch
 | 
				
			||||||
 | 
					fish
 | 
				
			||||||
 | 
					fontconfig
 | 
				
			||||||
 | 
					freetype
 | 
				
			||||||
 | 
					fribidi
 | 
				
			||||||
 | 
					fzf
 | 
				
			||||||
 | 
					gd
 | 
				
			||||||
 | 
					gdk-pixbuf
 | 
				
			||||||
 | 
					gettext
 | 
				
			||||||
 | 
					giflib
 | 
				
			||||||
 | 
					glib
 | 
				
			||||||
 | 
					gmp
 | 
				
			||||||
 | 
					gnutls
 | 
				
			||||||
 | 
					graphite2
 | 
				
			||||||
 | 
					graphviz
 | 
				
			||||||
 | 
					gts
 | 
				
			||||||
 | 
					harfbuzz
 | 
				
			||||||
 | 
					highway
 | 
				
			||||||
 | 
					htop
 | 
				
			||||||
 | 
					icu4c@77
 | 
				
			||||||
 | 
					imath
 | 
				
			||||||
 | 
					jasper
 | 
				
			||||||
 | 
					jpeg-turbo
 | 
				
			||||||
 | 
					jpeg-xl
 | 
				
			||||||
 | 
					jq
 | 
				
			||||||
 | 
					json-glib
 | 
				
			||||||
 | 
					krb5
 | 
				
			||||||
 | 
					ldns
 | 
				
			||||||
 | 
					libavif
 | 
				
			||||||
 | 
					libcbor
 | 
				
			||||||
 | 
					libdeflate
 | 
				
			||||||
 | 
					libevent
 | 
				
			||||||
 | 
					libfido2
 | 
				
			||||||
 | 
					libidn2
 | 
				
			||||||
 | 
					libkeccak
 | 
				
			||||||
 | 
					liblinear
 | 
				
			||||||
 | 
					libnghttp2
 | 
				
			||||||
 | 
					libpng
 | 
				
			||||||
 | 
					librsvg
 | 
				
			||||||
 | 
					libslirp
 | 
				
			||||||
 | 
					libssh
 | 
				
			||||||
 | 
					libssh2
 | 
				
			||||||
 | 
					libtasn1
 | 
				
			||||||
 | 
					libtermkey
 | 
				
			||||||
 | 
					libtiff
 | 
				
			||||||
 | 
					libtool
 | 
				
			||||||
 | 
					libtpms
 | 
				
			||||||
 | 
					libunistring
 | 
				
			||||||
 | 
					libusb
 | 
				
			||||||
 | 
					libuv
 | 
				
			||||||
 | 
					libvmaf
 | 
				
			||||||
 | 
					libvterm
 | 
				
			||||||
 | 
					libx11
 | 
				
			||||||
 | 
					libxau
 | 
				
			||||||
 | 
					libxcb
 | 
				
			||||||
 | 
					libxcrypt
 | 
				
			||||||
 | 
					libxdmcp
 | 
				
			||||||
 | 
					libxext
 | 
				
			||||||
 | 
					libxrender
 | 
				
			||||||
 | 
					little-cms2
 | 
				
			||||||
 | 
					llvm
 | 
				
			||||||
 | 
					lmdb
 | 
				
			||||||
 | 
					lua
 | 
				
			||||||
 | 
					luajit
 | 
				
			||||||
 | 
					luv
 | 
				
			||||||
 | 
					lz4
 | 
				
			||||||
 | 
					lzo
 | 
				
			||||||
 | 
					m4
 | 
				
			||||||
 | 
					mpdecimal
 | 
				
			||||||
 | 
					msgpack
 | 
				
			||||||
 | 
					navi
 | 
				
			||||||
 | 
					ncurses
 | 
				
			||||||
 | 
					neofetch
 | 
				
			||||||
 | 
					neovim
 | 
				
			||||||
 | 
					netpbm
 | 
				
			||||||
 | 
					nettle
 | 
				
			||||||
 | 
					ninja
 | 
				
			||||||
 | 
					nmap
 | 
				
			||||||
 | 
					ollama
 | 
				
			||||||
 | 
					oniguruma
 | 
				
			||||||
 | 
					openexr
 | 
				
			||||||
 | 
					openjph
 | 
				
			||||||
 | 
					openssh
 | 
				
			||||||
 | 
					openssl@3
 | 
				
			||||||
 | 
					p11-kit
 | 
				
			||||||
 | 
					pango
 | 
				
			||||||
 | 
					pcre2
 | 
				
			||||||
 | 
					pipx
 | 
				
			||||||
 | 
					pixman
 | 
				
			||||||
 | 
					popt
 | 
				
			||||||
 | 
					python@3.12
 | 
				
			||||||
 | 
					python@3.13
 | 
				
			||||||
 | 
					qemu
 | 
				
			||||||
 | 
					readline
 | 
				
			||||||
 | 
					samba
 | 
				
			||||||
 | 
					screenresolution
 | 
				
			||||||
 | 
					sdl2
 | 
				
			||||||
 | 
					sha3sum
 | 
				
			||||||
 | 
					snappy
 | 
				
			||||||
 | 
					socat
 | 
				
			||||||
 | 
					spicetify-cli
 | 
				
			||||||
 | 
					sqlite
 | 
				
			||||||
 | 
					swtpm
 | 
				
			||||||
 | 
					talloc
 | 
				
			||||||
 | 
					tdb
 | 
				
			||||||
 | 
					tealdeer
 | 
				
			||||||
 | 
					tevent
 | 
				
			||||||
 | 
					tree
 | 
				
			||||||
 | 
					tree-sitter
 | 
				
			||||||
 | 
					unbound
 | 
				
			||||||
 | 
					unibilium
 | 
				
			||||||
 | 
					usbutils
 | 
				
			||||||
 | 
					vde
 | 
				
			||||||
 | 
					webp
 | 
				
			||||||
 | 
					wget
 | 
				
			||||||
 | 
					xorgproto
 | 
				
			||||||
 | 
					xz
 | 
				
			||||||
 | 
					yabai
 | 
				
			||||||
 | 
					z3
 | 
				
			||||||
 | 
					zstd
 | 
				
			||||||
 | 
					zsync
 | 
				
			||||||
							
								
								
									
										175
									
								
								darwin/config.jsonc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										175
									
								
								darwin/config.jsonc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,175 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
 | 
				
			||||||
 | 
					    "logo": {
 | 
				
			||||||
 | 
					        "type": "kitty-icat",
 | 
				
			||||||
 | 
							"source": "~/Pictures/Avatar/avatar_no_bg.png",
 | 
				
			||||||
 | 
					        //"height": 15,
 | 
				
			||||||
 | 
					        "width": 40,
 | 
				
			||||||
 | 
					        "padding": {
 | 
				
			||||||
 | 
					            "top": 0,
 | 
				
			||||||
 | 
					            "left": 0
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "modules": [
 | 
				
			||||||
 | 
					        "break",
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "custom",
 | 
				
			||||||
 | 
					            "format": "\u001b[90m┌──────────────────────Hardware──────────────────────┐"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "host",
 | 
				
			||||||
 | 
					            "key": " PC",
 | 
				
			||||||
 | 
					            "keyColor": "green"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "cpu",
 | 
				
			||||||
 | 
					            "key": "│ ├",
 | 
				
			||||||
 | 
					            "keyColor": "green"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "gpu",
 | 
				
			||||||
 | 
					            "key": "│ ├",
 | 
				
			||||||
 | 
					            "keyColor": "green"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "memory",
 | 
				
			||||||
 | 
					            "key": "│ ├",
 | 
				
			||||||
 | 
					            "keyColor": "green"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "disk",
 | 
				
			||||||
 | 
					            "key": "│ ├",
 | 
				
			||||||
 | 
					            "keyColor": "green"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
					            "type": "memory",
 | 
				
			||||||
 | 
					            "key": "└ └",
 | 
				
			||||||
 | 
					            "keyColor": "green"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "custom",
 | 
				
			||||||
 | 
					            "format": "\u001b[90m└────────────────────────────────────────────────────┘"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "break",
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "custom",
 | 
				
			||||||
 | 
					            "format": "\u001b[90m┌──────────────────────Software──────────────────────┐"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "os",
 | 
				
			||||||
 | 
					            "key": " OS",
 | 
				
			||||||
 | 
					            "keyColor": "yellow"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "kernel",
 | 
				
			||||||
 | 
					            "key": "│ ├",
 | 
				
			||||||
 | 
					            "keyColor": "yellow"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "bios",
 | 
				
			||||||
 | 
					            "key": "│ ├",
 | 
				
			||||||
 | 
					            "keyColor": "yellow"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "packages",
 | 
				
			||||||
 | 
					            "key": "│ ├",
 | 
				
			||||||
 | 
					            "keyColor": "yellow"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "shell",
 | 
				
			||||||
 | 
					            "key": "└ └",
 | 
				
			||||||
 | 
					            "keyColor": "yellow"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "break",
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "de",
 | 
				
			||||||
 | 
					            "key": " DE",
 | 
				
			||||||
 | 
					            "keyColor": "blue"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "lm",
 | 
				
			||||||
 | 
					            "key": "│ ├",
 | 
				
			||||||
 | 
					            "keyColor": "blue"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "wm",
 | 
				
			||||||
 | 
					            "key": "│ ├",
 | 
				
			||||||
 | 
					            "keyColor": "blue"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "wmtheme",
 | 
				
			||||||
 | 
					            "key": "│ ├",
 | 
				
			||||||
 | 
					            "keyColor": "blue"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "terminal",
 | 
				
			||||||
 | 
					            "key": "└ └",
 | 
				
			||||||
 | 
					            "keyColor": "blue"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "custom",
 | 
				
			||||||
 | 
					            "format": "\u001b[90m└────────────────────────────────────────────────────┘"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "break",
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "custom",
 | 
				
			||||||
 | 
					            "format": "\u001b[90m┌─────────────────Uptime / Age / DT──────────────────┐"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "command",
 | 
				
			||||||
 | 
					            "key": "  OS Age ",
 | 
				
			||||||
 | 
					            "keyColor": "magenta",
 | 
				
			||||||
 | 
					            "text": "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "uptime",
 | 
				
			||||||
 | 
					            "key": "  Uptime ",
 | 
				
			||||||
 | 
					            "keyColor": "magenta"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "datetime",
 | 
				
			||||||
 | 
					            "key": "  DateTime ",
 | 
				
			||||||
 | 
					            "keyColor": "magenta"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "custom",
 | 
				
			||||||
 | 
					            "format": "\u001b[90m└────────────────────────────────────────────────────┘"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
							"break",
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
					            "type": "custom",
 | 
				
			||||||
 | 
					            "format": "\u001b[90m┌─────────────────────Networking─────────────────────┐"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
					            "type": "publicip",
 | 
				
			||||||
 | 
					            "key": "  Public ",
 | 
				
			||||||
 | 
					            "keyColor": "magenta"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
					            "type": "localip",
 | 
				
			||||||
 | 
					            "key": "  Local ",
 | 
				
			||||||
 | 
					            "keyColor": "magenta"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
					            "type": "dns",
 | 
				
			||||||
 | 
					            "key": "  DNS ",
 | 
				
			||||||
 | 
					            "keyColor": "magenta"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
					            "type": "netio",
 | 
				
			||||||
 | 
					            "key": "  Net I/O ",
 | 
				
			||||||
 | 
					            "keyColor": "magenta"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
					            "type": "custom",
 | 
				
			||||||
 | 
					            "format": "\u001b[90m└────────────────────────────────────────────────────┘"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "type": "colors",
 | 
				
			||||||
 | 
					            "paddingLeft": 2,
 | 
				
			||||||
 | 
					            "symbol": "circle"
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
							"break", 
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										267
									
								
								darwin/config.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										267
									
								
								darwin/config.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,267 @@
 | 
				
			|||||||
 | 
					-- Basics
 | 
				
			||||||
 | 
					vim.g.mapleader = " "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Yank to system clipboard
 | 
				
			||||||
 | 
					vim.keymap.set("n", "y", '"+y', { desc = "Yank to clipboard" })
 | 
				
			||||||
 | 
					vim.keymap.set("v", "y", '"+y', { desc = "Yank to clipboard" })
 | 
				
			||||||
 | 
					vim.keymap.set("n", "Y", '"+Y', { desc = "Yank line to clipboard" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Also make delete operations use system clipboard
 | 
				
			||||||
 | 
					vim.keymap.set("n", "d", '"+d', { desc = "Delete to clipboard" })
 | 
				
			||||||
 | 
					vim.keymap.set("v", "d", '"+d', { desc = "Delete to clipboard" })
 | 
				
			||||||
 | 
					vim.keymap.set("n", "D", '"+D', { desc = "Delete line to clipboard" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Paste from system clipboard
 | 
				
			||||||
 | 
					vim.keymap.set("n", "p", '"+p', { desc = "Paste from clipboard" })
 | 
				
			||||||
 | 
					vim.keymap.set("v", "p", '"+p', { desc = "Paste from clipboard" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Treesitter
 | 
				
			||||||
 | 
					require("nvim-treesitter.configs").setup({
 | 
				
			||||||
 | 
						ensure_installed = { "lua", "nix", "python", "javascript", "rust", "rasi" },
 | 
				
			||||||
 | 
						sync_install = false,
 | 
				
			||||||
 | 
						auto_install = true,
 | 
				
			||||||
 | 
						highlight = {
 | 
				
			||||||
 | 
							enable = true,
 | 
				
			||||||
 | 
							additional_vim_regex_highlighting = false,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						parser_install_dir = vim.fn.stdpath("data") .. "/treesitter",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					vim.opt.runtimepath:append(vim.fn.stdpath("data") .. "/treesitter")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Linting
 | 
				
			||||||
 | 
					require("lint").linters_by_ft = {}
 | 
				
			||||||
 | 
					vim.api.nvim_create_autocmd({ "BufWritePost" }, {
 | 
				
			||||||
 | 
						callback = function()
 | 
				
			||||||
 | 
							require("lint").try_lint()
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Mason Setup
 | 
				
			||||||
 | 
					require("mason").setup({
 | 
				
			||||||
 | 
						ui = {
 | 
				
			||||||
 | 
							icons = {
 | 
				
			||||||
 | 
								package_installed = "✓",
 | 
				
			||||||
 | 
								package_pending = "➜",
 | 
				
			||||||
 | 
								package_uninstalled = "✗",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require("mason-lspconfig").setup({
 | 
				
			||||||
 | 
						ensure_installed = {
 | 
				
			||||||
 | 
							"lua_ls",
 | 
				
			||||||
 | 
							"nil_ls",
 | 
				
			||||||
 | 
							"rust_analyzer",
 | 
				
			||||||
 | 
							"pylsp",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						automatic_installation = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- LSP Config
 | 
				
			||||||
 | 
					local cmp = require("cmp")
 | 
				
			||||||
 | 
					cmp.setup({
 | 
				
			||||||
 | 
						snippet = {
 | 
				
			||||||
 | 
							expand = function(args)
 | 
				
			||||||
 | 
								require("luasnip").lsp_expand(args.body)
 | 
				
			||||||
 | 
							end,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						mapping = cmp.mapping.preset.insert({
 | 
				
			||||||
 | 
							["<C-b>"] = cmp.mapping.scroll_docs(-4),
 | 
				
			||||||
 | 
							["<C-f>"] = cmp.mapping.scroll_docs(4),
 | 
				
			||||||
 | 
							["<C-Space>"] = cmp.mapping.complete(),
 | 
				
			||||||
 | 
							["<C-e>"] = cmp.mapping.abort(),
 | 
				
			||||||
 | 
							["<CR>"] = cmp.mapping.confirm({ select = true }),
 | 
				
			||||||
 | 
						}),
 | 
				
			||||||
 | 
						sources = cmp.config.sources({
 | 
				
			||||||
 | 
							{ name = "nvim_lsp" },
 | 
				
			||||||
 | 
							{ name = "luasnip" },
 | 
				
			||||||
 | 
						}, {
 | 
				
			||||||
 | 
							{ name = "buffer" },
 | 
				
			||||||
 | 
							{ name = "path" },
 | 
				
			||||||
 | 
						}),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local lspconfig = require("lspconfig")
 | 
				
			||||||
 | 
					local capabilities = require("cmp_nvim_lsp").default_capabilities()
 | 
				
			||||||
 | 
					vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
 | 
				
			||||||
 | 
					vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, {})
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Setup language servers
 | 
				
			||||||
 | 
					lspconfig.lua_ls.setup({
 | 
				
			||||||
 | 
						capabilities = capabilities,
 | 
				
			||||||
 | 
						settings = {
 | 
				
			||||||
 | 
							Lua = {
 | 
				
			||||||
 | 
								runtime = { version = "LuaJIT" },
 | 
				
			||||||
 | 
								diagnostics = { globals = { "vim" } },
 | 
				
			||||||
 | 
								workspace = { library = vim.api.nvim_get_runtime_file("", true) },
 | 
				
			||||||
 | 
								telemetry = { enable = false },
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lspconfig.nil_ls.setup({ capabilities = capabilities })
 | 
				
			||||||
 | 
					lspconfig.rust_analyzer.setup({ capabilities = capabilities })
 | 
				
			||||||
 | 
					lspconfig.pylsp.setup({ capabilities = capabilities })
 | 
				
			||||||
 | 
					lspconfig.stylelint_lsp.setup({
 | 
				
			||||||
 | 
						cmd = { "stylelint-lsp", "--stdio" },
 | 
				
			||||||
 | 
						filetypes = { "css", "scss", "rasi" },
 | 
				
			||||||
 | 
						capabilities = vim.lsp.protocol.make_client_capabilities(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Conform
 | 
				
			||||||
 | 
					require("conform").setup({
 | 
				
			||||||
 | 
						formatters_by_ft = {
 | 
				
			||||||
 | 
							lua = { "stylua" },
 | 
				
			||||||
 | 
							nix = { "nixfmt" },
 | 
				
			||||||
 | 
							python = { "black" },
 | 
				
			||||||
 | 
							rust = { "rustfmt" },
 | 
				
			||||||
 | 
							rasi = { "prettierd" },
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						format_on_save = {
 | 
				
			||||||
 | 
							timeout_ms = 500,
 | 
				
			||||||
 | 
							lsp_fallback = true,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Yazi
 | 
				
			||||||
 | 
					require("yazi").setup({
 | 
				
			||||||
 | 
						open_for_directories = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>fy", function()
 | 
				
			||||||
 | 
						require("yazi").yazi(nil, vim.loop.cwd())
 | 
				
			||||||
 | 
					end, { desc = "Open Yazi file manager" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>fd", function()
 | 
				
			||||||
 | 
						require("yazi").yazi(nil, vim.fn.expand("%:p:h"))
 | 
				
			||||||
 | 
					end, { desc = "Open Yazi in current file directory" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Telescope
 | 
				
			||||||
 | 
					--require("telescope").setup()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--local telescope = require("telescope.builtin")
 | 
				
			||||||
 | 
					--vim.keymap.set("n", "<leader>ff", telescope.find_files, { desc = "Telescope find files" })
 | 
				
			||||||
 | 
					--vim.keymap.set("n", "<leader>fg", telescope.live_grep, { desc = "Telescope live grep" })
 | 
				
			||||||
 | 
					--vim.keymap.set("n", "<leader>fb", telescope.buffers, { desc = "Telescope buffers" })
 | 
				
			||||||
 | 
					--vim.keymap.set("n", "<leader>fh", telescope.help_tags, { desc = "Telescope help tags" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Styling
 | 
				
			||||||
 | 
					require("catppuccin").setup({
 | 
				
			||||||
 | 
						flavour = "mocha",
 | 
				
			||||||
 | 
						transparent_background = true,
 | 
				
			||||||
 | 
						term_colors = true,
 | 
				
			||||||
 | 
						integration = {
 | 
				
			||||||
 | 
							treesitter = true,
 | 
				
			||||||
 | 
							mason = true,
 | 
				
			||||||
 | 
							lsp_trouble = true,
 | 
				
			||||||
 | 
							which_key = true,
 | 
				
			||||||
 | 
							cmp = true,
 | 
				
			||||||
 | 
							gitsigns = true,
 | 
				
			||||||
 | 
							telescope = true,
 | 
				
			||||||
 | 
							nvimtree = true,
 | 
				
			||||||
 | 
							dashboard = true,
 | 
				
			||||||
 | 
							notify = true,
 | 
				
			||||||
 | 
							indent_blankline = true,
 | 
				
			||||||
 | 
							toggleterm = true, -- Important for transparent terminals
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.cmd.colorscheme("catppuccin")
 | 
				
			||||||
 | 
					vim.opt.number = true
 | 
				
			||||||
 | 
					vim.opt.cursorline = true
 | 
				
			||||||
 | 
					vim.opt.showmode = false
 | 
				
			||||||
 | 
					vim.opt.syntax = "enable"
 | 
				
			||||||
 | 
					vim.opt.hlsearch = true
 | 
				
			||||||
 | 
					vim.opt.incsearch = true
 | 
				
			||||||
 | 
					vim.opt.tabstop = 4
 | 
				
			||||||
 | 
					vim.opt.termguicolors = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local colors = require("catppuccin.palettes").get_palette("mocha")
 | 
				
			||||||
 | 
					vim.api.nvim_set_hl(0, "LineNr", { fg = colors.text, bg = "NONE" })
 | 
				
			||||||
 | 
					vim.api.nvim_set_hl(0, "CursorLineNr", { fg = colors.pink, bg = "NONE", bold = true })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ToggleTerm setup
 | 
				
			||||||
 | 
					require("toggleterm").setup({
 | 
				
			||||||
 | 
						size = 20,
 | 
				
			||||||
 | 
						open_mapping = [[<c-\>]],
 | 
				
			||||||
 | 
						direction = "float",
 | 
				
			||||||
 | 
						float_opts = {
 | 
				
			||||||
 | 
							border = "single",
 | 
				
			||||||
 | 
							width = 200,
 | 
				
			||||||
 | 
							height = 40,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>h", function()
 | 
				
			||||||
 | 
						require("toggleterm").toggle(1, 10, vim.loop.cwd(), "horizontal")
 | 
				
			||||||
 | 
					end, { desc = "Toggle terminal (horizontal)" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>v", function()
 | 
				
			||||||
 | 
						require("toggleterm").toggle(2, 60, vim.loop.cwd(), "vertical")
 | 
				
			||||||
 | 
					end, { desc = "Toggle terminal (vertical)" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>ft", function()
 | 
				
			||||||
 | 
						require("toggleterm").toggle(3, 20, vim.loop.cwd(), "float")
 | 
				
			||||||
 | 
					end, { desc = "Toggle terminal (float)" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("t", "<C-t>", "<Cmd>ToggleTerm<CR>", { desc = "Toggle terminal" })
 | 
				
			||||||
 | 
					vim.keymap.set("t", "<C-v>", "<C-\\><C-n>v", { desc = "Exit terminal and enter visual mode" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Statusline
 | 
				
			||||||
 | 
					require("lualine").setup({
 | 
				
			||||||
 | 
						options = {
 | 
				
			||||||
 | 
							theme = "catppuccin",
 | 
				
			||||||
 | 
							component_separators = { left = "|", right = "|" },
 | 
				
			||||||
 | 
							section_separators = { left = "", right = "" },
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Dashboard
 | 
				
			||||||
 | 
					local alpha = require("alpha")
 | 
				
			||||||
 | 
					local dashboard = require("alpha.themes.dashboard")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dashboard.section.header.val = {
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣯⣿⠿⣟⣷⣯⣛⢿⣿⣿⣾⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⣿⣿⣿⡿⣵⣿⡿⣴⣽⡟⣳⢿⢽⣽⣕⣽⢿⡿⣿⣟⣿⣿⣿⣿⣿⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣷⣿⣿⢟⣫⣿⢟⢟⣾⣾⣿⣿⣞⢳⣻⢞⣎⠿⢞⣊⣿⣞⣿⣿⣿⣿⣿⢽",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⣿⣏⢯⣿⣏⣏⠔⢇⣿⢢⢆⢀⢆⣧⣼⢻⢰⡧⢻⣝⣏⡸⣧⣾⣿⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⡟⣻⣿⣿⡾⡿⡼⢸⡝⣝⡳⢢⣧⢳⣳⢷⡇⣗⢺⡺⣿⡧⣿⣿⣿⢿⢿",
 | 
				
			||||||
 | 
						"⣿⡿⣿⣼⡼⣿⣿⡗⡧⣧⠁⡝⣧⣳⠅⡾⠈⣎⢮⣧⣿⣿⣗⣷⣻⢷⣏⣼⢏⣺⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣻⣿⣿⣿⢧⣿⢹⠉⢷⢿⣧⣲⡏⡀⡈⢆⠳⣿⡿⢿⣿⣱⢿⢫⣷⣝⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⡯⡟⣿⣿⢽⣡⠟⢿⣮⠁⠙⠛⠈⡴⢿⣿⡷⣬⣽⢽⠧⣷⡏⣿⡇⣧⣽⣿",
 | 
				
			||||||
 | 
						"⣿⠟⢻⡧⡇⣿⡇⣇⣆⢄⡜⢃⡀⡀⡀⡀⡀⢎⣁⠁⣸⣗⣸⣿⣧⣼⡿⢹⢿⢾⣿",
 | 
				
			||||||
 | 
						"⣿⣷⣾⣿⢻⣿⢧⢻⣽⡀⡀⡀⡀⢄⡀⡀⡀⡀⡀⢀⣷⡸⡟⣿⣶⣻⣧⡛⡱⢝⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⢸⡿⢚⡜⣿⣇⡀⡀⡀⡀⡀⡀⡀⡀⠚⢁⢣⣜⡿⣿⡇⢼⣿⠨⣸⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣄⣿⣗⢾⢻⣧⢿⣾⣿⣦⡀⡀⠑⠚⠉⡀⡀⣤⣿⢨⣿⠗⣻⢣⣿⢹⢈⣽⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⢎⡄⢿⣞⡇⣿⠹⣿⣶⣀⡀⣀⡴⡩⢸⢏⣿⣿⣶⢻⣾⢏⡞⠡⢽⣇⣾",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣮⣼⢬⣦⢿⣳⣌⠧⡉⠈⣇⣛⣁⣈⣼⣿⡸⠫⠛⠐⠛⠕⣙⣻⣬⣼⣿⣿",
 | 
				
			||||||
 | 
						"⢟⢿⣿⣿⣿⡢⣃⣪⣭⣡⣤⣶⠟⡿⠿⠿⠿⠛⢁⣿⣿⢩⠉⡀⠈⠓⡝⣿⣿⣿⣿",
 | 
				
			||||||
 | 
						"⣾⣿⣿⣿⣿⠞⢔⡣⡴⣾⣿⠓⣤⢧⡼⣉⠠⢤⣿⣿⠇⠃⡀⡀⡀⡀⡸⢿⣾⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⡿⣺⡸⢗⢠⣇⣿⣿⠊⠃⡀⠉⡀⢠⣿⣿⠟⡸⡀⡀⡀⡀⡀⣃⣬⠽⠿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⡇⡏⢸⣿⠟⣽⡇⡀⡀⡀⡀⣴⣟⢭⣾⣿⡇⠎⣠⠒⠉⠈⢀⡀⢨⡋⣿",
 | 
				
			||||||
 | 
						"⠛⠛⠛⠋⠃⠓⠚⠛⠘⠛⠃⡀⠊⡀⠛⠛⠛⠂⠛⠛⠓⠁⠚⡀⠂⠒⠒⠐⠒⠋⠛",
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dashboard.section.buttons.val = {
 | 
				
			||||||
 | 
						dashboard.button("e", "[+] New file", ":ene <BAR> startinsert <CR>"),
 | 
				
			||||||
 | 
						dashboard.button("f", "[?] Find file", ":Telescope find_files <CR>"),
 | 
				
			||||||
 | 
						dashboard.button("r", "[~] Recent files", ":Telescope oldfiles <CR>"),
 | 
				
			||||||
 | 
						dashboard.button("y", "[Y] Yazi", ":Yazi<CR>"),
 | 
				
			||||||
 | 
						dashboard.button("m", "[M] Mason", ":Mason<CR>"),
 | 
				
			||||||
 | 
						dashboard.button("q", "[X] Quit", ":qa<CR>"),
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dashboard.section.footer.val = "Circuits hum in anticipation of your will."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.api.nvim_create_autocmd("VimEnter", {
 | 
				
			||||||
 | 
						callback = function()
 | 
				
			||||||
 | 
							if vim.fn.argc() == 0 then
 | 
				
			||||||
 | 
								require("alpha").start()
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alpha.setup(dashboard.config)
 | 
				
			||||||
							
								
								
									
										81
									
								
								darwin/configuration.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								darwin/configuration.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,81 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  inputs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  imports = [ ./yabari.nix ];
 | 
				
			||||||
 | 
					  # System configuration for Intel Mac
 | 
				
			||||||
 | 
					  nixpkgs.hostPlatform = "x86_64-darwin"; # Essential for Intel Macs :cite[1]:cite[2]:cite[5]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Enable flakes and nix-command experimental features
 | 
				
			||||||
 | 
					  nix.settings.experimental-features = [
 | 
				
			||||||
 | 
					    "nix-command"
 | 
				
			||||||
 | 
					    "flakes"
 | 
				
			||||||
 | 
					  ]; # Essential for flake support :cite[2]:cite[5]:cite[7]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # System packages (installed system-wide)
 | 
				
			||||||
 | 
					  environment.systemPackages = with pkgs; [ ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  system.primaryUser = "dergrumpf";
 | 
				
			||||||
 | 
					  users.users.dergrumpf = {
 | 
				
			||||||
 | 
					    name = "dergrumpf";
 | 
				
			||||||
 | 
					    home = "/Users/dergrumpf"; # Must match home.homeDirectory in home.nix :cite[10]
 | 
				
			||||||
 | 
					    shell = pkgs.fish;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Shell configuration
 | 
				
			||||||
 | 
					  programs.zsh.enable = true; # Default shell on macOS :cite[5]:cite[10]
 | 
				
			||||||
 | 
					  # Alternative: enable fish if preferred
 | 
				
			||||||
 | 
					  programs.fish.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # System defaults for macOS
 | 
				
			||||||
 | 
					  system.defaults = {
 | 
				
			||||||
 | 
					    # Dock settings
 | 
				
			||||||
 | 
					    dock.autohide = false; # Auto-hide the dock :cite[8]:cite[10]
 | 
				
			||||||
 | 
					    dock.orientation = "left"; # Position dock on left :cite[8]:cite[10]
 | 
				
			||||||
 | 
					    dock.show-recents = false; # Don't show recent applications :cite[8]:cite[10]
 | 
				
			||||||
 | 
					    dock.mru-spaces = false; # Don't rearrange spaces based on most recent use :cite[5]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Finder settings
 | 
				
			||||||
 | 
					    finder.AppleShowAllExtensions = true; # Show all file extensions :cite[5]:cite[8]:cite[10]
 | 
				
			||||||
 | 
					    finder.FXEnableExtensionChangeWarning = false; # Disable extension change warning :cite[8]:cite[10]
 | 
				
			||||||
 | 
					    finder.FXPreferredViewStyle = "clmv"; # Use column view :cite[5]:cite[8]
 | 
				
			||||||
 | 
					    finder.ShowPathbar = true; # Show path bar :cite[8]:cite[10]
 | 
				
			||||||
 | 
					    finder.ShowStatusBar = true; # Show status bar :cite[8]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Screenshot settings
 | 
				
			||||||
 | 
					    screencapture.location = "~/Pictures/screenshots"; # Save screenshots to specific location :cite[5]:cite[8]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Global domain settings
 | 
				
			||||||
 | 
					    NSGlobalDomain.AppleKeyboardUIMode = 3; # Full keyboard control :cite[8]:cite[10]
 | 
				
			||||||
 | 
					    NSGlobalDomain."com.apple.keyboard.fnState" = true; # Function keys behave as F1-F12 :cite[10]
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Touch ID for sudo authentication (if supported by hardware)
 | 
				
			||||||
 | 
					  security.pam.services.sudo_local.touchIdAuth = true; # Enable Touch ID for sudo :cite[5]:cite[8]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Font configuration
 | 
				
			||||||
 | 
					  fonts.packages = with pkgs; [
 | 
				
			||||||
 | 
					    nerd-fonts.fira-code
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Nix garbage collection (automatic cleanup)
 | 
				
			||||||
 | 
					  nix.gc = {
 | 
				
			||||||
 | 
					    automatic = true; # Enable automatic garbage collection :cite[8]
 | 
				
			||||||
 | 
					    interval = {
 | 
				
			||||||
 | 
					      # Run weekly on Sunday at 3:15 AM :cite[8]
 | 
				
			||||||
 | 
					      Hour = 3;
 | 
				
			||||||
 | 
					      Minute = 15;
 | 
				
			||||||
 | 
					      Weekday = 7;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    options = "--delete-older-than 7d"; # Delete packages older than 7 days :cite[8]
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # System version (for backwards compatibility)
 | 
				
			||||||
 | 
					  system.stateVersion = 6; # Important for configuration compatibility :cite[5]:cite[10]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Optional: Configuration revision for tracking changes
 | 
				
			||||||
 | 
					  system.configurationRevision = inputs.self.rev or inputs.self.dirtyRev or null; # Track git revision :cite[5]:cite[7]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										388
									
								
								darwin/flake.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										388
									
								
								darwin/flake.lock
									
									
									
										generated
									
									
									
										Normal file
									
								
							@@ -0,0 +1,388 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "nodes": {
 | 
				
			||||||
 | 
					    "catppuccin": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1758270360,
 | 
				
			||||||
 | 
					        "narHash": "sha256-yqh6EEhlpVWRoKl85o1s+QZ72UHWTvornnc3C0Ls484=",
 | 
				
			||||||
 | 
					        "owner": "catppuccin",
 | 
				
			||||||
 | 
					        "repo": "nix",
 | 
				
			||||||
 | 
					        "rev": "2e0aacdd6abbecd1b1c0511a2fcd1460a6bc6645",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "catppuccin",
 | 
				
			||||||
 | 
					        "repo": "nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "devshell": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1741473158,
 | 
				
			||||||
 | 
					        "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "devshell",
 | 
				
			||||||
 | 
					        "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "devshell",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-compat": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1733328505,
 | 
				
			||||||
 | 
					        "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
 | 
				
			||||||
 | 
					        "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
 | 
				
			||||||
 | 
					        "revCount": 69,
 | 
				
			||||||
 | 
					        "type": "tarball",
 | 
				
			||||||
 | 
					        "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "type": "tarball",
 | 
				
			||||||
 | 
					        "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-parts": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs-lib": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1751413152,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "flake-parts",
 | 
				
			||||||
 | 
					        "rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "flake-parts",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-utils": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "systems": "systems"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1731533236,
 | 
				
			||||||
 | 
					        "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "flake-utils",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "git-hooks": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-compat": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "flake-compat"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "gitignore": "gitignore",
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1750779888,
 | 
				
			||||||
 | 
					        "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "git-hooks.nix",
 | 
				
			||||||
 | 
					        "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "cachix",
 | 
				
			||||||
 | 
					        "repo": "git-hooks.nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "gitignore": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "git-hooks",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1709087332,
 | 
				
			||||||
 | 
					        "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "gitignore.nix",
 | 
				
			||||||
 | 
					        "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "gitignore.nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "home-manager": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1758375677,
 | 
				
			||||||
 | 
					        "narHash": "sha256-BLtD+6qWz7fQjPk2wpwyXQLGI0E30Ikgf2ppn2nVadI=",
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "home-manager",
 | 
				
			||||||
 | 
					        "rev": "edc7468e12be92e926847cb02418e649b02b59dd",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "home-manager",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "home-manager_2": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1747688870,
 | 
				
			||||||
 | 
					        "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=",
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "home-manager",
 | 
				
			||||||
 | 
					        "rev": "d5f1f641b289553927b3801580598d200a501863",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "ref": "release-24.11",
 | 
				
			||||||
 | 
					        "repo": "home-manager",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ixx": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-utils": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "nuschtosSearch",
 | 
				
			||||||
 | 
					          "flake-utils"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "nuschtosSearch",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1748294338,
 | 
				
			||||||
 | 
					        "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
 | 
				
			||||||
 | 
					        "owner": "NuschtOS",
 | 
				
			||||||
 | 
					        "repo": "ixx",
 | 
				
			||||||
 | 
					        "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NuschtOS",
 | 
				
			||||||
 | 
					        "ref": "v0.0.8",
 | 
				
			||||||
 | 
					        "repo": "ixx",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nix-darwin": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1758387173,
 | 
				
			||||||
 | 
					        "narHash": "sha256-E5Ru709RoQEFl+Q0MHRXTIvbY0l6LSR1UHqwTulSeog=",
 | 
				
			||||||
 | 
					        "owner": "nix-darwin",
 | 
				
			||||||
 | 
					        "repo": "nix-darwin",
 | 
				
			||||||
 | 
					        "rev": "7be9c1b136ef7083e60eb060be0a66dcb254e3ca",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-darwin",
 | 
				
			||||||
 | 
					        "ref": "master",
 | 
				
			||||||
 | 
					        "repo": "nix-darwin",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nix-darwin_2": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1743127615,
 | 
				
			||||||
 | 
					        "narHash": "sha256-+sMGqywrSr50BGMLMeY789mSrzjkoxZiu61eWjYS/8o=",
 | 
				
			||||||
 | 
					        "owner": "lnl7",
 | 
				
			||||||
 | 
					        "repo": "nix-darwin",
 | 
				
			||||||
 | 
					        "rev": "fc843893cecc1838a59713ee3e50e9e7edc6207c",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "lnl7",
 | 
				
			||||||
 | 
					        "ref": "nix-darwin-24.11",
 | 
				
			||||||
 | 
					        "repo": "nix-darwin",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1758035966,
 | 
				
			||||||
 | 
					        "narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "8d4ddb19d03c65a36ad8d189d001dc32ffb0306b",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixos-unstable",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs_2": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1758262103,
 | 
				
			||||||
 | 
					        "narHash": "sha256-aBGl3XEOsjWw6W3AHiKibN7FeoG73dutQQEqnd/etR8=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "12bd230118a1901a4a5d393f9f56b6ad7e571d01",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixpkgs-unstable",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixvim": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "devshell": "devshell",
 | 
				
			||||||
 | 
					        "flake-compat": "flake-compat",
 | 
				
			||||||
 | 
					        "flake-parts": "flake-parts",
 | 
				
			||||||
 | 
					        "git-hooks": "git-hooks",
 | 
				
			||||||
 | 
					        "home-manager": "home-manager_2",
 | 
				
			||||||
 | 
					        "nix-darwin": "nix-darwin_2",
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        "nuschtosSearch": "nuschtosSearch",
 | 
				
			||||||
 | 
					        "treefmt-nix": "treefmt-nix"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1751725553,
 | 
				
			||||||
 | 
					        "narHash": "sha256-bkvw8jXTdRBWRfO50IaxNuUIamnLllxfEFqUG/g3uwo=",
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "nixvim",
 | 
				
			||||||
 | 
					        "rev": "81d65e0cfb00df0269195b59f156c719cc045ab8",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "ref": "nixos-24.11",
 | 
				
			||||||
 | 
					        "repo": "nixvim",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nuschtosSearch": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-utils": "flake-utils",
 | 
				
			||||||
 | 
					        "ixx": "ixx",
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1749730855,
 | 
				
			||||||
 | 
					        "narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
 | 
				
			||||||
 | 
					        "owner": "NuschtOS",
 | 
				
			||||||
 | 
					        "repo": "search",
 | 
				
			||||||
 | 
					        "rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NuschtOS",
 | 
				
			||||||
 | 
					        "repo": "search",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "root": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "catppuccin": "catppuccin",
 | 
				
			||||||
 | 
					        "home-manager": "home-manager",
 | 
				
			||||||
 | 
					        "nix-darwin": "nix-darwin",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs_2",
 | 
				
			||||||
 | 
					        "nixvim": "nixvim"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "systems": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1681028828,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-systems",
 | 
				
			||||||
 | 
					        "repo": "default",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "treefmt-nix": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixvim",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1750931469,
 | 
				
			||||||
 | 
					        "narHash": "sha256-0IEdQB1nS+uViQw4k3VGUXntjkDp7aAlqcxdewb/hAc=",
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "treefmt-nix",
 | 
				
			||||||
 | 
					        "rev": "ac8e6f32e11e9c7f153823abc3ab007f2a65d3e1",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "numtide",
 | 
				
			||||||
 | 
					        "repo": "treefmt-nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "root": "root",
 | 
				
			||||||
 | 
					  "version": 7
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										68
									
								
								darwin/flake.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								darwin/flake.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,68 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  description = "Cyperpunk nix-darwin system flake";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  inputs = {
 | 
				
			||||||
 | 
					    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    nix-darwin = {
 | 
				
			||||||
 | 
					      url = "github:nix-darwin/nix-darwin/master";
 | 
				
			||||||
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    home-manager = {
 | 
				
			||||||
 | 
					      url = "github:nix-community/home-manager";
 | 
				
			||||||
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Editor
 | 
				
			||||||
 | 
					    nixvim = {
 | 
				
			||||||
 | 
					      url = "github:nix-community/nixvim/nixos-24.11";
 | 
				
			||||||
 | 
					      # If using a stable channel you can use `url = "github:nix-community/nixvim/nixos-<version>"`
 | 
				
			||||||
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    catppuccin.url = "github:catppuccin/nix";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  outputs =
 | 
				
			||||||
 | 
					    inputs@{
 | 
				
			||||||
 | 
					      self,
 | 
				
			||||||
 | 
					      nix-darwin,
 | 
				
			||||||
 | 
					      nixpkgs,
 | 
				
			||||||
 | 
					      home-manager,
 | 
				
			||||||
 | 
					      catppuccin,
 | 
				
			||||||
 | 
					      nixvim,
 | 
				
			||||||
 | 
					      ...
 | 
				
			||||||
 | 
					    }:
 | 
				
			||||||
 | 
					    let
 | 
				
			||||||
 | 
					      system = "x86_64-darwin";
 | 
				
			||||||
 | 
					      specialArgs = { inherit inputs system; };
 | 
				
			||||||
 | 
					    in
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      darwinConfigurations = {
 | 
				
			||||||
 | 
					        "Phil-Mac" = nix-darwin.lib.darwinSystem {
 | 
				
			||||||
 | 
					          inherit system specialArgs;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          modules = [
 | 
				
			||||||
 | 
					            # Main Config
 | 
				
			||||||
 | 
					            ./configuration.nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # home manager integration
 | 
				
			||||||
 | 
					            home-manager.darwinModules.home-manager
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              home-manager = {
 | 
				
			||||||
 | 
					                useGlobalPkgs = true;
 | 
				
			||||||
 | 
					                useUserPackages = true;
 | 
				
			||||||
 | 
					                users.dergrumpf = import ./home.nix;
 | 
				
			||||||
 | 
					                backupFileExtension = "backup";
 | 
				
			||||||
 | 
					                extraSpecialArgs = specialArgs;
 | 
				
			||||||
 | 
					                sharedModules = [
 | 
				
			||||||
 | 
					                  inputs.nixvim.homeManagerModules.nixvim
 | 
				
			||||||
 | 
					                ];
 | 
				
			||||||
 | 
					              };
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										205
									
								
								darwin/home.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								darwin/home.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,205 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  imports = [ ./sketchybar.nix ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.username = "dergrumpf";
 | 
				
			||||||
 | 
					  home.homeDirectory = "/Users/dergrumpf";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.stateVersion = "23.11";
 | 
				
			||||||
 | 
					  home.file = {
 | 
				
			||||||
 | 
					    "Pictures/Avatar" = {
 | 
				
			||||||
 | 
					      source = ../avatar;
 | 
				
			||||||
 | 
					      recursive = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  home.file = {
 | 
				
			||||||
 | 
					    "Pictures/Wallpapers" = {
 | 
				
			||||||
 | 
					      source = ../wallpapers;
 | 
				
			||||||
 | 
					      recursive = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  home.file.".config/fastfetch/config.jsonc".source = ./config.jsonc;
 | 
				
			||||||
 | 
					  programs.home-manager.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
 | 
					    # Utilities
 | 
				
			||||||
 | 
					    coreutils
 | 
				
			||||||
 | 
					    direnv
 | 
				
			||||||
 | 
					    fd
 | 
				
			||||||
 | 
					    git
 | 
				
			||||||
 | 
					    ripgrep
 | 
				
			||||||
 | 
					    fzf
 | 
				
			||||||
 | 
					    zoxide
 | 
				
			||||||
 | 
					    starship
 | 
				
			||||||
 | 
					    trash-cli
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Miscellaneous
 | 
				
			||||||
 | 
					    fastfetch
 | 
				
			||||||
 | 
					    btop
 | 
				
			||||||
 | 
					    wget
 | 
				
			||||||
 | 
					    curl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    nixfmt-rfc-style
 | 
				
			||||||
 | 
					    stylua
 | 
				
			||||||
 | 
					    black
 | 
				
			||||||
 | 
					    nodePackages.prettier
 | 
				
			||||||
 | 
					    rustfmt
 | 
				
			||||||
 | 
					    nodejs
 | 
				
			||||||
 | 
					    prettierd
 | 
				
			||||||
 | 
					    stylelint-lsp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Mason Binarys
 | 
				
			||||||
 | 
					    lua-language-server
 | 
				
			||||||
 | 
					    nil
 | 
				
			||||||
 | 
					    rust-analyzer
 | 
				
			||||||
 | 
					    python3Packages.python-lsp-server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    curl
 | 
				
			||||||
 | 
					    cargo
 | 
				
			||||||
 | 
					    yazi
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.sessionVariables = {
 | 
				
			||||||
 | 
					    EDITOR = "nvim";
 | 
				
			||||||
 | 
					    VISUAL = "code";
 | 
				
			||||||
 | 
					    PAGER = "less";
 | 
				
			||||||
 | 
					    CLICOLOR = "1";
 | 
				
			||||||
 | 
					    LSCOLORS = "ExFxBxDxCxegedabagacad";
 | 
				
			||||||
 | 
					    TERM = "xterm-kitty";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.neovim = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    viAlias = true;
 | 
				
			||||||
 | 
					    vimAlias = true;
 | 
				
			||||||
 | 
					    defaultEditor = true;
 | 
				
			||||||
 | 
					    #extraPackages = with pkgs; [ ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    plugins = with pkgs.vimPlugins; [
 | 
				
			||||||
 | 
					      nvim-treesitter
 | 
				
			||||||
 | 
					      nvim-lint
 | 
				
			||||||
 | 
					      catppuccin-nvim
 | 
				
			||||||
 | 
					      mason-nvim
 | 
				
			||||||
 | 
					      mason-lspconfig-nvim
 | 
				
			||||||
 | 
					      nvim-lspconfig
 | 
				
			||||||
 | 
					      nvim-cmp
 | 
				
			||||||
 | 
					      cmp-nvim-lsp
 | 
				
			||||||
 | 
					      cmp-buffer
 | 
				
			||||||
 | 
					      cmp-path
 | 
				
			||||||
 | 
					      cmp-cmdline
 | 
				
			||||||
 | 
					      luasnip
 | 
				
			||||||
 | 
					      lualine-nvim
 | 
				
			||||||
 | 
					      yazi-nvim
 | 
				
			||||||
 | 
					      alpha-nvim
 | 
				
			||||||
 | 
					      cheatsheet-nvim
 | 
				
			||||||
 | 
					      toggleterm-nvim
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Add conform.nvim as a custom plugin
 | 
				
			||||||
 | 
					      (pkgs.vimUtils.buildVimPlugin {
 | 
				
			||||||
 | 
					        name = "conform-nvim";
 | 
				
			||||||
 | 
					        src = pkgs.fetchFromGitHub {
 | 
				
			||||||
 | 
					          owner = "stevearc";
 | 
				
			||||||
 | 
					          repo = "conform.nvim";
 | 
				
			||||||
 | 
					          rev = "stable";
 | 
				
			||||||
 | 
					          sha256 = "sha256-pUF9F5QoDzCZuVRcJEF91M8Qjkh/xosMkf9tRavkmJs=";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    extraLuaConfig = builtins.readFile (./. + "/config.lua");
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.fish = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    interactiveShellInit = ''
 | 
				
			||||||
 | 
					      function fish_greeting
 | 
				
			||||||
 | 
					        fastfetch
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					    plugins = [
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        name = "forgit";
 | 
				
			||||||
 | 
					        src = pkgs.fishPlugins.forgit.src;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    shellAliases = {
 | 
				
			||||||
 | 
					      ll = "ls -l";
 | 
				
			||||||
 | 
					      la = "ls -la";
 | 
				
			||||||
 | 
					      gs = "git status";
 | 
				
			||||||
 | 
					      gp = "git push";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.kitty = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    themeFile = "Catppuccin-Mocha";
 | 
				
			||||||
 | 
					    font.name = "FiraCode Nerd Font Mono";
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      confirm_os_window_close = 0;
 | 
				
			||||||
 | 
					      dynamic_background_opacity = true;
 | 
				
			||||||
 | 
					      enable_audio_bell = false;
 | 
				
			||||||
 | 
					      mouse_hide_wait = "-1.0";
 | 
				
			||||||
 | 
					      window_padding_width = 10;
 | 
				
			||||||
 | 
					      background_opacity = "0.9";
 | 
				
			||||||
 | 
					      # Ensure proper symbol rendering with Nerd Fonts
 | 
				
			||||||
 | 
					      symbol_map = "U+23FB-U+23FE U+2B58 U+E200-U+E2A9 U+E0A0-U+E0A3 U+E0B0-U+E0BF U+E0C0-U+E0C8 U+E0CC-U+E0CF U+E0D0-U+E0D2 U+E0D4 U+E700-U+E7C5 U+F000-U+F2E0 U+2665 U+26A1 U+F400-U+F4A8 U+F67C U+E000-U+E00A U+F300-U+F313 U+E5FA-U+E62B Symbols Nerd Font";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    extraConfig = ''
 | 
				
			||||||
 | 
					      		shell /run/current-system/sw/bin/fish
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.direnv = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    nix-direnv.enable = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.git = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    userName = "DerGrumpf";
 | 
				
			||||||
 | 
					    userEmail = "p.keier@beyerstedt-it.de";
 | 
				
			||||||
 | 
					    aliases = {
 | 
				
			||||||
 | 
					      co = "checkout";
 | 
				
			||||||
 | 
					      ci = "commit";
 | 
				
			||||||
 | 
					      st = "status";
 | 
				
			||||||
 | 
					      br = "branch";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    extraConfig = {
 | 
				
			||||||
 | 
					      init.defaultBranch = "main";
 | 
				
			||||||
 | 
					      pull.rebase = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.ssh = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    enableDefaultConfig = false;
 | 
				
			||||||
 | 
					    matchBlocks = {
 | 
				
			||||||
 | 
					      "example.com" = {
 | 
				
			||||||
 | 
					        user = "dergrumpf";
 | 
				
			||||||
 | 
					        identityFile = "~/.ssh/id_ed25519";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.starship = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    enableFishIntegration = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      add_newline = true;
 | 
				
			||||||
 | 
					      format = "$directory$git_branch$git_status$cmd_duration$line_break$character";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  services = {
 | 
				
			||||||
 | 
					    gpg-agent = {
 | 
				
			||||||
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      defaultCacheTtl = 1800;
 | 
				
			||||||
 | 
					      enableSshSupport = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										19
									
								
								darwin/macbook2019.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								darwin/macbook2019.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					{ config, lib, pkgs, inputs, username, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  networking.hostName = "macbook2019";
 | 
				
			||||||
 | 
					  services.nix-daemon.enable = true; 
 | 
				
			||||||
 | 
					  nix.settings.experimental-features = [ "nix-command" "flakes" ];
 | 
				
			||||||
 | 
					  nixpkgs.hostPlatform = "x86_64-darwin";  # Intel Mac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Required for backward compatibility
 | 
				
			||||||
 | 
					  system.stateVersion = "25.04";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # User configuration
 | 
				
			||||||
 | 
					  users.users.${username} = {
 | 
				
			||||||
 | 
					    name = username;
 | 
				
			||||||
 | 
					    home = "/Users/${username}";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Enable zsh (common on macOS)
 | 
				
			||||||
 | 
					  programs.zsh.enable = true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										11
									
								
								darwin/nixos.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								darwin/nixos.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  users.users.dergrumpf = {
 | 
				
			||||||
 | 
					    # authorizedKeys
 | 
				
			||||||
 | 
					    openssh.authorizedKeys.keys = [
 | 
				
			||||||
 | 
					      "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCaLHfxVylghDMYR8t4QMUpeRRqXasNABQKBEy9MmhbUXCcWiPbPMSZH8FMHON34rm2OrXP1kY/8jQxqBJDA+SqpFR2AZ4Khk9iVMaq5GHxxpn2amZUjoBa+fB29WaiE1npV5JVJV3O0ylw6GtiCnpneE6fGx2MO1vOY/7zKrUX/OK7WfwkDpeEzZgV/j/md917HrzUVeZwdeTq3WCRO8Gew6R8Xs6FRjSiGuH0dq14D4Ow5Zf1cI1jx+JfD/5vGasw8HXPu1NdxsOE+6D7/22IKqGr+S74/lAoyyD5qqk0s05lw8UY/PXBLJaNLZu9Fwx0BqTHpJEvftpmvd9wUxgR3msx9VXtKNSrqivIbDgeU+3oGzzkrGZODl7FCp4XKGmbrX85Z6lKwEGgv5jez4MLZcmT86bxB7m1wIbqSbVtfhS+GI7yPTA/kLzzFa14Im/+LTj95pb8qs2ALMwTMP1j2f9A6D3RriOFihL+68qn+YbK58KuV1R0f+CQRmlfVbk= phil@web.cyperpunk.de"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    shell = pkgs.fish;
 | 
				
			||||||
 | 
					    #extraGroups = [ "video" ];
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										49
									
								
								darwin/sketchybar.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								darwin/sketchybar.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					{ ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  programs.sketchybar = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    config = ''
 | 
				
			||||||
 | 
					                  # Define colors
 | 
				
			||||||
 | 
					                  export ROSEWATER="0xf5e0dcff"
 | 
				
			||||||
 | 
					                  export FLAMINGO="0xf2cdcdff"
 | 
				
			||||||
 | 
					                  export PINK="0xf5c2e7ff"
 | 
				
			||||||
 | 
					                  export MAUVE="0xcba6f7ff"
 | 
				
			||||||
 | 
					                  export RED="0xf38ba8ff"
 | 
				
			||||||
 | 
					                  export MAROON="0xeba0acff"
 | 
				
			||||||
 | 
					                  export PEACH="0xfab387ff"
 | 
				
			||||||
 | 
					                  export YELLOW="0xf9e2afff"
 | 
				
			||||||
 | 
					                  export GREEN="0xa6e3a1ff"
 | 
				
			||||||
 | 
					                  export TEAL="0x94e2d5ff"
 | 
				
			||||||
 | 
					                  export SKY="0x89dcebff"
 | 
				
			||||||
 | 
					                  export SAPPHIRE="0x74c7ecff"
 | 
				
			||||||
 | 
					                  export BLUE="0x89b4faff"
 | 
				
			||||||
 | 
					                  export LAVENDER="0xb4befeff"
 | 
				
			||||||
 | 
					                  export TEXT="0xcdd6f4ff"
 | 
				
			||||||
 | 
					                  export SUBTEXT1="0xbac2deff"
 | 
				
			||||||
 | 
					                  export SUBTEXT2="0xa6adc8ff"
 | 
				
			||||||
 | 
					                  export OVERLAY2="0x9399b2ff"
 | 
				
			||||||
 | 
					                  export OVERLAY1="0x7f849cff"
 | 
				
			||||||
 | 
					                  export OVERLAY0="0x6c7086ff"
 | 
				
			||||||
 | 
					                  export SURFACE2="0x585b70ff"
 | 
				
			||||||
 | 
					                  export SURFACE1="0x45475aff"
 | 
				
			||||||
 | 
					                  export SURFACE0="0x313244ff"
 | 
				
			||||||
 | 
					                  export BASE="0x1e1e2eff"
 | 
				
			||||||
 | 
					                  export MANTLE="0x181825ff"
 | 
				
			||||||
 | 
					                  export CRUST="0x11111bff"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  # Configure bar
 | 
				
			||||||
 | 
					                  sketchybar --bar height=32 \
 | 
				
			||||||
 | 
					                  			position=top \
 | 
				
			||||||
 | 
					                  			padding_left=10 \
 | 
				
			||||||
 | 
					                  			padding_right=10 \
 | 
				
			||||||
 | 
					                  			color=$CRUST
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  sketchybar --add item clock 
 | 
				
			||||||
 | 
					            	    sketchybar --set clock \
 | 
				
			||||||
 | 
					      				script="$(date +'%a %b %d, %I:%M %p')" \
 | 
				
			||||||
 | 
					      				update_freq=10 \
 | 
				
			||||||
 | 
					      				label.color=$TEXT \
 | 
				
			||||||
 | 
					      				label.font.size=16
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										70
									
								
								darwin/yabari.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								darwin/yabari.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
				
			|||||||
 | 
					{ ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  services.yabai = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    enableScriptingAddition = true;
 | 
				
			||||||
 | 
					    config = {
 | 
				
			||||||
 | 
					      focus_follows_mouse = "autoraise";
 | 
				
			||||||
 | 
					      mouse_follows_focus = "on";
 | 
				
			||||||
 | 
					      window_placement = "second_child";
 | 
				
			||||||
 | 
					      window_opacity = "off";
 | 
				
			||||||
 | 
					      window_opacity_duration = "0.0";
 | 
				
			||||||
 | 
					      active_window_opacity = "1.0";
 | 
				
			||||||
 | 
					      normal_window_opacity = "1.0";
 | 
				
			||||||
 | 
					      split_ratio = "0.50";
 | 
				
			||||||
 | 
					      auto_balance = "off";
 | 
				
			||||||
 | 
					      mouse_modifier = "fn";
 | 
				
			||||||
 | 
					      mouse_action1 = "move";
 | 
				
			||||||
 | 
					      mouse_action2 = "resize";
 | 
				
			||||||
 | 
					      layout = "bsp";
 | 
				
			||||||
 | 
					      top_padding = 5;
 | 
				
			||||||
 | 
					      bottom_padding = 5;
 | 
				
			||||||
 | 
					      left_padding = 5;
 | 
				
			||||||
 | 
					      right_padding = 5;
 | 
				
			||||||
 | 
					      window_gap = 5;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    extraConfig = ''
 | 
				
			||||||
 | 
					      yabai -m space 1 --label main 
 | 
				
			||||||
 | 
					      yabai -m space 2 --label browser
 | 
				
			||||||
 | 
					      yabai -m space 3 --label terminal
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  services.skhd = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    skhdConfig = ''
 | 
				
			||||||
 | 
					      # Focus workspace 1-9 with alt + number
 | 
				
			||||||
 | 
					      alt - 1 : yabai -m space --focus main
 | 
				
			||||||
 | 
					      alt - 2 : yabai -m space --focus browser
 | 
				
			||||||
 | 
					      alt - 3 : yabai -m space --focus terminal
 | 
				
			||||||
 | 
					      alt - 4 : yabai -m space --focus 4
 | 
				
			||||||
 | 
					      alt - 5 : yabai -m space --focus 5
 | 
				
			||||||
 | 
					      alt - 6 : yabai -m space --focus 6
 | 
				
			||||||
 | 
					      alt - 7 : yabai -m space --focus 7
 | 
				
			||||||
 | 
					      alt - 8 : yabai -m space --focus 8
 | 
				
			||||||
 | 
					      alt - 9 : yabai -m space --focus 9 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Move focused window to workspace 1-9 with alt + shift + number
 | 
				
			||||||
 | 
					      alt + shift - 1 : yabai -m window --space 1
 | 
				
			||||||
 | 
					      alt + shift - 2 : yabai -m window --space 2
 | 
				
			||||||
 | 
					      alt + shift - 3 : yabai -m window --space 3
 | 
				
			||||||
 | 
					      alt + shift - 4 : yabai -m window --space 4
 | 
				
			||||||
 | 
					      alt + shift - 5 : yabai -m window --space 5
 | 
				
			||||||
 | 
					      alt + shift - 6 : yabai -m window --space 6
 | 
				
			||||||
 | 
					      alt + shift - 7 : yabai -m window --space 7
 | 
				
			||||||
 | 
					      alt + shift - 8 : yabai -m window --space 8
 | 
				
			||||||
 | 
					      alt + shift - 9 : yabai -m window --space 9
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Focus windows alt + arrow keys
 | 
				
			||||||
 | 
					      alt - left : yabai -m window --focus west
 | 
				
			||||||
 | 
					      alt - right : yabai -m window --focus east 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Close focused window with alt + c
 | 
				
			||||||
 | 
					      alt - c : yabai -m window --close
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # App Shortcuts
 | 
				
			||||||
 | 
					      ctrl - q : open -a kitty --args --directory="~" 
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										43
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										43
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -155,6 +155,27 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-parts_3": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs-lib": [
 | 
				
			||||||
 | 
					          "nur",
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1733312601,
 | 
				
			||||||
 | 
					        "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "flake-parts",
 | 
				
			||||||
 | 
					        "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "flake-parts",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "flake-utils": {
 | 
					    "flake-utils": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "systems": "systems_2"
 | 
					        "systems": "systems_2"
 | 
				
			||||||
@@ -769,6 +790,27 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "nur": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-parts": "flake-parts_3",
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1758273929,
 | 
				
			||||||
 | 
					        "narHash": "sha256-8ZhQaoeWOcCpe14PLgJ7ZEhWFFISA2qcVuXTGlNZGgU=",
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "NUR",
 | 
				
			||||||
 | 
					        "rev": "2d644af21cc32d53594b9d17fa167c4eec6431cd",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "NUR",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "nuschtosSearch": {
 | 
					    "nuschtosSearch": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "flake-utils": "flake-utils",
 | 
					        "flake-utils": "flake-utils",
 | 
				
			||||||
@@ -824,6 +866,7 @@
 | 
				
			|||||||
        "nixcord": "nixcord",
 | 
					        "nixcord": "nixcord",
 | 
				
			||||||
        "nixpkgs": "nixpkgs_4",
 | 
					        "nixpkgs": "nixpkgs_4",
 | 
				
			||||||
        "nixvim": "nixvim",
 | 
					        "nixvim": "nixvim",
 | 
				
			||||||
 | 
					        "nur": "nur",
 | 
				
			||||||
        "spicetify-nix": "spicetify-nix",
 | 
					        "spicetify-nix": "spicetify-nix",
 | 
				
			||||||
        "unstable": "unstable"
 | 
					        "unstable": "unstable"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										83
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										83
									
								
								flake.nix
									
									
									
									
									
								
							@@ -17,6 +17,10 @@
 | 
				
			|||||||
    # Core
 | 
					    # Core
 | 
				
			||||||
    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
 | 
					    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
 | 
				
			||||||
    unstable.url = "github:nixos/nixpkgs/nixos-unstable";
 | 
					    unstable.url = "github:nixos/nixpkgs/nixos-unstable";
 | 
				
			||||||
 | 
					    nur = {
 | 
				
			||||||
 | 
					      url = "github:nix-community/NUR";
 | 
				
			||||||
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Editor
 | 
					    # Editor
 | 
				
			||||||
    nixvim = {
 | 
					    nixvim = {
 | 
				
			||||||
@@ -54,8 +58,6 @@
 | 
				
			|||||||
    }:
 | 
					    }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let
 | 
					    let
 | 
				
			||||||
      system = "x86_64-linux";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # Common Configuration
 | 
					      # Common Configuration
 | 
				
			||||||
      commonModules = [
 | 
					      commonModules = [
 | 
				
			||||||
        (
 | 
					        (
 | 
				
			||||||
@@ -80,18 +82,14 @@
 | 
				
			|||||||
      ];
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      commonHomeManagerConfig =
 | 
					      commonHomeManagerConfig =
 | 
				
			||||||
        {
 | 
					        { username, monitorSetup }:
 | 
				
			||||||
          username,
 | 
					 | 
				
			||||||
          monitorSetup ? "single",
 | 
					 | 
				
			||||||
        }:
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          home-manager = {
 | 
					          home-manager = {
 | 
				
			||||||
            useGlobalPkgs = true;
 | 
					            useGlobalPkgs = true;
 | 
				
			||||||
            useUserPackages = true;
 | 
					            useUserPackages = true;
 | 
				
			||||||
            backupFileExtension = "backup";
 | 
					            backupFileExtension = "backup";
 | 
				
			||||||
            extraSpecialArgs = {
 | 
					            extraSpecialArgs = {
 | 
				
			||||||
              inherit inputs;
 | 
					              inherit inputs username monitorSetup;
 | 
				
			||||||
              inherit username monitorSetup;
 | 
					 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
            users.${username} = import ./users/${username}/home.nix;
 | 
					            users.${username} = import ./users/${username}/home.nix;
 | 
				
			||||||
            sharedModules = [
 | 
					            sharedModules = [
 | 
				
			||||||
@@ -109,13 +107,18 @@
 | 
				
			|||||||
          username,
 | 
					          username,
 | 
				
			||||||
          system ? "x86_64-linux",
 | 
					          system ? "x86_64-linux",
 | 
				
			||||||
          monitorSetup ? "single",
 | 
					          monitorSetup ? "single",
 | 
				
			||||||
 | 
					          containerization ? "none",
 | 
				
			||||||
          extraModules ? [ ],
 | 
					          extraModules ? [ ],
 | 
				
			||||||
        }:
 | 
					        }:
 | 
				
			||||||
        nixpkgs.lib.nixosSystem {
 | 
					        nixpkgs.lib.nixosSystem {
 | 
				
			||||||
          inherit system;
 | 
					          inherit system;
 | 
				
			||||||
          specialArgs = {
 | 
					          specialArgs = {
 | 
				
			||||||
            inherit inputs;
 | 
					            inherit
 | 
				
			||||||
            inherit username monitorSetup;
 | 
					              inputs
 | 
				
			||||||
 | 
					              username
 | 
				
			||||||
 | 
					              monitorSetup
 | 
				
			||||||
 | 
					              containerization
 | 
				
			||||||
 | 
					              ;
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
          modules =
 | 
					          modules =
 | 
				
			||||||
            commonModules
 | 
					            commonModules
 | 
				
			||||||
@@ -124,59 +127,73 @@
 | 
				
			|||||||
              ./users/${username}/nixos.nix
 | 
					              ./users/${username}/nixos.nix
 | 
				
			||||||
              home-manager.nixosModules.home-manager
 | 
					              home-manager.nixosModules.home-manager
 | 
				
			||||||
              (commonHomeManagerConfig { inherit username monitorSetup; })
 | 
					              (commonHomeManagerConfig { inherit username monitorSetup; })
 | 
				
			||||||
 | 
					              ./modules/containerization
 | 
				
			||||||
            ]
 | 
					            ]
 | 
				
			||||||
            ++ extraModules;
 | 
					            ++ extraModules;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # ISO configuration
 | 
					      # ISO configuration
 | 
				
			||||||
      isoConfig = nixpkgs.lib.nixosSystem {
 | 
					      mkIsoConfig =
 | 
				
			||||||
        inherit system;
 | 
					        { system }:
 | 
				
			||||||
        modules = [
 | 
					        nixpkgs.lib.nixosSystem {
 | 
				
			||||||
          (import (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"))
 | 
					          inherit system;
 | 
				
			||||||
          (
 | 
					          modules = [
 | 
				
			||||||
            { pkgs, ... }:
 | 
					            (import (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"))
 | 
				
			||||||
            {
 | 
					            (
 | 
				
			||||||
              environment.systemPackages = with pkgs; [
 | 
					              { pkgs, ... }:
 | 
				
			||||||
                neovim
 | 
					              {
 | 
				
			||||||
                git
 | 
					                environment.systemPackages = with pkgs; [
 | 
				
			||||||
                wget
 | 
					                  neovim
 | 
				
			||||||
                curl
 | 
					                  git
 | 
				
			||||||
              ];
 | 
					                  wget
 | 
				
			||||||
              nix.settings.experimental-features = [
 | 
					                  curl
 | 
				
			||||||
                "nix-command"
 | 
					                ];
 | 
				
			||||||
                "flakes"
 | 
					                nix.settings.experimental-features = [
 | 
				
			||||||
              ];
 | 
					                  "nix-command"
 | 
				
			||||||
            }
 | 
					                  "flakes"
 | 
				
			||||||
          )
 | 
					                ];
 | 
				
			||||||
        ];
 | 
					              }
 | 
				
			||||||
      };
 | 
					            )
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    in
 | 
					    in
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      packages.${system}.default = self.nixosConfigurations.iso.config.system.build.isoImage;
 | 
					      # ISO Defaults
 | 
				
			||||||
 | 
					      packages.x86_64-linux.iso = self.nixosConfigurations.iso.config.system.build.isoImage;
 | 
				
			||||||
 | 
					      packages.x86_64-linux.default = self.packages.x86_64-linux.iso;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      nixosConfigurations = {
 | 
					      nixosConfigurations = {
 | 
				
			||||||
        iso = isoConfig;
 | 
					        iso = mkIsoConfig { system = "x86_64-linux"; };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        qemu = mkSystem {
 | 
					        qemu = mkSystem {
 | 
				
			||||||
          hostname = "qemu";
 | 
					          hostname = "qemu";
 | 
				
			||||||
          username = "phil";
 | 
					          username = "phil";
 | 
				
			||||||
          monitorSetup = "single";
 | 
					          monitorSetup = "single";
 | 
				
			||||||
 | 
					          containerization = "none";
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        m920q = mkSystem {
 | 
					        m920q = mkSystem {
 | 
				
			||||||
          hostname = "m920q";
 | 
					          hostname = "m920q";
 | 
				
			||||||
          username = "phil";
 | 
					          username = "phil";
 | 
				
			||||||
          monitorSetup = "dual";
 | 
					          monitorSetup = "dual";
 | 
				
			||||||
 | 
					          containerization = "podman";
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        hp15-n028sg = mkSystem {
 | 
					        hp15-n028sg = mkSystem {
 | 
				
			||||||
          hostname = "hp15-n028sg";
 | 
					          hostname = "hp15-n028sg";
 | 
				
			||||||
          username = "phil";
 | 
					          username = "phil";
 | 
				
			||||||
          monitorSetup = "single";
 | 
					          monitorSetup = "single";
 | 
				
			||||||
 | 
					          containerization = "docker";
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        cloud = mkSystem {
 | 
				
			||||||
 | 
					          hostname = "cluster.cyperpunk.de";
 | 
				
			||||||
 | 
					          username = "phil";
 | 
				
			||||||
 | 
					          monitorSetup = "none";
 | 
				
			||||||
 | 
					          containerization = "podman";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    kdePackages.dolphin
 | 
					 | 
				
			||||||
    libsForQt5.kio-extras
 | 
					 | 
				
			||||||
    kio-fuse
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,11 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    krusader
 | 
					 | 
				
			||||||
    krename
 | 
					 | 
				
			||||||
    kdiff3
 | 
					 | 
				
			||||||
    #		kdePackages.kompare
 | 
					 | 
				
			||||||
    xxdiff
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  progams.spacefm.enable = true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,48 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  programs.alacritty = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    settings = {
 | 
					 | 
				
			||||||
      # Font
 | 
					 | 
				
			||||||
      font = {
 | 
					 | 
				
			||||||
        normal = {
 | 
					 | 
				
			||||||
          family = "FiraCode Nerd Font Mono"; # Change to your preferred Nerd Font
 | 
					 | 
				
			||||||
          style = "Regular";
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        bold = {
 | 
					 | 
				
			||||||
          family = "FiraCode Nerd Font Mono";
 | 
					 | 
				
			||||||
          style = "Bold";
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        italic = {
 | 
					 | 
				
			||||||
          family = "FiraCode Nerd Font Mono";
 | 
					 | 
				
			||||||
          style = "Italic";
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        size = 11;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
      window = {
 | 
					 | 
				
			||||||
        opacity = 0.6; # Adjust between 0.0 (fully transparent) and 1.0 (opaque)
 | 
					 | 
				
			||||||
        padding = {
 | 
					 | 
				
			||||||
          x = 10;
 | 
					 | 
				
			||||||
          y = 10;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
        decorations = "full"; # none, transparent, full, buttonless
 | 
					 | 
				
			||||||
        title = "Alacritty";
 | 
					 | 
				
			||||||
        dynamic_title = true;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  fonts = {
 | 
					 | 
				
			||||||
    fontconfig = {
 | 
					 | 
				
			||||||
      enable = true;
 | 
					 | 
				
			||||||
      defaultFonts = {
 | 
					 | 
				
			||||||
        monospace = [ "FiraCode Nerd Font Mono" ];
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    fira-code-nerdfont
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,34 +0,0 @@
 | 
				
			|||||||
{ monitorSetup, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  imports = [
 | 
					 | 
				
			||||||
    ./kitty.nix # Terminal
 | 
					 | 
				
			||||||
    ./hyprland.nix
 | 
					 | 
				
			||||||
    ./hypridle.nix
 | 
					 | 
				
			||||||
    ./hyprlock.nix
 | 
					 | 
				
			||||||
    #./hyprpaper.nix
 | 
					 | 
				
			||||||
    #./wpaperd.nix
 | 
					 | 
				
			||||||
    ./swww.nix
 | 
					 | 
				
			||||||
    ./rofi # App Launcher
 | 
					 | 
				
			||||||
    #./mako.nix # Notifyer
 | 
					 | 
				
			||||||
    ./cava.nix # Music Visualizer
 | 
					 | 
				
			||||||
    ./swaync.nix
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  programs.waybar =
 | 
					 | 
				
			||||||
    if monitorSetup == "single" then
 | 
					 | 
				
			||||||
      import ../../home/hyprland/waybar/single.nix
 | 
					 | 
				
			||||||
    else if monitorSetup == "dual" then
 | 
					 | 
				
			||||||
      import ../../home/hyprland/waybar/dual.nix
 | 
					 | 
				
			||||||
    else if monitorSetup == "side" then
 | 
					 | 
				
			||||||
      import ../../home/hyprland/waybar/side.nix
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
      { };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  home.file.".config/waybar" = {
 | 
					 | 
				
			||||||
    source = ./waybar/configs;
 | 
					 | 
				
			||||||
    # copy the scripts directory recursively
 | 
					 | 
				
			||||||
    recursive = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  home.file.".config/hypr/hyprland.conf".enable = false;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,45 +0,0 @@
 | 
				
			|||||||
{ lib, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  programs.kitty = lib.mkForce {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    settings = {
 | 
					 | 
				
			||||||
      themeFile = "Catppuccin-Mocha";
 | 
					 | 
				
			||||||
      confirm_os_window_close = 0;
 | 
					 | 
				
			||||||
      dynamic_background_opacity = true;
 | 
					 | 
				
			||||||
      enable_audio_bell = false;
 | 
					 | 
				
			||||||
      mouse_hide_wait = "-1.0";
 | 
					 | 
				
			||||||
      window_padding_width = 10;
 | 
					 | 
				
			||||||
      background_opacity = "0.8";
 | 
					 | 
				
			||||||
      background_blur = 5;
 | 
					 | 
				
			||||||
      tab_bar_min_tabs = 1;
 | 
					 | 
				
			||||||
      tab_bar_edge = "bottom";
 | 
					 | 
				
			||||||
      tab_bar_style = "powerline";
 | 
					 | 
				
			||||||
      tab_powerline_style = "slanted";
 | 
					 | 
				
			||||||
      tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
 | 
					 | 
				
			||||||
      symbol_map =
 | 
					 | 
				
			||||||
        let
 | 
					 | 
				
			||||||
          mappings = [
 | 
					 | 
				
			||||||
            "U+23FB-U+23FE"
 | 
					 | 
				
			||||||
            "U+2B58"
 | 
					 | 
				
			||||||
            "U+E200-U+E2A9"
 | 
					 | 
				
			||||||
            "U+E0A0-U+E0A3"
 | 
					 | 
				
			||||||
            "U+E0B0-U+E0BF"
 | 
					 | 
				
			||||||
            "U+E0C0-U+E0C8"
 | 
					 | 
				
			||||||
            "U+E0CC-U+E0CF"
 | 
					 | 
				
			||||||
            "U+E0D0-U+E0D2"
 | 
					 | 
				
			||||||
            "U+E0D4"
 | 
					 | 
				
			||||||
            "U+E700-U+E7C5"
 | 
					 | 
				
			||||||
            "U+F000-U+F2E0"
 | 
					 | 
				
			||||||
            "U+2665"
 | 
					 | 
				
			||||||
            "U+26A1"
 | 
					 | 
				
			||||||
            "U+F400-U+F4A8"
 | 
					 | 
				
			||||||
            "U+F67C"
 | 
					 | 
				
			||||||
            "U+E000-U+E00A"
 | 
					 | 
				
			||||||
            "U+F300-U+F313"
 | 
					 | 
				
			||||||
            "U+E5FA-U+E62B"
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
        in
 | 
					 | 
				
			||||||
        (builtins.concatStringsSep "," mappings) + " Symbols Nerd Font";
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = [ pkgs.swaynotificationcenter ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,35 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  monitorSetup,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  programs.waybar = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    package = pkgs.waybar;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  home.file.".config/waybar/style.css" =
 | 
					 | 
				
			||||||
    if monitorSetup == "side" then
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        source = ./configs/side.css;
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        source = ./configs/style.css;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
  home.file.".config/waybar/cava.sh".source = ./configs/cava.sh;
 | 
					 | 
				
			||||||
  home.file.".config/waybar/mocha.css".source = ./configs/mocha.css;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  /*
 | 
					 | 
				
			||||||
    home.file.".config/waybar" = {
 | 
					 | 
				
			||||||
      source = ./configs;
 | 
					 | 
				
			||||||
      # copy the scripts directory recursively
 | 
					 | 
				
			||||||
      recursive = true;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      home.file.".config/waybar/style.css" = lib.mkIf (monitorSetup == "side") {
 | 
					 | 
				
			||||||
        source = ./configs/side.css;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
  */
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,9 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    niri
 | 
					 | 
				
			||||||
    xwayland-satellite
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  xdg.configFile."niri/config.kdl".source = ./niri-config.kdl;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,58 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  lib,
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  catppuccin-bat,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  programs = {
 | 
					 | 
				
			||||||
    tmux = {
 | 
					 | 
				
			||||||
      enable = true;
 | 
					 | 
				
			||||||
      clock24 = true;
 | 
					 | 
				
			||||||
      keyMode = "vi";
 | 
					 | 
				
			||||||
      extraConfig = "mouse on";
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    bat = {
 | 
					 | 
				
			||||||
      enable = true;
 | 
					 | 
				
			||||||
      config = {
 | 
					 | 
				
			||||||
        pager = "less -FR";
 | 
					 | 
				
			||||||
        theme = "catppuccin-mocha";
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
      themes = {
 | 
					 | 
				
			||||||
        # https://raw.githubusercontent.com/catppuccin/bat/main/Catppuccin-mocha.tmTheme
 | 
					 | 
				
			||||||
        catppuccin-mocha = {
 | 
					 | 
				
			||||||
          src = catppuccin-bat;
 | 
					 | 
				
			||||||
          file = "Catppuccin-mocha.tmTheme";
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    btop.enable = true; # replacement of htop/nmon
 | 
					 | 
				
			||||||
    eza.enable = true; # A modern replacement for ‘ls’
 | 
					 | 
				
			||||||
    jq.enable = true; # A lightweight and flexible command-line JSON processor
 | 
					 | 
				
			||||||
    ssh.enable = true;
 | 
					 | 
				
			||||||
    aria2.enable = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    skim = {
 | 
					 | 
				
			||||||
      enable = true;
 | 
					 | 
				
			||||||
      enableZshIntegration = true;
 | 
					 | 
				
			||||||
      defaultCommand = "rg --files --hidden";
 | 
					 | 
				
			||||||
      changeDirWidgetOptions = [
 | 
					 | 
				
			||||||
        "--preview 'exa --icons --git --color always -T -L 3 {} | head -200'"
 | 
					 | 
				
			||||||
        "--exact"
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  services = {
 | 
					 | 
				
			||||||
    #syncthing.enable = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # auto mount usb drives
 | 
					 | 
				
			||||||
    udiskie.enable = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install sqlitebrowser (DB Browser for SQLite)
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    beekeeper-studio
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,24 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    # C / C++
 | 
					 | 
				
			||||||
    clang
 | 
					 | 
				
			||||||
    #gcc
 | 
					 | 
				
			||||||
    lua
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Rust
 | 
					 | 
				
			||||||
    cargo
 | 
					 | 
				
			||||||
    rustc
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Zig
 | 
					 | 
				
			||||||
    zig
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    #python
 | 
					 | 
				
			||||||
    python314
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  programs.go = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    packages = { };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,11 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  imports = [
 | 
					 | 
				
			||||||
    ./git.nix
 | 
					 | 
				
			||||||
    ./neovim
 | 
					 | 
				
			||||||
    ./fstl.nix
 | 
					 | 
				
			||||||
    ./openscad.nix
 | 
					 | 
				
			||||||
    ./sqllite_browser.nix
 | 
					 | 
				
			||||||
    ./compilers.nix
 | 
					 | 
				
			||||||
    ./beekeeper-studio.nix
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install fstl
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    fstl
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,13 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = [ pkgs.gh ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  programs.git = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # ... Other options ...
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install OpenSCAD
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    openscad
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install sqlitebrowser (DB Browser for SQLite)
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    sqlitebrowser
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,6 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    airshipper
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,10 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    itch
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,10 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    lutris
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,14 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    xonotic
 | 
					 | 
				
			||||||
    #    armagetron
 | 
					 | 
				
			||||||
    #        freeciv
 | 
					 | 
				
			||||||
    #        mindustry
 | 
					 | 
				
			||||||
    #        openra
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,18 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  /*
 | 
					 | 
				
			||||||
    home.packages = with pkgs; [
 | 
					 | 
				
			||||||
        steam
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  */
 | 
					 | 
				
			||||||
  programs.steam = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    remotePlay.openFirewall = true;
 | 
					 | 
				
			||||||
    dedicatedServer.openFirewall = true;
 | 
					 | 
				
			||||||
    localNetworkGameTransfers.openFirewall = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,7 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    audacity
 | 
					 | 
				
			||||||
    yt-dlp
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,12 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    # images
 | 
					 | 
				
			||||||
    imv
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,14 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
# media - control and enjoy audio/video
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  imports = [
 | 
					 | 
				
			||||||
    ./audio.nix
 | 
					 | 
				
			||||||
    ./image.nix
 | 
					 | 
				
			||||||
    ./webcam.nix
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,14 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  programs.obs-studio = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    #enableVirtualCamera = true;
 | 
					 | 
				
			||||||
    plugins = with pkgs.obs-studio-plugins; [
 | 
					 | 
				
			||||||
      wlrobs
 | 
					 | 
				
			||||||
      obs-vkcapture
 | 
					 | 
				
			||||||
      obs-backgroundremoval
 | 
					 | 
				
			||||||
      obs-pipewire-audio-capture
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,39 +0,0 @@
 | 
				
			|||||||
{ pkgs, inputs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  imports = [
 | 
					 | 
				
			||||||
    inputs.spicetify-nix.homeManagerModules.default
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  programs.spicetify =
 | 
					 | 
				
			||||||
    let
 | 
					 | 
				
			||||||
      spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
 | 
					 | 
				
			||||||
    in
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      enable = true;
 | 
					 | 
				
			||||||
      spotifyPackage = pkgs.spotify;
 | 
					 | 
				
			||||||
      theme = spicePkgs.themes.catppuccin;
 | 
					 | 
				
			||||||
      colorScheme = "mocha";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      enabledExtensions = with spicePkgs.extensions; [
 | 
					 | 
				
			||||||
        bookmark
 | 
					 | 
				
			||||||
        fullAppDisplay
 | 
					 | 
				
			||||||
        keyboardShortcut
 | 
					 | 
				
			||||||
        popupLyrics
 | 
					 | 
				
			||||||
        shuffle
 | 
					 | 
				
			||||||
        autoVolume
 | 
					 | 
				
			||||||
        betterGenres
 | 
					 | 
				
			||||||
        adblock
 | 
					 | 
				
			||||||
        wikify
 | 
					 | 
				
			||||||
        songStats
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      enabledCustomApps = with spicePkgs.apps; [
 | 
					 | 
				
			||||||
        lyricsPlus
 | 
					 | 
				
			||||||
        newReleases
 | 
					 | 
				
			||||||
        marketplace
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      #enabledSnippets = with spicePkgs.snippets; [ ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,21 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install Blender
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    blender
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Optional: Install specific versions of Blender (e.g., LTS)
 | 
					 | 
				
			||||||
  # home.packages = with pkgs; [
 | 
					 | 
				
			||||||
  #   blender-bin # Latest stable release
 | 
					 | 
				
			||||||
  #   blender-lts
 | 
					 | 
				
			||||||
  # ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Optional: Install Blender plugins
 | 
					 | 
				
			||||||
  # home.packages = with pkgs; [
 | 
					 | 
				
			||||||
  #   blender
 | 
					 | 
				
			||||||
  #   blender-addons.io-scene-gltf2 # Example GLTF exporter/importer
 | 
					 | 
				
			||||||
  #   # Add other Blender addons here
 | 
					 | 
				
			||||||
  # ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.programs.geary.enable = true;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,13 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
let
 | 
					 | 
				
			||||||
  logseq-patch = pkgs.logseq.override {
 | 
					 | 
				
			||||||
    electron_27 = pkgs.electron_34;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
in
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    logseq-patch
 | 
					 | 
				
			||||||
    logseq
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [ notesnook ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,16 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install Obsidian
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    obsidian
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Optional: You might want to configure Obsidian's data directory.
 | 
					 | 
				
			||||||
  # By default, Obsidian stores its data in ~/Obsidian.
 | 
					 | 
				
			||||||
  # You can change this using environment variables, but it's less common to manage this declaratively.
 | 
					 | 
				
			||||||
  # Example (you might not need this):
 | 
					 | 
				
			||||||
  # environment.variables = {
 | 
					 | 
				
			||||||
  #   OBSIDIAN_VAULT_PATH = "/path/to/your/vaults";
 | 
					 | 
				
			||||||
  # };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = [ pkgs.libsForQt5.okular ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install OnlyOffice Desktop Editors
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    onlyoffice-desktopeditors
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install Slic3r
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    slic3r
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  home.packages = [ pkgs.trilium-desktop ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install Element Desktop
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    element-desktop
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,9 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install Teamspeak Desktop
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    teamspeak3
 | 
					 | 
				
			||||||
    #    teamspeak6-client
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,9 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install Telegram Desktop
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    telegram-desktop
 | 
					 | 
				
			||||||
    telegram-cli
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,33 +0,0 @@
 | 
				
			|||||||
{ lib, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  programs.nixcord = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    discord = lib.mkForce { enable = false; };
 | 
					 | 
				
			||||||
    vesktop.enable = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    config = {
 | 
					 | 
				
			||||||
      useQuickCss = true;
 | 
					 | 
				
			||||||
      themeLinks = [
 | 
					 | 
				
			||||||
        "https://raw.githubusercontent.com/catppuccin/discord/refs/heads/main/themes/mocha.theme.css"
 | 
					 | 
				
			||||||
      ];
 | 
					 | 
				
			||||||
      frameless = true;
 | 
					 | 
				
			||||||
      plugins = {
 | 
					 | 
				
			||||||
        betterFolders.enable = true;
 | 
					 | 
				
			||||||
        betterRoleContext.enable = true;
 | 
					 | 
				
			||||||
        mentionAvatars.enable = true;
 | 
					 | 
				
			||||||
        copyUserURLs.enable = true;
 | 
					 | 
				
			||||||
        fakeNitro.enable = true;
 | 
					 | 
				
			||||||
        decor.enable = true;
 | 
					 | 
				
			||||||
        #accountPanelServerProfile = true;
 | 
					 | 
				
			||||||
        copyFileContents.enable = true;
 | 
					 | 
				
			||||||
        fakeProfileThemes.enable = true;
 | 
					 | 
				
			||||||
        friendsSince.enable = true;
 | 
					 | 
				
			||||||
        implicitRelationships.enable = true;
 | 
					 | 
				
			||||||
        noTrack.enable = true;
 | 
					 | 
				
			||||||
        permissionsViewer.enable = true;
 | 
					 | 
				
			||||||
        serverInfo.enable = true;
 | 
					 | 
				
			||||||
        translate.enable = true;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,8 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  # Install Element Desktop
 | 
					 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					 | 
				
			||||||
    zapzap
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,14 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  programs.chromium = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];
 | 
					 | 
				
			||||||
    extensions = [
 | 
					 | 
				
			||||||
      # {id = "";}  // extension id, query from chrome web store
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,12 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  username,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  programs.firefox = {
 | 
					 | 
				
			||||||
    enable = false;
 | 
					 | 
				
			||||||
    profiles.${username} = { };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,9 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  imports = [
 | 
					 | 
				
			||||||
    ./qt.nix
 | 
					 | 
				
			||||||
    #        ./gtk.nix
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,19 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  home.packages = with pkgs.libsForQt5; [
 | 
					 | 
				
			||||||
    qt5ct
 | 
					 | 
				
			||||||
    qtstyleplugin-kvantum
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  qt = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    platformTheme.name = "qtct";
 | 
					 | 
				
			||||||
    style.name = "kvantum";
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  xdg.configFile = {
 | 
					 | 
				
			||||||
    "Kvantum/ArcDark".source = "${pkgs.arc-kde-theme}/share/Kvantum/ArcDark";
 | 
					 | 
				
			||||||
    "Kvantum/kvantum.kvconfig".text = "[General]\ntheme=ArcDark";
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -14,11 +14,9 @@
 | 
				
			|||||||
    ../../modules/localisation.nix
 | 
					    ../../modules/localisation.nix
 | 
				
			||||||
    ../../modules/openssh.nix
 | 
					    ../../modules/openssh.nix
 | 
				
			||||||
    ../../modules/pipewire.nix
 | 
					    ../../modules/pipewire.nix
 | 
				
			||||||
    ../../modules/podman.nix
 | 
					 | 
				
			||||||
    ../../modules/services.nix
 | 
					    ../../modules/services.nix
 | 
				
			||||||
    ../../modules/regreet/regreet.nix
 | 
					    ../../modules/regreet/regreet.nix
 | 
				
			||||||
    ../../modules/plymouth.nix
 | 
					    ../../modules/plymouth.nix
 | 
				
			||||||
    ../../modules/file_managers/spacefm.nix
 | 
					 | 
				
			||||||
    # Include the results of the hardware scan.
 | 
					    # Include the results of the hardware scan.
 | 
				
			||||||
    ./hardware-configuration.nix
 | 
					    ./hardware-configuration.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,8 +16,6 @@
 | 
				
			|||||||
    ../../modules/localisation.nix
 | 
					    ../../modules/localisation.nix
 | 
				
			||||||
    ../../modules/openssh.nix
 | 
					    ../../modules/openssh.nix
 | 
				
			||||||
    ../../modules/pipewire.nix
 | 
					    ../../modules/pipewire.nix
 | 
				
			||||||
    #../../modules/podman.nix
 | 
					 | 
				
			||||||
    ../../modules/docker.nix
 | 
					 | 
				
			||||||
    ../../modules/services.nix
 | 
					    ../../modules/services.nix
 | 
				
			||||||
    ../../modules/regreet/regreet.nix
 | 
					    ../../modules/regreet/regreet.nix
 | 
				
			||||||
    ../../modules/plymouth.nix
 | 
					    ../../modules/plymouth.nix
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  config,
 | 
					  config,
 | 
				
			||||||
  lib,
 | 
					  lib,
 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  modulesPath,
 | 
					  modulesPath,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}:
 | 
					}:
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,11 +14,9 @@
 | 
				
			|||||||
    ../../modules/localisation.nix
 | 
					    ../../modules/localisation.nix
 | 
				
			||||||
    ../../modules/openssh.nix
 | 
					    ../../modules/openssh.nix
 | 
				
			||||||
    ../../modules/pipewire.nix
 | 
					    ../../modules/pipewire.nix
 | 
				
			||||||
    ../../modules/podman.nix
 | 
					 | 
				
			||||||
    ../../modules/services.nix
 | 
					    ../../modules/services.nix
 | 
				
			||||||
    ../../modules/regreet/regreet.nix
 | 
					    ../../modules/regreet/regreet.nix
 | 
				
			||||||
    ../../modules/plymouth.nix
 | 
					    ../../modules/plymouth.nix
 | 
				
			||||||
    ../../modules/file_managers/spacefm.nix
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Include the results of the hardware scan.
 | 
					    # Include the results of the hardware scan.
 | 
				
			||||||
    ./hardware-configuration.nix
 | 
					    ./hardware-configuration.nix
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										41
									
								
								modules/containerization/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								modules/containerization/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  containerization ? "none",
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					  # Import the appropriate containerization module based on the parameter
 | 
				
			||||||
 | 
					  containerModule =
 | 
				
			||||||
 | 
					    if containerization == "podman" then
 | 
				
			||||||
 | 
					      import ./podman.nix
 | 
				
			||||||
 | 
					    else if containerization == "docker" then
 | 
				
			||||||
 | 
					      import ./docker.nix
 | 
				
			||||||
 | 
					    else if containerization == "none" then
 | 
				
			||||||
 | 
					      { }
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      throw "Unknown containerization type: ${containerization}. Valid options are: podman, docker, none";
 | 
				
			||||||
 | 
					in
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  imports = [ containerModule ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Common packages and configuration for all systems
 | 
				
			||||||
 | 
					  environment.systemPackages = with pkgs; [
 | 
				
			||||||
 | 
					    # Remove the curly braces {}
 | 
				
			||||||
 | 
					    dive # docker layer viewer
 | 
				
			||||||
 | 
					    tailscale # VPN
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtualisation.containers.enable = true;
 | 
				
			||||||
 | 
					  virtualisation.oci-containers.containers = {
 | 
				
			||||||
 | 
					    /*
 | 
				
			||||||
 | 
					      container-name = {
 | 
				
			||||||
 | 
					          image = "image";
 | 
				
			||||||
 | 
					          autoStart = true;
 | 
				
			||||||
 | 
					          ports = [ "127.0.0.1:1234:1234" ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										18
									
								
								modules/containerization/docker.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								modules/containerization/docker.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  environment.systemPackages = with pkgs; [
 | 
				
			||||||
 | 
					    docker-compose
 | 
				
			||||||
 | 
					    lazydocker # docker tui
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtualisation.docker = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    rootless = {
 | 
				
			||||||
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      setSocketVariable = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtualisation.oci-containers.backend = "docker";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										17
									
								
								modules/containerization/podman.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								modules/containerization/podman.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  environment.systemPackages = with pkgs; [
 | 
				
			||||||
 | 
					    podman-compose # docker-compose alternative
 | 
				
			||||||
 | 
					    podman-tui # status of containers in terminal
 | 
				
			||||||
 | 
					    podman-desktop # Desktop client
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtualisation.podman = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    dockerCompat = true;
 | 
				
			||||||
 | 
					    defaultNetwork.settings.dns_enabled = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  virtualisation.oci-containers.backend = "podman";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,36 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  environment.systemPackages = with pkgs; [
 | 
					 | 
				
			||||||
    # Virtualisation
 | 
					 | 
				
			||||||
    docker-compose # docker-compose alternative
 | 
					 | 
				
			||||||
    dive # docker layer viewer
 | 
					 | 
				
			||||||
    tailscale # Vpn
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
  # Virtualisation
 | 
					 | 
				
			||||||
  virtualisation = {
 | 
					 | 
				
			||||||
    containers.enable = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    docker = {
 | 
					 | 
				
			||||||
      enable = true;
 | 
					 | 
				
			||||||
      rootless = {
 | 
					 | 
				
			||||||
        enable = true;
 | 
					 | 
				
			||||||
        setSocketVariable = true;
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    oci-containers = {
 | 
					 | 
				
			||||||
      backend = "docker";
 | 
					 | 
				
			||||||
      containers = {
 | 
					 | 
				
			||||||
        /*
 | 
					 | 
				
			||||||
          container-name = {
 | 
					 | 
				
			||||||
              image = "image";
 | 
					 | 
				
			||||||
              autoStart = true;
 | 
					 | 
				
			||||||
              ports = [ "127.0.0.1:1234:1234" ];
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        */
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					{ ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  # Set your time zone.
 | 
					  # Set your time zone.
 | 
				
			||||||
  time.timeZone = "Europe/Berlin";
 | 
					  time.timeZone = "Europe/Berlin";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,36 +0,0 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  environment.systemPackages = with pkgs; [
 | 
					 | 
				
			||||||
    # Virtualisation
 | 
					 | 
				
			||||||
    podman-compose # docker-compose alternative
 | 
					 | 
				
			||||||
    dive # docker layer viewer
 | 
					 | 
				
			||||||
    podman-tui # status of containers in terminal
 | 
					 | 
				
			||||||
    podman-desktop # Desktop client
 | 
					 | 
				
			||||||
    tailscale # Vpn
 | 
					 | 
				
			||||||
  ];
 | 
					 | 
				
			||||||
  # Virtualisation
 | 
					 | 
				
			||||||
  virtualisation = {
 | 
					 | 
				
			||||||
    containers.enable = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    podman = {
 | 
					 | 
				
			||||||
      enable = true;
 | 
					 | 
				
			||||||
      dockerCompat = true;
 | 
					 | 
				
			||||||
      defaultNetwork.settings.dns_enabled = true;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    oci-containers = {
 | 
					 | 
				
			||||||
      backend = "podman";
 | 
					 | 
				
			||||||
      containers = {
 | 
					 | 
				
			||||||
        /*
 | 
					 | 
				
			||||||
          container-name = {
 | 
					 | 
				
			||||||
              image = "image";
 | 
					 | 
				
			||||||
              autoStart = true;
 | 
					 | 
				
			||||||
              ports = [ "127.0.0.1:1234:1234" ];
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        */
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,6 +1,5 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}:
 | 
					}:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@@ -1,6 +1,4 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  username,
 | 
					  username,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}:
 | 
					}:
 | 
				
			||||||
							
								
								
									
										112
									
								
								programs/wm/common/kitty.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								programs/wm/common/kitty.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,112 @@
 | 
				
			|||||||
 | 
					{ lib, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  programs.kitty = lib.mkForce {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      themeFile = "Catppuccin-Mocha";
 | 
				
			||||||
 | 
					      confirm_os_window_close = 0;
 | 
				
			||||||
 | 
					      dynamic_background_opacity = true;
 | 
				
			||||||
 | 
					      enable_audio_bell = false;
 | 
				
			||||||
 | 
					      mouse_hide_wait = "-1.0";
 | 
				
			||||||
 | 
					      window_padding_width = 10;
 | 
				
			||||||
 | 
					      background_opacity = "0.8";
 | 
				
			||||||
 | 
					      background_blur = 5;
 | 
				
			||||||
 | 
					      tab_bar_min_tabs = 1;
 | 
				
			||||||
 | 
					      tab_bar_edge = "bottom";
 | 
				
			||||||
 | 
					      tab_bar_style = "powerline";
 | 
				
			||||||
 | 
					      tab_powerline_style = "slanted";
 | 
				
			||||||
 | 
					      tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
 | 
				
			||||||
 | 
					      symbol_map =
 | 
				
			||||||
 | 
					        let
 | 
				
			||||||
 | 
					          mappings = [
 | 
				
			||||||
 | 
					            "U+23FB-U+23FE"
 | 
				
			||||||
 | 
					            "U+2B58"
 | 
				
			||||||
 | 
					            "U+E200-U+E2A9"
 | 
				
			||||||
 | 
					            "U+E0A0-U+E0A3"
 | 
				
			||||||
 | 
					            "U+E0B0-U+E0BF"
 | 
				
			||||||
 | 
					            "U+E0C0-U+E0C8"
 | 
				
			||||||
 | 
					            "U+E0CC-U+E0CF"
 | 
				
			||||||
 | 
					            "U+E0D0-U+E0D2"
 | 
				
			||||||
 | 
					            "U+E0D4"
 | 
				
			||||||
 | 
					            "U+E700-U+E7C5"
 | 
				
			||||||
 | 
					            "U+F000-U+F2E0"
 | 
				
			||||||
 | 
					            "U+2665"
 | 
				
			||||||
 | 
					            "U+26A1"
 | 
				
			||||||
 | 
					            "U+F400-U+F4A8"
 | 
				
			||||||
 | 
					            "U+F67C"
 | 
				
			||||||
 | 
					            "U+E000-U+E00A"
 | 
				
			||||||
 | 
					            "U+F300-U+F313"
 | 
				
			||||||
 | 
					            "U+E5FA-U+E62B"
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
 | 
					        in
 | 
				
			||||||
 | 
					        (builtins.concatStringsSep "," mappings) + " Symbols Nerd Font";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.starship = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      add_newline = true;
 | 
				
			||||||
 | 
					      command_timeout = 500;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      format = "$username$hostname $directory $git_branch$git_status\n$character ";
 | 
				
			||||||
 | 
					      right_format = "$cmd_duration";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      username = {
 | 
				
			||||||
 | 
					        style_user = "bold #cba6f7";
 | 
				
			||||||
 | 
					        style_root = "bold #f38ba8";
 | 
				
			||||||
 | 
					        format = "[┌](bold #a6e3a1)[$user]($style)";
 | 
				
			||||||
 | 
					        show_always = true;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      hostname = {
 | 
				
			||||||
 | 
					        style = "bold #74c7ec";
 | 
				
			||||||
 | 
					        format = "[@](bold #fab387)[$hostname]($style)";
 | 
				
			||||||
 | 
					        ssh_only = false;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      directory = {
 | 
				
			||||||
 | 
					        style = "bold #a6e3a1";
 | 
				
			||||||
 | 
					        truncation_length = 0;
 | 
				
			||||||
 | 
					        truncation_symbol = "";
 | 
				
			||||||
 | 
					        format = "[⤇ ](bold #f38ba8)[《$path》]($style)";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      git_branch = {
 | 
				
			||||||
 | 
					        format = "[⟦$branch⟧]($style)";
 | 
				
			||||||
 | 
					        style = "bold #f9e2af";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Git status module settings
 | 
				
			||||||
 | 
					      git_status = {
 | 
				
			||||||
 | 
					        format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](red) ($ahead_behind$stashed)]($style)";
 | 
				
			||||||
 | 
					        style = "bold #a6e3a1";
 | 
				
			||||||
 | 
					        conflicted = "";
 | 
				
			||||||
 | 
					        untracked = "";
 | 
				
			||||||
 | 
					        modified = "";
 | 
				
			||||||
 | 
					        staged = "";
 | 
				
			||||||
 | 
					        renamed = "";
 | 
				
			||||||
 | 
					        deleted = "";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Command duration module
 | 
				
			||||||
 | 
					      cmd_duration = {
 | 
				
			||||||
 | 
					        format = "[$duration]($style)";
 | 
				
			||||||
 | 
					        style = "bold #cdd6f4";
 | 
				
			||||||
 | 
					        min_time = 5000; # Only show if command takes longer than 5 seconds
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Character module (prompt symbol)
 | 
				
			||||||
 | 
					      character = {
 | 
				
			||||||
 | 
					        success_symbol = "[└──────⇴ ](bold #a6e3a1)";
 | 
				
			||||||
 | 
					        error_symbol = "[└──────⇴ ](bold #f38ba8)";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      nix_shell = {
 | 
				
			||||||
 | 
					        format = "[$symbol$state( \($name\))]($style)";
 | 
				
			||||||
 | 
					        symbol = "U+02744";
 | 
				
			||||||
 | 
					        style = "bold #89dceb";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					{ ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  services.mako = {
 | 
					  services.mako = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
@@ -10,6 +10,9 @@
 | 
				
			|||||||
    extraConfig = ''
 | 
					    extraConfig = ''
 | 
				
			||||||
      [app-name=Spotify]
 | 
					      [app-name=Spotify]
 | 
				
			||||||
      border-color=#a6e3a1
 | 
					      border-color=#a6e3a1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      [app-name=Thunderbird]
 | 
				
			||||||
 | 
					      border-color=#94e2d5
 | 
				
			||||||
    '';
 | 
					    '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
							
								
								
									
										110
									
								
								programs/wm/common/notifier/swaync.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								programs/wm/common/notifier/swaync.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,110 @@
 | 
				
			|||||||
 | 
					{ ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  services.swaync = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      positionX = "center";
 | 
				
			||||||
 | 
					      positionY = "center";
 | 
				
			||||||
 | 
					      layer = "overlay";
 | 
				
			||||||
 | 
					      control-center-layer = "top";
 | 
				
			||||||
 | 
					      layer-shell = true;
 | 
				
			||||||
 | 
					      cssPriority = "user";
 | 
				
			||||||
 | 
					      control-center-margin-top = 100;
 | 
				
			||||||
 | 
					      control-center-margin-bottom = 200;
 | 
				
			||||||
 | 
					      control-center-margin-right = 0;
 | 
				
			||||||
 | 
					      control-center-margin-left = 0;
 | 
				
			||||||
 | 
					      notification-2fa-action = true;
 | 
				
			||||||
 | 
					      notification-inline-replies = false;
 | 
				
			||||||
 | 
					      notification-icon-size = 64;
 | 
				
			||||||
 | 
					      notification-body-image-height = 100;
 | 
				
			||||||
 | 
					      notification-body-image-width = 200;
 | 
				
			||||||
 | 
					      widgets = [
 | 
				
			||||||
 | 
					        "mpris"
 | 
				
			||||||
 | 
					        "volume"
 | 
				
			||||||
 | 
					        "inhibitors"
 | 
				
			||||||
 | 
					        "title"
 | 
				
			||||||
 | 
					        "dnd"
 | 
				
			||||||
 | 
					        "notifications"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					      widget-config = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        mpris = {
 | 
				
			||||||
 | 
					          blacklist = [ ];
 | 
				
			||||||
 | 
					          autohide = false;
 | 
				
			||||||
 | 
					          show-album-art = "always";
 | 
				
			||||||
 | 
					          loop-carousel = false;
 | 
				
			||||||
 | 
					          image-size = 96;
 | 
				
			||||||
 | 
					          image-radius = 12;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        volume = {
 | 
				
			||||||
 | 
					          label = "gain";
 | 
				
			||||||
 | 
					          show-per-app = false;
 | 
				
			||||||
 | 
					          empty-list-label = "Nothin' is playin'";
 | 
				
			||||||
 | 
					          expand-button-label = "⤢";
 | 
				
			||||||
 | 
					          collaps-button-label = "⤡";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        title = {
 | 
				
			||||||
 | 
					          text = "Hollerin'";
 | 
				
			||||||
 | 
					          clear-all-button = true;
 | 
				
			||||||
 | 
					          button-text = "Sheriff's Pardon";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dnd = {
 | 
				
			||||||
 | 
					          text = "Let'er rest";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        menubar = {
 | 
				
			||||||
 | 
					          "menu#power" = {
 | 
				
			||||||
 | 
					            label = "Power";
 | 
				
			||||||
 | 
					            position = "right";
 | 
				
			||||||
 | 
					            animation-type = "slide_down";
 | 
				
			||||||
 | 
					            animation-duration = 250;
 | 
				
			||||||
 | 
					            actions = [
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                label = "Bolt It";
 | 
				
			||||||
 | 
					                command = "hyprlock";
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                label = "Ride Out";
 | 
				
			||||||
 | 
					                command = "hyprctl dispatch exit";
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                label = "Circle Back";
 | 
				
			||||||
 | 
					                command = "systemctl reboot";
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                label = "Bet Down the Horses";
 | 
				
			||||||
 | 
					                command = "systemctl poweroff";
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            ];
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          "buttons#media" = {
 | 
				
			||||||
 | 
					            position = "left";
 | 
				
			||||||
 | 
					            actions = [
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                label = "Play/Pause";
 | 
				
			||||||
 | 
					                command = "playerctl play-pause";
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                label = "Next";
 | 
				
			||||||
 | 
					                command = "playerctl next";
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                label = "Previous";
 | 
				
			||||||
 | 
					                command = "playerctl previous";
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            ];
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        notifications = {
 | 
				
			||||||
 | 
					          vexpand = true;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 9.2 MiB After Width: | Height: | Size: 9.2 MiB  | 
| 
		 Before Width: | Height: | Size: 447 KiB After Width: | Height: | Size: 447 KiB  | 
@@ -28,7 +28,7 @@
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
configuration {
 | 
					configuration {
 | 
				
			||||||
    font:						 "Icomoon-Feather 12";
 | 
					    font:						 "Fira Code Bold 20px";
 | 
				
			||||||
    show-icons: 				 true;
 | 
					    show-icons: 				 true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -85,11 +85,11 @@ dummy {
 | 
				
			|||||||
textbox-prompt-colon {
 | 
					textbox-prompt-colon {
 | 
				
			||||||
    enabled:                     true;
 | 
					    enabled:                     true;
 | 
				
			||||||
    expand:                      false;
 | 
					    expand:                      false;
 | 
				
			||||||
    str:                         " System";
 | 
					    str:                         "  System";
 | 
				
			||||||
    padding:                     15px;
 | 
					    padding:                     15px;
 | 
				
			||||||
    border:                      0px 0px 0px 10px;
 | 
					    border:                      0px 0px 0px 10px;
 | 
				
			||||||
    border-radius:               100% 100% 0px 100%;
 | 
					    border-radius:               100% 100% 0px 100%;
 | 
				
			||||||
    border-color:                @peach;
 | 
					    border-color:                @blue;
 | 
				
			||||||
    background-color:            @crust;
 | 
					    background-color:            @crust;
 | 
				
			||||||
    text-color:                  @text;
 | 
					    text-color:                  @text;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -117,7 +117,7 @@ listview {
 | 
				
			|||||||
    fixed-columns:               true;
 | 
					    fixed-columns:               true;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    spacing:                     30px;
 | 
					    spacing:                     30px;
 | 
				
			||||||
    margin:                      30px;
 | 
					    margin:                      10px;
 | 
				
			||||||
    background-color:            transparent;
 | 
					    background-color:            transparent;
 | 
				
			||||||
    cursor:                      "default";
 | 
					    cursor:                      "default";
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -125,11 +125,12 @@ listview {
 | 
				
			|||||||
/*****----- Elements -----*****/
 | 
					/*****----- Elements -----*****/
 | 
				
			||||||
element {
 | 
					element {
 | 
				
			||||||
    enabled:                     true;
 | 
					    enabled:                     true;
 | 
				
			||||||
    padding:                     35px 10px;
 | 
					    padding:                     10px;
 | 
				
			||||||
    border-radius:               5%;
 | 
					    border-radius:               1%;
 | 
				
			||||||
    background-color:            @crust;
 | 
					    background-color:            @crust;
 | 
				
			||||||
    text-color:                  @text;
 | 
					    text-color:                  @text;
 | 
				
			||||||
    cursor:                      pointer;
 | 
					    cursor:                      pointer;
 | 
				
			||||||
 | 
						children:					 [ element-text ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
element-text {
 | 
					element-text {
 | 
				
			||||||
    background-color:            transparent;
 | 
					    background-color:            transparent;
 | 
				
			||||||
@@ -140,7 +141,7 @@ element-text {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
element selected.normal {
 | 
					element selected.normal {
 | 
				
			||||||
    background-color:            @crust;
 | 
					    background-color:            @crust;
 | 
				
			||||||
    text-color:                  @sapphire;
 | 
					    text-color:                  @yellow;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*****----- Message -----*****/
 | 
					/*****----- Message -----*****/
 | 
				
			||||||
@@ -159,6 +159,27 @@
 | 
				
			|||||||
      interval = 60;
 | 
					      interval = 60;
 | 
				
			||||||
      tooltip = false;
 | 
					      tooltip = false;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    "custom/notification" = {
 | 
				
			||||||
 | 
					      tooltip = false;
 | 
				
			||||||
 | 
					      format = "{icon}";
 | 
				
			||||||
 | 
					      format-icons = {
 | 
				
			||||||
 | 
					        notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					        none = " ";
 | 
				
			||||||
 | 
					        dnd-notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					        dnd-none = " ";
 | 
				
			||||||
 | 
					        inhibited-notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					        inhibited-none = " ";
 | 
				
			||||||
 | 
					        dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
 | 
				
			||||||
 | 
					        dnd-inhibited-none = " ";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      return-type = "json";
 | 
				
			||||||
 | 
					      exec-if = "which swaync-client";
 | 
				
			||||||
 | 
					      exec = "swaync-client -swb";
 | 
				
			||||||
 | 
					      on-click = "swaync-client -t -sw";
 | 
				
			||||||
 | 
					      on-click-right = "swaync-client -d -sw";
 | 
				
			||||||
 | 
					      escape = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -149,3 +149,12 @@ window#waybar.hidden {
 | 
				
			|||||||
   margin: 5px 20px;
 | 
					   margin: 5px 20px;
 | 
				
			||||||
   padding: 0px 10px;
 | 
					   padding: 0px 10px;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* SwayNC */ 
 | 
				
			||||||
 | 
					#custom-notification {
 | 
				
			||||||
 | 
					  font-family: "NotoSansMono Nerd Font";
 | 
				
			||||||
 | 
					  background: @green;
 | 
				
			||||||
 | 
					  border-radius: 10px;
 | 
				
			||||||
 | 
					  padding-left: 10px;
 | 
				
			||||||
 | 
					  padding-right: 5px;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										32
									
								
								programs/wm/common/waybar/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								programs/wm/common/waybar/default.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  monitorSetup,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  programs.waybar =
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      package = pkgs.waybar;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    // (
 | 
				
			||||||
 | 
					      if monitorSetup == "single" then
 | 
				
			||||||
 | 
					        import ./single.nix
 | 
				
			||||||
 | 
					      else if monitorSetup == "dual" then
 | 
				
			||||||
 | 
					        import ./dual.nix
 | 
				
			||||||
 | 
					      else if monitorSetup == "side" then
 | 
				
			||||||
 | 
					        import ./side.nix
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        { }
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.file.".config/waybar/cava.sh".source = ./configs/cava.sh;
 | 
				
			||||||
 | 
					  home.file.".config/waybar/mocha.css".source = ./configs/mocha.css;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.file.".config/waybar" = {
 | 
				
			||||||
 | 
					    source = ./configs;
 | 
				
			||||||
 | 
					    # copy the scripts directory recursively
 | 
				
			||||||
 | 
					    recursive = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -18,6 +18,7 @@ in
 | 
				
			|||||||
        modules-center = [
 | 
					        modules-center = [
 | 
				
			||||||
          "hyprland/workspaces"
 | 
					          "hyprland/workspaces"
 | 
				
			||||||
          "niri/workspaces"
 | 
					          "niri/workspaces"
 | 
				
			||||||
 | 
					          "custom/notification"
 | 
				
			||||||
        ];
 | 
					        ];
 | 
				
			||||||
        modules-right = [
 | 
					        modules-right = [
 | 
				
			||||||
          "group/hardware"
 | 
					          "group/hardware"
 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user