1
0
Fork 0

Compare commits

..

78 commits

Author SHA1 Message Date
97072971c1
update packages 2026-04-04 12:59:18 +02:00
ab80a0d257
move atuin from nixpkgs to its flake 2026-03-26 12:04:43 +01:00
251932e6c0
revamp flake 2026-03-09 11:00:40 +01:00
433967847a
wip 2026-02-12 09:02:09 +01:00
546c5170d7
add multiple envs for packages 2026-01-05 15:15:02 +01:00
155bd93b89
update flakes 2025-10-23 11:45:12 +02:00
b91bf446da
update packages 2025-08-15 18:21:23 +02:00
34c3e678eb
update flake 2025-06-26 12:57:36 +02:00
4f5f77eae8
disable snap 2025-03-12 11:31:25 +01:00
ea02714d7f
update flake 2025-01-31 10:37:03 +01:00
6a3d3201c1
add uv and ventoy 2025-01-05 21:24:47 +01:00
05b8342be4
remove aqua 2025-01-01 23:19:30 +01:00
90d6a12a77
add flake 2024-12-29 15:02:11 +01:00
9497d8be02
add resticprofile 2024-12-19 17:24:30 +01:00
9d1574ffef
feat: add nix conf 2024-12-08 17:47:42 +01:00
8c6f6da63f
update aqua.yaml 2024-12-07 14:27:36 +01:00
04adc7a330
update aqua.yaml 2024-11-26 16:16:35 +01:00
3383c1933e
update aqua deps 2024-11-03 14:05:05 +00:00
6a9445cbce
add git-cliff 2024-10-23 11:27:19 +02:00
f503d2dfcb
update aqua.yaml 2024-10-22 09:25:46 +02:00
2bc7a0757e
add more aliases 2024-10-05 12:29:02 +02:00
655856a838
add pulumi 2024-09-30 06:32:19 +00:00
ea8498de21
add kubeconform, kube-score and tflint aqua installs 2024-09-29 14:27:21 +02:00
8d639c7dfa
add kubecolor 2024-09-23 10:05:45 +02:00
f2e29f50b4
rename g_reset and g_undo_reset fish functions to gr and gur 2024-09-17 11:53:51 +02:00
bcb3982564
update arch and debian package list 2024-09-16 09:01:56 +02:00
61f4f76536
add atuin config 2024-09-13 13:06:19 +02:00
9433cc2049
add atuin 2024-09-13 10:28:02 +02:00
c972bafc92
update kubectl, delta and dotter 2024-09-12 17:59:32 +02:00
9bdc06fe0f
add zed curler 2024-09-11 18:28:56 +02:00
66fa751b2a
add ansible curl installers 2024-09-11 14:45:58 +02:00
f908ca73da
deprecate ansible/rust in favor of aqua 2024-09-11 14:00:24 +02:00
b89cc884be
configure aqua 2024-09-11 08:48:15 +02:00
3aeadcaa22
add kubectl and krew to aqua 2024-09-10 16:56:03 +02:00
f32dcf7182
remove kubectl and glow debian packages 2024-09-10 13:45:35 +00:00
b43fcea161
feat: add aqua.ymal 2024-09-10 15:44:35 +02:00
145d3f4670
update sshconfig 2024-09-06 20:15:10 +02:00
1789eb6807
feat: add timewarrior and tmux configs 2024-09-05 07:55:25 +02:00
c8dc68365e
add grug-far nvim plugin 2024-09-03 09:12:05 +00:00
72491bcedf
update s alias tu support xterm-256color 2024-09-03 10:04:15 +02:00
82970a2464
add caelid signing 2024-09-03 08:58:08 +02:00
5ff3b9d314
cleanup useless files 2024-08-27 18:36:07 +02:00
6c59294bbb
migrate astronvim conf to astronvim v4 2024-08-27 18:27:48 +02:00
d497490285
split the ansible agnostic packages installation into cli and gui packages 2024-08-22 10:05:47 +02:00
34ddb9c568
add node packages for arch installs 2024-05-02 18:06:48 +02:00
43c002313d
fix arch and aur packages 2024-04-20 11:01:19 +02:00
98a561fa5a
add stuff, i don't even know anymore man 2024-04-19 13:38:19 +02:00
cd0a564d9a
feat: add ssh allowed_signers 2024-02-20 13:25:20 +01:00
aff4450e61
feat: add ssh git signing config 2024-02-13 16:47:46 +01:00
f3da1e8b3b
add kucetl and charm.sh debian repos 2024-02-13 10:56:58 +01:00
469eb33525
add mpv 2024-02-10 19:40:40 +01:00
d88e2da205
update deps and paths 2024-02-10 02:06:30 +01:00
c365562f8b
update k9smocha 2024-01-04 15:00:41 +01:00
d597b9ee73
add some flatpaks 2024-01-03 21:43:38 +01:00
3388d80fb4
add which-key ideavim plugin 2023-11-27 09:46:40 +01:00
07bb3f0dd6
remove Nobara updates 2023-11-26 11:37:58 +01:00
18b93f65c8
add go path and nvim plugin 2023-11-18 15:07:36 +01:00
7f1e74d274
feat: add flatpaks 2023-11-11 15:13:22 +01:00
f26d34ff58
tune up astronvim 2023-11-07 23:11:15 +01:00
d686961cd7
increase kitty text size and opacity 2023-10-24 08:52:51 +02:00
c115404239
remove dotter cachefile 2023-10-24 08:49:45 +02:00
f64a0d1357
add s alias 2023-10-22 12:39:56 +02:00
fda9ac5296
add kitty 2023-10-21 09:42:30 +02:00
a92d6f0b25
add difftastic 2023-10-20 17:11:20 +02:00
66b7a0ee5f
bunch of stuff 2023-10-07 14:46:31 +02:00
a832a46772
add cheat and topgrade 2023-08-06 16:36:02 +02:00
a64c93a520
add rofies 2023-08-05 16:50:00 +02:00
90179c1037
add rust installation 2023-07-22 12:18:34 +02:00
beec041eb7
add packages.yml 2023-07-21 20:50:29 +02:00
537e9aca83
add krew PATH and gitconfig 2023-07-21 16:47:35 +02:00
2309854898
add ssh config 2023-06-19 14:52:10 +02:00
c28c719196
feat(fish): add rsync->scp alias 2023-05-09 09:08:52 +02:00
999805f16e
feat(fish): migrate some utils to fish functions 2023-04-24 18:22:15 +02:00
5a73a7a9a2
feat(fish/envsource): filter out empty lines and vars that don't comply with the standard VAR=VALUE format 2023-04-24 17:42:43 +02:00
eb6e2dfa39
feat: add halig conf 2023-04-24 14:00:16 +02:00
79d59ca488
chore: remove unused files 2023-04-24 12:49:40 +02:00
f56d076f52
feat: revamp 2023-04-24 12:47:11 +02:00
40c6e1c4b0 wip: add dezzai dotfiles 2023-01-19 16:51:58 +01:00
46 changed files with 17722 additions and 377 deletions

View file

@ -1,14 +1,20 @@
[default.files] [default.files]
fish = "~/.config/fish/" "conf.d/fish" = "~/.config/fish/"
bspwm = "~/.config/bspwm/" "conf.d/utils" = "~/.local/bin/dotutils/"
sxhkd = "~/.config/sxhkd/" "conf.d/ideavim" = "~/.ideavimrc"
rofi = "~/.config/rofi/" 'conf.d/astronvim/plugins' = "~/.config/nvim/lua/plugins/"
dunst = "~/.config/dunst/" 'conf.d/astronvim/community.lua' = "~/.config/nvim/lua/community.lua"
kermit = "~/.config/kermit.conf" "conf.d/vimrc" = "~/.vimrc"
polybar = "~/.config/polybar" "conf.d/halig" = "~/.config/halig"
walls = "~/Pictures/walls" "conf.d/k9smocha.yaml" = "~/.config/k9s/skins/mocha.yaml"
utils = "~/.local/bin/185504a9-utils/" "conf.d/sshconfig" = "~/.ssh/config"
ideavim = "~/.ideavimrc" "conf.d/gitconfig" = "~/.gitconfig"
qute = "~/.config/qutebrowser/config.py" "conf.d/allowed_signers" = "~/.ssh/allowed_signers"
quickmarks = "~/.config/qutebrowser/quickmarks" "conf.d/topgrade.toml" = "~/.config/topgrade.toml"
chaakoo = "~/.config/chaakoo/" "conf.d/kitty" = "~/.config/kitty"
"conf.d/bat" = "~/.config/bat"
"conf.d/mangohud.conf" = "~/.config/MangoHud/MangoHud.conf"
"conf.d/gamemode.ini" = "~/.config/gamemode.ini"
"conf.d/timewarrior.cfg" = "~/.config/timewarrior/timewarrior.cfg"
"conf.d/tmux.conf" = "~/.tmux.conf"
"conf.d/atuin.toml" = "~/.config/atuin/config.toml"

2
.gitignore vendored
View file

@ -1,2 +1,2 @@
.dotter/cache.toml .dotter/cache.toml
.dotter/cache .idea/

3
.gitmodules vendored
View file

@ -1,3 +0,0 @@
[submodule "polybar/polybar-themes"]
path = polybar/polybar-themes
url = https://github.com/kiddae/polybar-themes

10
README.md Normal file
View file

@ -0,0 +1,10 @@
# dots
# limgrave
```shell
sudo nixos-rebuild switch --flake ~/.dotfiles#limgrave --upgrade # first time
dotter # create dotfiles symlinks
nh os switch ~/.dotfiles/ # after
nh home switch ~/.dotfiles # home manager
```

View file

@ -0,0 +1,156 @@
{
"timestamp": 1741288490778,
"settings": [
{
"key": "app.7tv.token",
"type": "string",
"value": "",
"timestamp": 1741288308599
},
{
"key": "chat.alternating_background",
"type": "boolean",
"value": true,
"timestamp": 1741288424188
},
{
"key": "chat.mod_slider",
"type": "boolean",
"value": false,
"timestamp": 1741288436110
},
{
"key": "chat_input.autocomplete.colon",
"type": "boolean",
"value": false,
"timestamp": 1741288252933
},
{
"key": "chat_input.spam.bypass_duplicate",
"type": "boolean",
"value": true,
"timestamp": 1741288456902
},
{
"key": "general.autoclaim.channel_points",
"type": "boolean",
"value": true,
"timestamp": 1741288472534
},
{
"key": "highlights.basic.mention_title_flash",
"type": "boolean",
"value": true,
"timestamp": 1741288252933
},
{
"key": "highlights.custom",
"type": "object",
"value": [],
"timestamp": 1741288309223,
"constructorName": "Map"
},
{
"key": "layout.hide_bits_buttons",
"type": "boolean",
"value": false,
"timestamp": 1741288381985
},
{
"key": "layout.hide_buttons_below_chatbox",
"type": "boolean",
"value": false,
"timestamp": 1741288354831
},
{
"key": "layout.hide_channel_leaderboard",
"type": "boolean",
"value": true,
"timestamp": 1741288350481
},
{
"key": "layout.hide_channel_point_balance_button",
"type": "boolean",
"value": false,
"timestamp": 1741288407850
},
{
"key": "layout.hide_chat_input_box",
"type": "boolean",
"value": false,
"timestamp": 1741288352412
},
{
"key": "layout.hide_community_highlights",
"type": "boolean",
"value": false,
"timestamp": 1741288363132
},
{
"key": "layout.hide_hype_chat_button",
"type": "boolean",
"value": true,
"timestamp": 1741288389842
},
{
"key": "layout.hide_player_controls",
"type": "boolean",
"value": false,
"timestamp": 1741288415121
},
{
"key": "layout.hide_prime_offers",
"type": "boolean",
"value": true,
"timestamp": 1741288399509
},
{
"key": "layout.hide_recommended_channels",
"type": "boolean",
"value": false,
"timestamp": 1741288372081
},
{
"key": "layout.hide_stories",
"type": "boolean",
"value": true,
"timestamp": 1741288374858
},
{
"key": "layout.hide_stream_chat_bar",
"type": "boolean",
"value": false,
"timestamp": 1741288360659
},
{
"key": "layout.hide_subscribe_button",
"type": "boolean",
"value": false,
"timestamp": 1741288402183
},
{
"key": "layout.hide_top_bar_of_stream",
"type": "boolean",
"value": false,
"timestamp": 1741288413755
},
{
"key": "layout.hide_viewers_also_watch",
"type": "boolean",
"value": true,
"timestamp": 1741288369619
},
{
"key": "player.skip_content_restriction",
"type": "boolean",
"value": true,
"timestamp": 1741288337950
},
{
"key": "player.video_stats",
"type": "boolean",
"value": true,
"timestamp": 1741288339291
}
]
}

2
conf.d/allowed_signers Normal file
View file

@ -0,0 +1,2 @@
catalin@roboces.dev namespaces="git" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL++DKyzE0+zM6A4lpjWTNvntQnmEdA6FoOh6jIdsHMT catalin@roboces.dev
catalin@roboces.dev namespaces="git" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBgUKFX3MXfJuGSgbIDX5mAM7HLOa6sMNXfYYn2reAZ/ catalin@caelid

View file

@ -0,0 +1,32 @@
return {
"AstroNvim/astrocommunity",
{ import = "astrocommunity.colorscheme.catppuccin" },
{ import = "astrocommunity.bars-and-lines.smartcolumn-nvim" },
--{ import = "astrocommunity.editing-support.auto-save-nvim" },
--{ import = "astrocommunity.editing-support.nvim-devdocs" },
--{ import = "astrocommunity.diagnostics.lsp_lines-nvim" },
--{ import = "astrocommunity.quickfix.nvim-bqf" },
--{ import = "astrocommunity.code-runner.compiler-nvim" },
--{ import = "astrocommunity.bars-and-lines.vim-illuminate" },
--{ import = "astrocommunity.bars-and-lines.lualine-nvim" },
{ import = "astrocommunity.git.blame-nvim" },
--{ import = "astrocommunity.indent.indent-blankline-nvim" },
--{ import = "astrocommunity.indent.mini-indentscope" },
--{ import = "astrocommunity.lsp.lsp-signature-nvim" },
{ import = "astrocommunity.markdown-and-latex.glow-nvim" },
--{ import = "astrocommunity.pack.ansible" },
{ import = "astrocommunity.pack.bash" },
{ import = "astrocommunity.pack.docker" },
--{ import = "astrocommunity.pack.go" },
--{ import = "astrocommunity.pack.html-css" },
{ import = "astrocommunity.pack.json" },
{ import = "astrocommunity.pack.lua" },
{ import = "astrocommunity.pack.markdown" },
{ import = "astrocommunity.pack.python-ruff" },
{ import = "astrocommunity.pack.terraform" },
{ import = "astrocommunity.pack.toml" },
{ import = "astrocommunity.pack.yaml" },
--{ import = "astrocommunity.scrolling.cinnamon-nvim" },
--{ import = "astrocommunity.split-and-window.minimap-vim" },
{ import = "astrocommunity.workflow.hardtime-nvim" },
}

View file

@ -0,0 +1,40 @@
---@type LazySpec
return {
"AstroNvim/astrocore",
---@type AstroCoreOpts
opts = {
features = {
large_buf = { size = 1024 * 500, lines = 10000 },
autopairs = true,
cmp = true,
diagnostics_mode = 3,
highlighturl = true,
notifications = true,
},
diagnostics = {
virtual_text = true,
underline = true,
},
options = {
opt = {
conceallevel = 2,
relativenumber = true,
list = true,
listchars = { tab = "│→", extends = "", precedes = "", trail = "·", nbsp = "" },
showbreak = "",
wrap = true,
laststatus = 3,
splitkeep = "screen",
},
g = {
--icons_enabled = true,
mapleader = " ",
--autoformat_enabled = true,
cmp_enabled = true,
autopairs_enabled = true,
--diagnostics_enabled = true,
--status_diagnostics_enabled = true,
},
},
},
}

View file

@ -0,0 +1,23 @@
---@type LazySpec
return {
"AstroNvim/astrolsp",
---@type AstroLSPOpts
opts = {
features = {
autoformat = true,
codelens = true,
semantic_tokens = true,
},
formatting = {
format_on_save = {
enabled = true,
},
timeout_ms = 1000, -- default format timeout
},
servers = {
"ruff",
"lua_ls",
"pyright",
},
},
}

View file

@ -0,0 +1,7 @@
return {
"AstroNvim/astroui",
---@type AstroUIOpts
opts = {
colorscheme = "catppuccin",
},
}

View file

@ -0,0 +1,17 @@
return {
"catppuccin",
opts = {
integrations = {
sandwich = false,
noice = true,
mini = true,
leap = true,
markdown = true,
neotest = true,
cmp = true,
overseer = true,
lsp_trouble = true,
rainbow_delimiters = true,
},
},
}

View file

@ -0,0 +1,6 @@
return {
"MagicDuck/grug-far.nvim",
config = function()
require("grug-far").setup({})
end,
}

14
conf.d/atuin.toml Normal file
View file

@ -0,0 +1,14 @@
search_mode = "fuzzy"
enter_accept = false
keymap_mode = "vim-insert"
[sync]
records = true
[daemon]
enabled = true
autostart = true
[ai]
enabled = true

View file

@ -0,0 +1,959 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Catppuccin</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#cdd6f4</string>
<key>background</key>
<string>#1e1e2e</string>
<key>caret</key>
<string>#bac2de</string>
<key>invisibles</key>
<string>#a6adc8</string>
<key>gutterForeground</key>
<string>#9399b2</string>
<key>gutterForegroundHighlight</key>
<string>#a6e3a1</string>
<key>lineHighlight</key>
<string>#585b70</string>
<key>selection</key>
<string>#6c7086</string>
<key>selectionBorder</key>
<string>#1e1e2e</string>
<key>activeGuide</key>
<string>#fab387</string>
<key>findHighlightForeground</key>
<string>#181825</string>
<key>findHighlight</key>
<string>#f9e2af</string>
<key>bracketsForeground</key>
<string>#9399b2</string>
<key>bracketContentsForeground</key>
<string>#9399b2</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Comment</string>
<key>scope</key>
<string>comment</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#6c7086</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String</string>
<key>scope</key>
<string>string</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#a6e3a1</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>String regex</string>
<key>scope</key>
<string>string.regexp</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#fab387</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Number</string>
<key>scope</key>
<string>constant.numeric</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#fab387</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Boolean</string>
<key>scope</key>
<string>constant.language.boolean</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#fab387</string>
<key>fontStyle</key>
<string>bold italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in constant</string>
<key>scope</key>
<string>constant.language</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#b4befe</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Built-in function</string>
<key>scope</key>
<string>support.function.builtin</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#fab387</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>User-defined constant</string>
<key>scope</key>
<string>variable.other.constant</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#fab387</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable</string>
<key>scope</key>
<string>variable</string>
<key>settings</key>
<dict></dict>
</dict>
<dict>
<key>name</key>
<string>Keyword</string>
<key>scope</key>
<string>keyword</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f38ba8</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Conditional/loop</string>
<key>scope</key>
<string>keyword.control.loop, keyword.control.conditional, keyword.control.c++</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#cba6f7</string>
<key>fontStyle</key>
<string>bold</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Return</string>
<key>scope</key>
<string>keyword.control.return, keyword.control.flow.return</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f5c2e7</string>
<key>fontStyle</key>
<string>bold</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Exception</string>
<key>scope</key>
<string>support.type.exception</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#fab387</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Operator</string>
<key>scope</key>
<string>keyword.operator, punctuation.accessor</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#89dceb</string>
<key>fontStyle</key>
<string>bold</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Punctuation separator</string>
<key>scope</key>
<string>punctuation.separator</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#94e2d5</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Punctuation terminator</string>
<key>scope</key>
<string>punctuation.terminator</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#94e2d5</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Punctuation bracket</string>
<key>scope</key>
<string>punctuation.section</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#9399b2</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Include</string>
<key>scope</key>
<string>keyword.control.import.include</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#94e2d5</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage</string>
<key>scope</key>
<string>storage</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f38ba8</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type</string>
<key>scope</key>
<string>storage.type</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f9e2af</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage modifier</string>
<key>scope</key>
<string>storage.modifier</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f38ba8</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type namespace</string>
<key>scope</key>
<string>entity.name.namespace, meta.path</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f5e0dc</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Storage type class</string>
<key>scope</key>
<string>storage.type.class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f5e0dc</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Label</string>
<key>scope</key>
<string>entity.name.label</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#89b4fa</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Keyword class</string>
<key>scope</key>
<string>keyword.declaration.class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f38ba8</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Class name</string>
<key>scope</key>
<string>entity.name.class, meta.toc-list.full-identifier</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#89dceb</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Inherited class</string>
<key>scope</key>
<string>entity.other.inherited-class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#89dceb</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function name</string>
<key>scope</key>
<string>entity.name.function, variable.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#89b4fa</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function macro</string>
<key>scope</key>
<string>entity.name.function.preprocessor</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f38ba8</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Macro directive - ifdef</string>
<key>scope</key>
<string>keyword.control.import</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f38ba8</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Constructor</string>
<key>scope</key>
<string>entity.name.function.constructor, entity.name.function.destructor</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#b4befe</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function argument</string>
<key>scope</key>
<string>variable.parameter.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f5e0dc</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Function declaration</string>
<key>scope</key>
<string>keyword.declaration.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#eba0ac</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library function</string>
<key>scope</key>
<string>support.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#89dceb</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library constant</string>
<key>scope</key>
<string>support.constant</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#89b4fa</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library class/type</string>
<key>scope</key>
<string>support.type, support.class</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#89b4fa</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Library variable</string>
<key>scope</key>
<string>support.other.variable</string>
<key>settings</key>
<dict>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable function</string>
<key>scope</key>
<string>variable.function</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#89b4fa</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable parameter</string>
<key>scope</key>
<string>variable.parameter</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f5e0dc</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable other</string>
<key>scope</key>
<string>variable.other</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#cdd6f4</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable field</string>
<key>scope</key>
<string>variable.other.member</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f5e0dc</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Variable language</string>
<key>scope</key>
<string>variable.language</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#94e2d5</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag name</string>
<key>scope</key>
<string>entity.name.tag</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#fab387</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag attribute</string>
<key>scope</key>
<string>entity.other.attribute-name</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#cba6f7</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Tag delimiter</string>
<key>scope</key>
<string>punctuation.definition.tag</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#eba0ac</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown URL</string>
<key>scope</key>
<string>markup.underline.link.markdown</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f5e0dc</string>
<key>fontStyle</key>
<string>italic underline</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown reference</string>
<key>scope</key>
<string>meta.link.inline.description</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#b4befe</string>
<key>fontStyle</key>
<string>bold</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown literal</string>
<key>scope</key>
<string>comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#94e2d5</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown title</string>
<key>scope</key>
<string>punctuation.definition.heading, entity.name.section</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#89b4fa</string>
<key>fontStyle</key>
<string>bold</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown emphasis</string>
<key>scope</key>
<string>markup.italic</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#eba0ac</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Markdown strong</string>
<key>scope</key>
<string>markup.bold</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#eba0ac</string>
<key>fontStyle</key>
<string>bold</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Escape</string>
<key>scope</key>
<string>constant.character.escape</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f5c2e7</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Bash built-in function</string>
<key>scope</key>
<string>source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f5c2e7</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Bash parameter</string>
<key>scope</key>
<string>variable.language.shell</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f38ba8</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Lua field</string>
<key>scope</key>
<string>source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#b4befe</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Lua constructor</string>
<key>scope</key>
<string>source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f2cdcd</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Java constant</string>
<key>scope</key>
<string>entity.name.constant.java</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#94e2d5</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>CSS property</string>
<key>scope</key>
<string>support.type.property-name.css</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f2cdcd</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>CSS constant</string>
<key>scope</key>
<string>support.constant.property-value.css</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#cdd6f4</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>CSS suffix</string>
<key>scope</key>
<string>constant.numeric.suffix.css, keyword.other.unit.css</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#94e2d5</string>
<key>fontStyle</key>
<string>italic</string>
</dict>
</dict>
<dict>
<key>name</key>
<string>CSS variable property</string>
<key>scope</key>
<string>variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#94e2d5</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>SCSS tag</string>
<key>scope</key>
<string>entity.name.tag.css</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#b4befe</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>SASS variable</string>
<key>scope</key>
<string>variable.other.sass</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#94e2d5</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid</string>
<key>scope</key>
<string>invalid</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#cdd6f4</string>
<key>background</key>
<string>#f38ba8</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Invalid deprecated</string>
<key>scope</key>
<string>invalid.deprecated</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#cdd6f4</string>
<key>background</key>
<string>#cba6f7</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Diff header</string>
<key>scope</key>
<string>meta.diff, meta.diff.header</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#6c7086</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Diff deleted</string>
<key>scope</key>
<string>markup.deleted</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f38ba8</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Diff inserted</string>
<key>scope</key>
<string>markup.inserted</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#a6e3a1</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Diff changed</string>
<key>scope</key>
<string>markup.changed</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f9e2af</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
<dict>
<key>name</key>
<string>Message error</string>
<key>scope</key>
<string>message.error</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#f38ba8</string>
<key>fontStyle</key>
<string></string>
</dict>
</dict>
</array>
<key>uuid</key>
<string>4d0379b5-ef82-467b-b8b8-365889420646</string>
<key>colorSpaceName</key>
<string>sRGB</string>
<key>semanticClass</key>
<string>theme.dark.Catppuccin</string>
<key>author</key>
<string>BrunDerSchwarzmagier</string>
</dict>
</plist>

View file

@ -0,0 +1,22 @@
alias ls 'eza'
alias l 'eza -ah'
alias ll 'eza -alh'
alias g 'git'
alias gl 'git log'
alias gpf 'git push --force-with-lease'
alias copy 'xclip -selection clipboard'
alias cat 'bat --theme Catppuccin-mocha'
alias k 'kubecolor'
alias ku 'kubecolor kustomize'
alias rm 'trash'
alias v 'vim'
alias nv 'nvim'
alias m 'make'
alias future-commit 'git commit --date (echo (date -d +7hours))'
alias scp 'rsync -avz'
alias rs 'rsync'
alias vihosts 'sudo vim /etc/hosts'
alias s 'TERM=xterm-256color ssh'
alias hs 'halig git commit && halig git push'
alias hp 'halig git pull'
alias reboot2uefi 'systemctl reboot --firmware-setup'

View file

@ -0,0 +1,3 @@
if status is-interactive
atuin init fish | source
end

View file

@ -0,0 +1,6 @@
set -gx EDITOR nvim
set -gx BAT_THEME "Catppuccin-frappe"
set -gx DOCKER_BUILDKIT 1
set -gx COMPOSE_DOCKER_CLI_BUILD 1
set -gx AQUA_GLOBAL_CONFIG ~/.config/aquaproj-aqua/aqua.yaml
fish_vi_key_bindings

View file

@ -0,0 +1,184 @@
function cleanpycs
find . -name '.git' -o -name __pycache__ -delete
find . -name '.git' -o -name '*.py[co]' -delete
end
function envsource
if not set -q argv[1]
set argv[1] ".env"
end
echo "Using $argv[1] as input file"
for line in (grep -v '^\s*\(#\|$\)' $argv[1] | grep -E '^[A-Za-z_]+=[^#\n]+')
set item (string split -m 1 '=' $line)
set -gx $item[1] $item[2]
echo "Exported key $item[1]"
end
end
function envunset
if not set -q argv[1]
set argv[1] ".env"
end
echo "Using $argv[1] as input file"
for line in (grep -v '^\s*\(#\|$\)' $argv[1] | grep -E '^[A-Za-z_]+=[^#\n]+')
set item (string split -m 1 '=' $line)
set -e $item[1]
echo "key $item[1] unset"
end
end
function gen-secret
if not set -q argv[1]
set argv[1] 64
end
openssl rand -hex $argv[1]
end
function ffmerge
set input_videos
for arg in $argv
if test (string sub -l 4 $arg) = ".mp4"
set input_videos $input_videos -i $arg
else
set output $arg
end
end
ffmpeg $input_videos -filter_complex (printf "[%s] " $input_videos | sed 's/ -i / concat=n=%d:v=1:a=1 [v] [a]/') -map "[v]" -map "[a]" $output
end
function fish_right_prompt
set -l k8s_color (set_color blue)
set -l k8s_context (kubectl config current-context)
echo -e -n -s $k8s_color "($k8s_context)"
end
function gr
if not set -q argv[1]
set argv[1] 1
end
git reset "HEAD~$argv[1]"
end
function gur
if not set -q argv[1]
set argv[1] 1
end
git reset "HEAD@{$argv[1]}"
end
function nix_upgrade
# Upgrade this system based on hostname matching the flake host.
# Works on both NixOS (nixos-rebuild) and non-NixOS (Home Manager).
# Usage: nix_upgrade [host-override]
set -l flake_path /home/catalin/.dotfiles/nix
# Determine host either from arg or from the machine hostname
if set -q argv[1]
set -l host $argv[1]
else
set -l host (hostname -s)
if test $status -ne 0 -o -z "$host"
set host (hostname)
end
end
if not test -f $flake_path/flake.nix
echo "Error: flake not found at $flake_path/flake.nix"
return 1
end
# Detect if we are on NixOS
set -l is_nixos 0
if test -f /etc/NIXOS
set is_nixos 1
else if type -q nixos-version
set is_nixos 1
end
echo "Updating inputs for flake: $flake_path"
# On non-NixOS this usually doesn't require sudo; on NixOS it might.
if test $is_nixos -eq 1
sudo nix flake update --flake $flake_path
else
nix flake update --flake $flake_path
end
if test $is_nixos -eq 1
# NixOS path: verify host exists under nixosConfigurations (heuristic)
if not grep -Eq "^[[:space:]]*$host[[:space:]]*=[[:space:]]*lib\\.nixosSystem" $flake_path/flake.nix
echo "Error: host '$host' not found in nixosConfigurations in $flake_path/flake.nix."
echo " Pass an explicit host: nix_upgrade <host>"
return 1
end
echo "Rebuilding NixOS for host: $host"
sudo nixos-rebuild switch --flake $flake_path#$host --upgrade
else
# non-NixOS path: try Home Manager via flake's homeConfigurations
if not grep -q "homeConfigurations" $flake_path/flake.nix
echo "Error: no homeConfigurations found in flake; cannot upgrade on non-NixOS."
return 1
end
# Best-effort heuristic that the host exists as a home configuration
if not grep -Eq "^[[:space:]]*$host[[:space:]]*=" $flake_path/flake.nix
echo "Warning: host '$host' not explicitly found; attempting Home Manager switch anyway."
end
echo "Rebuilding Home Manager for host: $host"
if type -q home-manager
home-manager switch --flake $flake_path#$host
else
# Fallback: use nix to run HM
nix run github:nix-community/home-manager -- switch --flake $flake_path#$host
end
end
end
function delete_line
if test (count $argv) -lt 2
echo "Usage: delete_line <file> <line_number> [--backup]"
return 1
end
set file $argv[1]
set line_num $argv[2]
set make_backup false
if contains -- --backup $argv
set make_backup true
end
if not test -f $file
echo "Error: File '$file' does not exist"
return 1
end
if not string match -qr '^\d+$' $line_num
echo "Error: Line number must be a positive integer"
return 1
end
set total_lines (wc -l < $file)
if test $line_num -gt $total_lines
echo "Error: Line $line_num does not exist (file has only $total_lines lines)"
return 1
end
if test $make_backup = true
cp $file $file.bak
echo "Backup created: $file.bak"
end
sed -i "$line_num"d $file
echo "Deleted line $line_num from $file"
end

View file

@ -0,0 +1,191 @@
# Copyright 2016 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# fish completion for kubectl -*- shell-script -*-
function __kubectl_debug
set -l file "$BASH_COMP_DEBUG_FILE"
if test -n "$file"
echo "$argv" >> $file
end
end
function __kubectl_perform_completion
__kubectl_debug "Starting __kubectl_perform_completion"
# Extract all args except the last one
set -l args (commandline -opc)
# Extract the last arg and escape it in case it is a space
set -l lastArg (string escape -- (commandline -ct))
__kubectl_debug "args: $args"
__kubectl_debug "last arg: $lastArg"
# Disable ActiveHelp which is not supported for fish shell
set -l requestComp "KUBECTL_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg"
__kubectl_debug "Calling $requestComp"
set -l results (eval $requestComp 2> /dev/null)
# Some programs may output extra empty lines after the directive.
# Let's ignore them or else it will break completion.
# Ref: https://github.com/spf13/cobra/issues/1279
for line in $results[-1..1]
if test (string trim -- $line) = ""
# Found an empty line, remove it
set results $results[1..-2]
else
# Found non-empty line, we have our proper output
break
end
end
set -l comps $results[1..-2]
set -l directiveLine $results[-1]
# For Fish, when completing a flag with an = (e.g., <program> -n=<TAB>)
# completions must be prefixed with the flag
set -l flagPrefix (string match -r -- '-.*=' "$lastArg")
__kubectl_debug "Comps: $comps"
__kubectl_debug "DirectiveLine: $directiveLine"
__kubectl_debug "flagPrefix: $flagPrefix"
for comp in $comps
printf "%s%s\n" "$flagPrefix" "$comp"
end
printf "%s\n" "$directiveLine"
end
# This function does two things:
# - Obtain the completions and store them in the global __kubectl_comp_results
# - Return false if file completion should be performed
function __kubectl_prepare_completions
__kubectl_debug ""
__kubectl_debug "========= starting completion logic =========="
# Start fresh
set --erase __kubectl_comp_results
set -l results (__kubectl_perform_completion)
__kubectl_debug "Completion results: $results"
if test -z "$results"
__kubectl_debug "No completion, probably due to a failure"
# Might as well do file completion, in case it helps
return 1
end
set -l directive (string sub --start 2 $results[-1])
set --global __kubectl_comp_results $results[1..-2]
__kubectl_debug "Completions are: $__kubectl_comp_results"
__kubectl_debug "Directive is: $directive"
set -l shellCompDirectiveError 1
set -l shellCompDirectiveNoSpace 2
set -l shellCompDirectiveNoFileComp 4
set -l shellCompDirectiveFilterFileExt 8
set -l shellCompDirectiveFilterDirs 16
if test -z "$directive"
set directive 0
end
set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2)
if test $compErr -eq 1
__kubectl_debug "Received error directive: aborting."
# Might as well do file completion, in case it helps
return 1
end
set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2)
set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2)
if test $filefilter -eq 1; or test $dirfilter -eq 1
__kubectl_debug "File extension filtering or directory filtering not supported"
# Do full file completion instead
return 1
end
set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2)
set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2)
__kubectl_debug "nospace: $nospace, nofiles: $nofiles"
# If we want to prevent a space, or if file completion is NOT disabled,
# we need to count the number of valid completions.
# To do so, we will filter on prefix as the completions we have received
# may not already be filtered so as to allow fish to match on different
# criteria than the prefix.
if test $nospace -ne 0; or test $nofiles -eq 0
set -l prefix (commandline -t | string escape --style=regex)
__kubectl_debug "prefix: $prefix"
set -l completions (string match -r -- "^$prefix.*" $__kubectl_comp_results)
set --global __kubectl_comp_results $completions
__kubectl_debug "Filtered completions are: $__kubectl_comp_results"
# Important not to quote the variable for count to work
set -l numComps (count $__kubectl_comp_results)
__kubectl_debug "numComps: $numComps"
if test $numComps -eq 1; and test $nospace -ne 0
# We must first split on \t to get rid of the descriptions to be
# able to check what the actual completion will be.
# We don't need descriptions anyway since there is only a single
# real completion which the shell will expand immediately.
set -l split (string split --max 1 \t $__kubectl_comp_results[1])
# Fish won't add a space if the completion ends with any
# of the following characters: @=/:.,
set -l lastChar (string sub -s -1 -- $split)
if not string match -r -q "[@=/:.,]" -- "$lastChar"
# In other cases, to support the "nospace" directive we trick the shell
# by outputting an extra, longer completion.
__kubectl_debug "Adding second completion to perform nospace directive"
set --global __kubectl_comp_results $split[1] $split[1].
__kubectl_debug "Completions are now: $__kubectl_comp_results"
end
end
if test $numComps -eq 0; and test $nofiles -eq 0
# To be consistent with bash and zsh, we only trigger file
# completion when there are no other completions
__kubectl_debug "Requesting file completion"
return 1
end
end
return 0
end
# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves
# so we can properly delete any completions provided by another script.
# Only do this if the program can be found, or else fish may print some errors; besides,
# the existing completions will only be loaded if the program can be found.
if type -q "kubectl"
# The space after the program name is essential to trigger completion for the program
# and not completion of the program name itself.
# Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish.
complete --do-complete "kubectl " > /dev/null 2>&1
end
# Remove any pre-existing completions for the program since we will be handling all of them.
complete -c kubectl -e
# The call to __kubectl_prepare_completions will setup __kubectl_comp_results
# which provides the program's completion choices.
complete -c kubectl -n '__kubectl_prepare_completions' -f -a '$__kubectl_comp_results'

View file

@ -0,0 +1,9 @@
set -gx PATH ~/.local/bin $PATH
set -gx PATH ~/.local/bin/dotutils/ $PATH
set -gx PATH /usr/local/go/bin $PATH
set -gx PATH ~/.nvim-install/bin $PATH
set -gx PATH $HOME/.krew/bin $PATH
set -gx PATH "$HOME/.cargo/bin" $PATH
set -gx PATH ~/.pulumi/bin $PATH
set -gx PATH ~/.local/share/aquaproj-aqua/bin $PATH
atuin init fish | source

3
conf.d/freetds.conf Normal file
View file

@ -0,0 +1,3 @@
[FreeTDS for SQL Server]
Driver = /usr/lib/libtdsodbc.so
UsageCount = 1

112
conf.d/gamemode.ini Normal file
View file

@ -0,0 +1,112 @@
[general]
; The reaper thread will check every 5 seconds for exited clients, for config file changes, and for the CPU/iGPU power balance
reaper_freq=5
; The desired governor is used when entering GameMode instead of "performance"
desiredgov=performance
; The default governor is used when leaving GameMode instead of restoring the original value
;defaultgov=powersave
; The iGPU desired governor is used when the integrated GPU is under heavy load
igpu_desiredgov=powersave
; Threshold to use to decide when the integrated GPU is under heavy load.
; This is a ratio of iGPU Watts / CPU Watts which is used to determine when the
; integraged GPU is under heavy enough load to justify switching to
; igpu_desiredgov. Set this to -1 to disable all iGPU checking and always
; use desiredgov for games.
igpu_power_threshold=0.3
; GameMode can change the scheduler policy to SCHED_ISO on kernels which support it (currently
; not supported by upstream kernels). Can be set to "auto", "on" or "off". "auto" will enable
; with 4 or more CPU cores. "on" will always enable. Defaults to "off".
softrealtime=off
; GameMode can renice game processes. You can put any value between 0 and 20 here, the value
; will be negated and applied as a nice value (0 means no change). Defaults to 0.
; To use this feature, the user must be added to the gamemode group (and then rebooted):
; sudo usermod -aG gamemode $(whoami)
renice=0
; By default, GameMode adjusts the iopriority of clients to BE/0, you can put any value
; between 0 and 7 here (with 0 being highest priority), or one of the special values
; "off" (to disable) or "reset" (to restore Linux default behavior based on CPU priority),
; currently, only the best-effort class is supported thus you cannot set it here
ioprio=0
; Sets whether gamemode will inhibit the screensaver when active
; Defaults to 1
inhibit_screensaver=1
; Sets whether gamemode will disable split lock mitigation when active
; Defaults to 1
disable_splitlock=1
[filter]
; If "whitelist" entry has a value(s)
; gamemode will reject anything not in the whitelist
;whitelist=RiseOfTheTombRaider
; Gamemode will always reject anything in the blacklist
;blacklist=HalfLife3
; glxgears
[gpu]
; Here Be Dragons!
; Warning: Use these settings at your own risk
; Any damage to hardware incurred due to this feature is your responsibility and yours alone
; It is also highly recommended you try these settings out first manually to find the sweet spots
; Setting this to the keyphrase "accept-responsibility" will allow gamemode to apply GPU optimisations such as overclocks
;apply_gpu_optimisations=0
; The DRM device number on the system (usually 0), ie. the number in /sys/class/drm/card0/
;gpu_device=0
; Nvidia specific settings
; Requires the coolbits extension activated in nvidia-xconfig
; This corresponds to the desired GPUPowerMizerMode
; "Adaptive"=0 "Prefer Maximum Performance"=1 and "Auto"=2
; See NV_CTRL_GPU_POWER_MIZER_MODE and friends in https://github.com/NVIDIA/nvidia-settings/blob/master/src/libXNVCtrl/NVCtrl.h
;nv_powermizer_mode=1
; These will modify the core and mem clocks of the highest perf state in the Nvidia PowerMizer
; They are measured as Mhz offsets from the baseline, 0 will reset values to default, -1 or unset will not modify values
;nv_core_clock_mhz_offset=0
;nv_mem_clock_mhz_offset=0
; AMD specific settings
; Requires a relatively up to date AMDGPU kernel module
; See: https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring
; It is also highly recommended you use lm-sensors (or other available tools) to verify card temperatures
; This corresponds to power_dpm_force_performance_level, "manual" is not supported for now
;amd_performance_level=high
[cpu]
; Parking or Pinning can be enabled with either "yes", "true" or "1" and disabled with "no", "false" or "0".
; Either can also be set to a specific list of cores to park or pin, comma separated list where "-" denotes
; a range. E.g "park_cores=1,8-15" would park cores 1 and 8 to 15.
; The default is uncommented is to disable parking but enable pinning. If either is enabled the code will
; currently only properly autodetect Ryzen 7900x3d, 7950x3d and Intel CPU:s with E- and P-cores.
;park_cores=no
;pin_cores=yes
[supervisor]
; This section controls the new gamemode functions gamemode_request_start_for and gamemode_request_end_for
; The whilelist and blacklist control which supervisor programs are allowed to make the above requests
;supervisor_whitelist=
;supervisor_blacklist=
; In case you want to allow a supervisor to take full control of gamemode, this option can be set
; This will only allow gamemode clients to be registered by using the above functions by a supervisor client
;require_supervisor=0
[custom]
; Custom scripts (executed using the shell) when gamemode starts and ends
;start=notify-send "GameMode started"
; /home/me/bin/stop_foldingathome.sh
;end=notify-send "GameMode ended"
; /home/me/bin/start_foldingathome.sh
; Timeout for scripts (seconds). Scripts will be killed if they do not complete within this time.
;script_timeout=10

32
conf.d/gitconfig Normal file
View file

@ -0,0 +1,32 @@
[user]
name = cătălin
email = catalin@roboces.dev
signingkey = ~/.ssh/id_ed25519.pub
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true
light = false
[merge]
conflictstyle = diff3
[diff]
colorMoved = default
external = difft
[commit]
gpgsign = true
[push]
autoSetupRemote = true
[init]
defaultBranch = main
[gpg]
format = ssh
[gpg "ssh"]
allowedSignersFile = ~/.ssh/allowed_signers

9
conf.d/halig/halig.yml Normal file
View file

@ -0,0 +1,9 @@
---
notebooks_root_path: ~/Documents/Notebooks
identity_paths:
- ~/.ssh/id_ed25519
recipient_paths:
- ~/.ssh/id_ed25519.pub
- https://git.roboces.dev/catalin.keys
- https://github.com/185504a9.keys
- https://gitlab.com/185504a9.keys

13
conf.d/ideavim Normal file
View file

@ -0,0 +1,13 @@
"" Source your .vimrc
"source ~/.vimrc
set clipboard+=unnamed
set scrolloff=5
set incsearch
map Q gq
"map \r <Action>(ReformatCode)
"map <leader>d <Action>(Debug)
"map \b <Action>(ToggleLineBreakpoint)
set which-key
set ideajoin
set relativenumber
set number

158
conf.d/k9smocha.yaml Normal file
View file

@ -0,0 +1,158 @@
99base: &base "#1e1e2e"
blue: &blue "#89b4fa"
crust: &crust "#11111b"
flamingo: &flamingo "#f2cdcd"
green: &green "#a6e3a1"
lavender: &lavender "#b4befe"
mantle: &mantle "#181825"
maroon: &maroon "#eba0ac"
mauve: &mauve "#cba6f7"
overlay0: &overlay0 "#6c7086"
overlay1: &overlay1 "#7f849c"
overlay2: &overlay2 "#9399b2"
peach: &peach "#fab387"
pink: &pink "#f5c2e7"
red: &red "#f38ba8"
rosewater: &rosewater "#f5e0dc"
sapphire: &sapphire "#74c7ec"
sky: &sky "#89dceb"
subtext0: &subtext0 "#a6adc8"
subtext1: &subtext1 "#bac2de"
surface0: &surface0 "#313244"
surface1: &surface1 "#45475a"
surface2: &surface2 "#585b70"
teal: &teal "#94e2d5"
text: &text "#cdd6f4"
yellow: &yellow "#f9e2af"
# Skin...
k9s:
# General K9s styles
body:
fgColor: *text
bgColor: *base
logoColor: *mauve
# Command prompt styles
prompt:
fgColor: *text
bgColor: *mantle
suggestColor: *blue
# ClusterInfoView styles.
info:
fgColor: *peach
sectionColor: *text
# Dialog styles.
dialog:
fgColor: *yellow
bgColor: *overlay2
buttonFgColor: *base
buttonBgColor: *overlay1
buttonFocusFgColor: *base
buttonFocusBgColor: *pink
labelFgColor: *rosewater
fieldFgColor: *text
frame:
# Borders styles.
border:
fgColor: *mauve
focusColor: *lavender
# MenuView attributes and styles
menu:
fgColor: *text
keyColor: *blue
# Used for favorite namespaces
numKeyColor: *maroon
# CrumbView attributes for history navigation.
crumbs:
fgColor: *base
bgColor: *maroon
activeColor: *flamingo
# Resource status and update styles
status:
newColor: *blue
modifyColor: *lavender
addColor: *green
pendingColor: *peach
errorColor: *red
highlightColor: *sky
killColor: *mauve
completedColor: *overlay0
# Border title styles.
title:
fgColor: *teal
bgColor: *base
highlightColor: *pink
counterColor: *yellow
filterColor: *green
views:
# Charts skins...
charts:
bgColor: *base
chartBgColor: *base
dialBgColor: *base
defaultDialColors:
- *green
- *red
defaultChartColors:
- *green
- *red
resourceColors:
cpu:
- *mauve
- *blue
mem:
- *yellow
- *peach
# TableView attributes.
table:
fgColor: *text #Doesn't Work
bgColor: *base
cursorFgColor: *surface0 # Doesn't Work
cursorBgColor: *surface1 # should be rosewater
markColor: *rosewater # Doesn't Work
# Header row styles.
header:
fgColor: *yellow
bgColor: *base
sorterColor: *sky
# Xray view attributes.
xray:
fgColor: *text #Doesn't Work
bgColor: *base
# Need to set this to a dark color since color text can't be changed
# Ideally this would be rosewater
cursorColor: *surface1
cursorTextColor: *base #Doesn't Work
graphicColor: *pink
# YAML info styles.
yaml:
keyColor: *blue
colonColor: *subtext0
valueColor: *text
# Logs styles.
logs:
fgColor: *text
bgColor: *base
indicator:
fgColor: *lavender
bgColor: *base
help:
fgColor: *text
bgColor: *base
sectionColor: *green
keyColor: *blue
numKeyColor: *maroon

89
conf.d/kitty/kitty.conf Normal file
View file

@ -0,0 +1,89 @@
# theme
## The basic colors
foreground #C6D0F5
background #303446
selection_foreground #303446
selection_background #F2D5CF
## Cursor colors
cursor #F2D5CF
cursor_text_color #303446
## URL underline color when hovering with mouse
url_color #F2D5CF
## Kitty window border colors
active_border_color #BABBF1
inactive_border_color #737994
bell_border_color #E5C890
#### OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
## Tab bar colors
active_tab_foreground #232634
active_tab_background #CA9EE6
inactive_tab_foreground #C6D0F5
inactive_tab_background #292C3C
tab_bar_background #232634
## Colors for marks (marked text in the terminal)
mark1_foreground #303446
mark1_background #BABBF1
mark2_foreground #303446
mark2_background #CA9EE6
mark3_foreground #303446
mark3_background #85C1DC
## The 16 terminal colors
### black
color0 #51576D
color8 #626880
### red
color1 #E78284
color9 #E78284
### green
color2 #A6D189
color10 #A6D189
### yellow
color3 #E5C890
color11 #E5C890
### blue
color4 #8CAAEE
color12 #8CAAEE
### magenta
color5 #F4B8E4
color13 #F4B8E4
### cyan
color6 #81C8BE
color14 #81C8BE
### white
color7 #B5BFE2
color15 #A5ADCE
### misc
clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask
allow_hyperlinks yes
shell_integration enabled
wayland_titlebar_color system
background_opacity 0.8
font_size 17.0
font_family inconsolata
tab_bar_style powerline
# maps
map ctrl+c copy_or_interrupt
map ctrl+shift+enter new_tab
map ctrl+shift+n new_window
map ctrl+shift+backspace close_tab

1
conf.d/mangohud.conf Normal file
View file

@ -0,0 +1 @@
preset=2

File diff suppressed because it is too large Load diff

52
conf.d/resticprofile.toml Normal file
View file

@ -0,0 +1,52 @@
version = "1"
[profile]
status-file = "/home/catalin/.var/log/resticprofile/resticprofile.json"
[global]
prevent-sleep = true
[default]
repository = 'local:/home/catalin/Nextcloud/backups/limgrave/restic/'
password-file = '/home/catalin/.backups.password'
[default.backup]
verbose = true
source = [
"/home/catalin/.aws",
"/home/catalin/.bash*",
"/home/catalin/dev",
"/home/catalin/Documents",
"/home/catalin/Documents",
"/home/catalin/Games",
"/home/catalin/Pictures",
"/home/catalin/Videos",
"/home/catalin/.gnupg",
"/home/catalin/.dotfiles",
"/home/catalin/.pki",
"/home/catalin/.renpy",
"/home/catalin/.ssh",
"/home/catalin/.sigstore",
"/home/catalin/.tmux",
"/home/catalin/.local/share/atuin",
"/home/catalin/.local/share/fish",
"/home/catalin/.local/share/jellyfinmediaplayer",
"/home/catalin/.local/share/TelegramDesktop",
"/home/catalin/.local/share/StardewValley",
"/home/catalin/.local/share/timewarrior",
"/home/catalin/.local/share/z",
"/home/catalin/.local/share/Steam/steamapps/compatdata/374320/pfx/drive_c/users/steamuser/AppData/Roaming/DarkSoulsIII",
"/home/catalin/.local/share/Steam/steamapps/compatdata/374320/pfx/drive_c/users/steamuser/Application Data BACKUP/DarkSoulsIII"
]
schedule = "daily"
[default.forget]
verbose = true
schedule = "02:00"
keep-daily = "3"
keep-last = "3"
keep-monthly = "2"
keep-weekly = "2"
keep-yearly = "4"
prune = true

132
conf.d/sshconfig Normal file
View file

@ -0,0 +1,132 @@
Include conf.d/*
Host fuku.ramiel
HostName ramiel.fuku
User catalin
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
Host fuku.containers.root
HostName containers.fuku
User root
IdentityFile ~/.ssh/id_ed25519
Host fuku.containers
HostName containers.fuku
User bullseye
IdentityFile ~/.ssh/id_ed25519
Host fuku.sandalphon
HostName sandalphon.fuku
User root
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
Host fuku.zeruel
HostName zeruel.fuku
User catalin
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
Host fuku.ireul
HostName ireul.fuku
User catalin
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
Host fuku.dns
HostName dns.fuku
User root
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
Host fuku.cloud
HostName cloud.fuku
User root
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
Host fuku.pg9
HostName pg9.fuku
IdentityFile ~/.ssh/id_ed25519
User root
Host fuku.pg15
HostName pg15.fuku
IdentityFile ~/.ssh/id_ed25519
User root
Host fuku.smough
HostName smough.fuku
IdentityFile ~/.ssh/id_ed25519
User root
Host fuku.gitea
HostName gitea.fuku
IdentityFile ~/.ssh/id_ed25519
User root
IdentitiesOnly yes
SetEnv TERM=linux
Host fuku.nginx
HostName nginx.fuku
IdentityFile ~/.ssh/id_ed25519
User root
Host fuku.mail
HostName mail.fukurokuju.dev
IdentityFile ~/.ssh/id_ed25519
User root
Host fuku.master1
HostName master1.ramiel.fuku
IdentityFile ~/.ssh/id_ed25519
User ci
Host fuku.master2
HostName master2.ramiel.fuku
IdentityFile ~/.ssh/id_ed25519
User ci
Host fuku.master3
HostName master3.ramiel.fuku
IdentityFile ~/.ssh/id_ed25519
User ci
Host fuku.agent1
HostName agent1.zeruel.fuku
IdentityFile ~/.ssh/id_ed25519
User ci
Host fuku.qdevice
HostName qdevice.fuku
User root
Host fuku.fz
HostName fz.fuku
User catalin
Host pico
HostName pico.sh
User catalin
IdentityFile ~/.ssh/id_ed25519
Host fuku.dd02
HostName dd02.fuku
User root
IdentityFile ~/.ssh/id_ed25519
Host fuku.dd01
HostName dd01.fuku
User root
IdentityFile ~/.ssh/id_ed25519
# --- START CODER JETBRAINS TOOLBOX mbcode.i.mercedes-benz.com
Host coder-jetbrains-toolbox-mbcode.i.mercedes-benz.com--*
ProxyCommand /home/catalin/.local/share/coder-toolbox/mbcode.i.mercedes-benz.com/coder-linux-amd64 --global-config /home/catalin/.local/share/coder-toolbox/mbcode.i.mercedes-benz.com/config --url https://mbcode.i.mercedes-benz.com/ ssh --stdio --network-info-dir /home/catalin/.local/share/coder-toolbox/ssh-network-metrics --usage-app=jetbrains --ssh-host-prefix coder-jetbrains-toolbox-mbcode.i.mercedes-benz.com-- %h
ConnectTimeout 0
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
LogLevel ERROR
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
# --- END CODER JETBRAINS TOOLBOX mbcode.i.mercedes-benz.com

6
conf.d/timewarrior.cfg Normal file
View file

@ -0,0 +1,6 @@
tags.Work.description = Work
tags.Homelab.description = Homelab dev\/ops
tags.Personal.description = Personal dev
tags.Dotfiles.description = Dotfiles dev
tags.Halig.description = halig dev

8
conf.d/tmux.conf Normal file
View file

@ -0,0 +1,8 @@
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'catppuccin/tmux#latest'
set -g @plugin 'tmux-plugins/tpm'
set -g @catppuccin_flavor 'mocha'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

18
conf.d/topgrade.toml Normal file
View file

@ -0,0 +1,18 @@
[misc]
assume_yes = true
ignore_failures = ["helm"]
disable = ["containers"]
pre_sudo = true
run_in_tmux = true
display_time = true
cleanup = true
no_self_update = true
[firmware]
upgrade = true
[flatpak]
use_sudo = true
[linux]
nix_arguments = "--flake /home/catalin/.dotfiles/nix/"

27
conf.d/utils/gs.sh Executable file
View file

@ -0,0 +1,27 @@
#!/usr/bin/env bash
set -xeuo pipefail
gamescopeArgs=(
--adaptive-sync # VRR support
--hdr-enabled
--mangoapp # performance overlay
--rt
--steam
)
steamArgs=(
-pipewire-dmabuf
-tenfoot
)
mangoConfig=(
cpu_temp
gpu_temp
ram
vram
)
mangoVars=(
MANGOHUD=1
MANGOHUD_CONFIG="$(IFS=,; echo "${mangoConfig[*]}")"
)
export "${mangoVars[@]}"
exec gamescope "${gamescopeArgs[@]}" -- steam "${steamArgs[@]}"

16
conf.d/utils/patch-eldenring.sh Executable file
View file

@ -0,0 +1,16 @@
#!/usr/bin/env bash
# https://old.reddit.com/r/linux_gaming/comments/td14yg/elden_ring_wont_launch_protonlinux/
# Move $ELDEN_RING_DIR/elden_ring.exe to $ELDEN_RING_DIR/start_protected_game.exe
ELDEN_RING_DIR="$HOME/.steam/steam/steamapps/common/ELDEN RING/Game"
set -euo pipefail
if [ ! -f "$ELDEN_RING_DIR/eldenring.exe" ]; then
echo "Already patched at $ELDEN_RING_DIR"
exit 0
fi
mv "$ELDEN_RING_DIR/start_protected_game.exe" "$ELDEN_RING_DIR/start_protected_game.exe.bak"
mv "$ELDEN_RING_DIR/eldenring.exe" "$ELDEN_RING_DIR/start_protected_game.exe"

30
conf.d/vimrc Normal file
View file

@ -0,0 +1,30 @@
filetype on
filetype plugin on
filetype indent on
syntax on
set nocompatible
set number
set cursorline
set cursorcolumn
set shiftwidth=4
set tabstop=4
set expandtab
set nobackup
set scrolloff=10
set nowrap
set incsearch
set ignorecase
set smartcase
set clipboard=unnamedplus
set showcmd
set showmode
set showmatch
set hlsearch
set history=1000
set wildmenu
set wildmode=list:longest
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx
augroup filetype_vim
autocmd!
autocmd FileType vim setlocal foldmethod=marker
augroup END

244
flake.lock generated Normal file
View file

@ -0,0 +1,244 @@
{
"nodes": {
"atuin": {
"inputs": {
"fenix": "fenix",
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1773709057,
"narHash": "sha256-hLt6CDHEPV8BVpOADVn4bLNcBz89eC2jKtIexHG0yAY=",
"owner": "atuinsh",
"repo": "atuin",
"rev": "e737ba5b9a149eaec706418bc560e8ba7ea8c81b",
"type": "github"
},
"original": {
"owner": "atuinsh",
"ref": "v18.13.3",
"repo": "atuin",
"type": "github"
}
},
"fenix": {
"inputs": {
"nixpkgs": [
"atuin",
"nixpkgs"
],
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1758609765,
"narHash": "sha256-VIYu7R9Yc/CItjmzLSm21Lr9DgpEsKL5H+JUu8KDTn4=",
"owner": "nix-community",
"repo": "fenix",
"rev": "05545a7f3cd5cd5628b195520758e56e6734b90a",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"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"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1775077333,
"narHash": "sha256-OXcxobt7lBkh1B8AjwreU+24myhtKpqeLfAeIyNLFY8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "49ca96b2714c5931e17401eff87f3edd42d2b0f2",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager",
"type": "github"
}
},
"nix-flatpak": {
"locked": {
"lastModified": 1767983141,
"narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "440818969ac2cbd77bfe025e884d0aa528991374",
"type": "github"
},
"original": {
"owner": "gmodena",
"ref": "v0.7.0",
"repo": "nix-flatpak",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1758446476,
"narHash": "sha256-5rdAi7CTvM/kSs6fHe1bREIva5W3TbImsto+dxG4mBo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a1f79a1770d05af18111fbbe2a3ab2c42c0f6cd0",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1775002709,
"narHash": "sha256-d3Yx83vSrN+2z/loBh4mJpyRqr9aAJqlke4TkpFmRJA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bcd464ccd2a1a7cd09aa2f8d4ffba83b761b1d0e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1760524057,
"narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"opencode": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1770777255,
"narHash": "sha256-1mKK8D8Jy3AS+4A22YlMsoZHlK/bo2+ULAmYIvXnIMk=",
"owner": "GutMutCode",
"repo": "opencode-nix",
"rev": "687e34c3c406de915c2eb8dc87f964c0f2fa685d",
"type": "github"
},
"original": {
"owner": "GutMutCode",
"repo": "opencode-nix",
"type": "github"
}
},
"root": {
"inputs": {
"atuin": "atuin",
"home-manager": "home-manager",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_2",
"opencode": "opencode",
"systems": "systems_2"
}
},
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1758556272,
"narHash": "sha256-9amq6LAd0CFF3dLrJUItPiG64MQOG4QPrvjbjpa6NFc=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "d05355db16dc526bb16bd84769ea840668d7015e",
"type": "github"
},
"original": {
"owner": "rust-lang",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

59
flake.nix Normal file
View file

@ -0,0 +1,59 @@
{
description = "NixOS flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
systems.url = "github:nix-systems/default-linux";
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.7.0";
opencode.url = "github:GutMutCode/opencode-nix/";
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
atuin.url = "github:atuinsh/atuin/v18.13.3";
};
outputs = { self, nixpkgs, nix-flatpak, systems, home-manager, opencode, ... } @ inputs: let
inherit (self) outputs;
lib = nixpkgs.lib // home-manager.lib;
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-tree;
forEachSystem = f: lib.genAttrs (import systems) (system: f pkgsFor.${system});
pkgsFor = lib.genAttrs (import systems) (
system:
import nixpkgs {
inherit system;
config.allowUnfree = true;
overlays = [
inputs.atuin.overlays.default
];
}
);
in {
inherit lib;
nixosConfigurations = {
limgrave = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [
nix-flatpak.nixosModules.nix-flatpak
./hosts/limgrave/nixos
({ ... }: {
nixpkgs.overlays = [ inputs.atuin.overlays.default opencode.overlays.default ];
})
];
};
};
homeConfigurations = {
"catalin@limgrave" = home-manager.lib.homeManagerConfiguration {
pkgs = pkgsFor.x86_64-linux;
extraSpecialArgs = {inherit inputs;};
modules = [
./hosts/limgrave/home/home.nix
];
};
};
};
}

View file

@ -0,0 +1,63 @@
{
inputs,
lib,
config,
pkgs,
...
}: {
home = {
username = "catalin";
homeDirectory = "/home/catalin";
shell.enableFishIntegration = true;
packages = with pkgs; [
gnomeExtensions.user-themes
gnomeExtensions.caffeine
gnomeExtensions.colosseum
gnomeExtensions.dash-to-dock
gnomeExtensions.clipboard-indicator
gnomeExtensions.emoji-copy
gnomeExtensions.gsconnect
gnomeExtensions.bluetooth-battery-meter
gnome-tweaks
catppuccin-gtk
catppuccin-cursors
catppuccin-papirus-folders
catppuccin-grub
opencode
];
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = with pkgs.gnomeExtensions; [
gsconnect.extensionUuid
user-themes.extensionUuid
caffeine.extensionUuid
colosseum.extensionUuid
dash-to-dock.extensionUuid
clipboard-indicator.extensionUuid
emoji-copy.extensionUuid
bluetooth-battery-meter.extensionUuid
];
};
};
};
programs.gnome-shell = {
enable = true;
extensions = [{ package = pkgs.gnomeExtensions.gsconnect; }];
};
programs.home-manager.enable = true;
programs.git.enable = true;
systemd.user.startServices = "sd-switch";
programs = {
fish.enable = true;
};
home.stateVersion = "25.11";
}

View file

@ -0,0 +1,151 @@
{ config, pkgs, flatpaks, lib, ... }:
{
imports =
[
./hardware-configuration.nix
];
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
kernelPackages = pkgs.linuxPackages_latest;
initrd.luks.devices."luks-7565ba12-2da3-4933-adec-8d62e81afe52".device = "/dev/disk/by-uuid/7565ba12-2da3-4933-adec-8d62e81afe52";
};
nix = {
settings.experimental-features = [ "nix-command" "flakes" ];
settings.trusted-users = [ "root" "catalin" ];
};
networking = {
hostName = "limgrave";
networkmanager.enable = true;
};
services = {
xserver.enable = true;
desktopManager.gnome.enable = true;
displayManager.gdm.enable = true;
xserver.xkb = {
layout = "us";
variant = "";
};
printing.enable = true;
pulseaudio.enable = false;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
udev.packages = with pkgs; [ gnome-settings-daemon ];
sysprof.enable = true;
flatpak = {
enable = true;
packages = import ./flatpaks.nix;
overrides = {
"org.signal.Signal" = {
Environment = {
"SIGNAL_PASSWORD_STORE" = "gnome-libsecret org.signal.Signal";
};
};
};
};
};
programs = {
fish.enable = true;
appimage.enable = true;
appimage.binfmt = true;
dconf.enable = true;
gamescope = {
enable = true;
capSysNice = true;
};
steam = {
enable = true;
gamescopeSession.enable = true;
remotePlay.openFirewall = true;
package = pkgs.steam.override {
extraLibraries = p: with p; [ (lib.getLib networkmanager) ];
};
};
firefox.enable = true;
nix-ld.enable = true;
nh = {
enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 4d --keep 3";
flake = "/home/.dotfiles";
};
};
time.timeZone = "Europe/Madrid";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "es_ES.UTF-8";
LC_IDENTIFICATION = "es_ES.UTF-8";
LC_MEASUREMENT = "es_ES.UTF-8";
LC_MONETARY = "es_ES.UTF-8";
LC_NAME = "es_ES.UTF-8";
LC_NUMERIC = "es_ES.UTF-8";
LC_PAPER = "es_ES.UTF-8";
LC_TELEPHONE = "es_ES.UTF-8";
LC_TIME = "es_ES.UTF-8";
};
users = {
users.catalin = {
isNormalUser = true;
description = "catalin";
extraGroups = [ "networkmanager" "wheel" "docker" "nas"];
shell = pkgs.fish;
packages = with pkgs; [
flatpak
];
};
groups.nas.gid = 568;
};
security.rtkit.enable = true;
hardware = {
graphics = {
enable = true;
enable32Bit = true;
};
};
xdg.portal = {
enable = true;
config = {
common = {
default = [
"gtk"
];
};
};
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
];
};
virtualisation.docker.enable = true;
nixpkgs.config.allowUnfree = true;
environment = {
sessionVariables.NIXOS_OZONE_WL = "1";
systemPackages = import ./packages.nix pkgs;
loginShellInit = ''
[[ "$(tty)" = "/dev/tty1" ]] && ~/.dotfiles/conf.d/utils/gs.sh
'';
};
system.stateVersion = "25.11";
}

View file

@ -0,0 +1,21 @@
[
"com.microsoft.Edge"
"dev.vencord.Vesktop"
"chat.revolt.RevoltDesktop"
"io.github.hkdb.Aerion"
"io.github.mpobaschnig.Vaults"
"com.bitwarden.desktop"
"com.google.Chrome"
"org.jellyfin.JellyfinDesktop"
"net.lutris.Lutris"
"com.stremio.Stremio"
"org.musicbrainz.Picard"
"org.gimp.GIMP"
"org.qbittorrent.qBittorrent"
"com.tutanota.Tutanota"
"com.usebruno.Bruno"
"com.obsproject.Studio"
"org.kde.kdenlive"
"com.vysp3r.ProtonPlus"
"com.github.IsmaelMartinez.teams_for_linux"
]

View file

@ -0,0 +1,60 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
boot.supportedFilesystems = [ "nfs" ];
fileSystems."/" =
{ device = "/dev/mapper/luks-0e11cc3f-cf15-42a3-8356-12780ac991f6";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-0e11cc3f-cf15-42a3-8356-12780ac991f6".device = "/dev/disk/by-uuid/0e11cc3f-cf15-42a3-8356-12780ac991f6";
fileSystems."/mnt/zeruel/nas1" =
{ device = "zeruel.fuku:/mnt/pool1/nas1/";
fsType = "nfs";
options = [ "x-systemd.automount" ];
};
fileSystems."/mnt/zeruel/vods" =
{ device = "zeruel.fuku:/mnt/vods";
fsType = "nfs";
options = [ "x-systemd.automount" ];
};
fileSystems."/mnt/windoze" =
{ device = "/dev/disk/by-uuid/46B01460B01458AF";
fsType = "ntfs-3g";
options = [ "rw" "uid=1000" "x-gvfs-show"];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/0362-9D53";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/mnt/windoze2" =
{ device = "/dev/disk/by-uuid/6084BE5384BE2B82";
fsType = "ntfs-3g";
options = [ "rw" "uid=1000" "x-gvfs-show"];
};
swapDevices =
[ { device = "/dev/mapper/luks-7565ba12-2da3-4933-adec-8d62e81afe52"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,84 @@
pkgs: with pkgs; [
bat
git
neovim
jetbrains-toolbox
coder
kitty
steam
steam-run
mpv
gnumake
kubernetes-helm
opentofu
kubeseal
openssl
xclip
resticprofile
gnupg
awscli2
kor
exiftool
gnome-themes-extra
hmcl
vlc
unrar-wrapper
atkinson-hyperlegible
libreoffice-qt
hunspell
hunspellDicts.es_ES
hunspellDicts.en_US
sqlite-interactive
ffmpeg
lrcget
yq
p7zip
ansible
k3sup
gamemode
lm_sensors
appimage-run
xcolor
samrewritten
protontricks
nmap
terragrunt
adwaita-icon-theme
ayugram-desktop
restic
pre-commit
cargo
inconsolata
k9s
kubectl
dotter
kubecolor
trash-cli
gnomeExtensions.appindicator
bruno
devenv
vim
direnv
marble-shell-theme
colloid-gtk-theme
colloid-icon-theme
sysprof
steam-run
streamlink
twitch-chat-downloader
jq
hmcl
tmux
atuin
tor
tor-browser
remmina
yt-dlp
mangohud
difftastic
libheif
ffmpegthumbnailer
signal-desktop
tflint
kubeconform
]

View file

@ -1,327 +0,0 @@
{ config, pkgs, ... }:
let
home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/master.tar.gz";
in
let
unstableTarball =
fetchTarball
https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz;
in
{
imports =
[
./hardware-configuration.nix
(import "${home-manager}/nixos")
];
# Bootloader.
boot = {
loader = {
grub = {
enable = true;
device = "/dev/sda";
useOSProber = true;
enableCryptodisk=true;
};
};
initrd = {
kernelModules = [ "amdgpu" ];
luks.devices."luks-1e776713-4d94-401d-b9bf-60e70f1a8b3e".keyFile = "/crypto_keyfile.bin";
# Setup keyfile
secrets = {
"/crypto_keyfile.bin" = null;
};
};
};
networking.hostName = "jupiter"; # Define your hostname.
networking.networkmanager.enable = true;
time.timeZone = "Europe/Madrid";
i18n.defaultLocale = "en_US.utf8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "es_US.utf8";
LC_IDENTIFICATION = "es_ES.utf8";
LC_MEASUREMENT = "es_ES.utf8";
LC_MONETARY = "es_ES.utf8";
LC_NAME = "es_ES.utf8";
LC_NUMERIC = "es_ES.utf8";
LC_PAPER = "es_ES.utf8";
LC_TELEPHONE = "es_ES.utf8";
LC_TIME = "es_ES.utf8";
};
sound.enable = true;
hardware = {
pulseaudio.enable = false;
opengl = {
driSupport32Bit = true;
driSupport = true;
extraPackages = with pkgs; [
amdvlk
];
extraPackages32 = with pkgs; [
driversi686Linux.amdvlk
];
};
};
security.rtkit.enable = true;
users = {
mutableUsers = false;
users.europa = {
uid = 1000;
shell = pkgs.fish;
hashedPassword = "$6$QV9sH1LG6jxHdly3$g5rM6cH1HHKHaXHOxNONFPMRW7ZFJCuGgI20KzA/OYiZbc.0JbIsWiYB4vDubIZXSF8od6EBKQoq9wwCeKNzR0";
isNormalUser = true;
description = "europa";
extraGroups = [ "networkmanager" "wheel" ];
};
};
home-manager.users.europa = {
home.packages = with pkgs; [
lutris
rofi-rbw
rofi
bspwm
kermit-terminal
steam-tui
gnome3.adwaita-icon-theme
];
programs = {
git = {
enable = true;
aliases = {
c = "commit";
ch = "checkout";
d = "diff";
r = "rebase";
s = "status";
st = "stash";
sw = "switch";
};
delta.enable = true;
userEmail = "catalin@roboces.dev";
userName = "185504a9";
signing = {
key = null;
signByDefault = true;
};
};
ssh = {
enable = true;
extraConfig = "
Host fuku.lilith
HostName lilith.fuku
User catalin
IdentityFile ~/.ssh/id_ed25519_robo
IdentitiesOnly yes
Host fuku.ramiel
HostName ramiel.fuku
User catalin
IdentityFile ~/.ssh/id_ed25519_robo
IdentitiesOnly yes
Host ceco.mars
HostName 192.168.2.130
User catalin
IdentityFile ~/.ssh/id_ed25519_robo
IdentitiesOnly yes
Host fuku.iramiel
HostName ramiel.fukurokuju.dev
User catalin
Port 23209
IdentityFile ~/.ssh/id_ed25519_robo
IdentitiesOnly yes
Host fuku.ililith
HostName ramiel.fukurokuju.dev
User catalin
Port 22209
IdentityFile ~/.ssh/id_ed25519_robo
IdentitiesOnly yes
Host fuku.containers
HostName containers.fuku
User bullseye
IdentityFile ~/.ssh/id_ed25519_robo
Host fuku.sandalphon
HostName sandalphon.fuku
User pi
IdentityFile ~/.ssh/id_ed25519_robo
IdentitiesOnly yes
Host fuku.zeruel
HostName zeruel.fuku
User pi
IdentityFile ~/.ssh/id_ed25519_robo IdentitiesOnly yes
Host fuku.dns
HostName dns.fuku
User root
IdentityFile ~/.ssh/id_ed25519_robo
IdentitiesOnly yes
Host fuku.cloud
HostName cloud.fuku
User root
IdentityFile ~/.ssh/id_ed25519_robo
IdentitiesOnly yes
Host fuku.postgres
HostName postgres.fuku
User root
Host fuku.postgres13
HostName postgres13.fuku
IdentityFile ~/.ssh/id_ed25519_robo
IdentitiesOnly yes
User root
Host fuku.smough
HostName smough.fuku
User root
Host fuku.gitea
HostName gitea.fuku
User root
Host fuku.nginx
HostName nginx.fuku
User root
Host fuku.redis
HostName redis.fuku
User root
Host fuku.mail
HostName mail.fukurokuju.dev
User root
Host gitlab.com
HostName gitlab.com
IdentityFile ~/.ssh/id_ed25519_ceco
IdentitiesOnly yes
Host gitlab.gitops
HostName gitlab.com
User git
AddKeysToAgent yes
IdentitiesOnly yes
IdentityFile ~/.ssh/id_ed25519.pub
";
};
fish = {
enable = true;
plugins = [{
name = "z";
src = pkgs.fetchFromGitHub {
owner = "jethrokuan";
repo = "z";
rev = "85f863f20f24faf675827fb00f3a4e15c7838d76";
sha256 = "sha256-+FUBM7CodtZrYKqU542fQD+ZDGrd2438trKM0tIESs0=";
};
}];
};
};
};
nixpkgs = {
overlays = [
(import (builtins.fetchTarball "https://github.com/oxalica/rust-overlay/archive/master.tar.gz"))
(self: super: {
neovim = super.neovim.override {
viAlias = true;
vimAlias = true;
};
})
];
config = {
allowUnfree = true;
packageOverrides = pkgs: {
unstable = import unstableTarball {
config = config.nixpkgs.config;
};
};
};
};
environment = {
variables = {
EDITOR = "nvim";
};
systemPackages = with pkgs; [
yank
gcc
git
fd
procs
tealdeer
ripgrep
bottom
du-dust
hyperfine
bandwhich
delta
gnumake
cargo
rustc
neovim
wget
curl
firefox
tmux
];
};
programs = {
neovim = {
enable = true;
viAlias = true;
};
fish.enable = true;
};
services = {
printing.enable = true;
flatpak.enable = true;
xserver = {
enable = true;
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
layout = "us";
xkbVariant = "";
windowManager.bspwm.enable = true;
videoDrivers = [ "amdgpu" ];
};
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
openssh = {
enable = true;
passwordAuthentication = true;
permitRootLogin = "no";
};
};
system.stateVersion = "22.05";
}

View file

@ -1,33 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "ehci_pci" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/bc2bc233-2c0b-4649-8cc1-c5853c1ce2e9";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-1e776713-4d94-401d-b9bf-60e70f1a8b3e".device = "/dev/disk/by-uuid/1e776713-4d94-401d-b9bf-60e70f1a8b3e";
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.ens3.useDHCP = lib.mkDefault true;
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}