diff --git a/.sops.yaml b/.sops.yaml
new file mode 100755
index 0000000..ce182a3
--- /dev/null
+++ b/.sops.yaml
@@ -0,0 +1,9 @@
+keys:
+ - &dev age1jqwgu73py5m6zsql6mntqlv7g54pfykgpn8d5emxwezyuf59xqhqvfxtej
+ - &wireframe age1ct3sesrp4e8jv982hauzw9slzkp99gyshcht9ughmfm0k9ze4pps5m3tt8
+creation_rules:
+ - path_regex: secrets/secrets.yaml$
+ key_groups:
+ - age:
+ - *dev
+ - *wireframe
diff --git a/home/dotfiles/alphacoder-1350453.png b/files/alphacoder-1350453.png
old mode 100644
new mode 100755
similarity index 100%
rename from home/dotfiles/alphacoder-1350453.png
rename to files/alphacoder-1350453.png
diff --git a/files/ghostty-config b/files/ghostty-config
new file mode 100755
index 0000000..68303ce
--- /dev/null
+++ b/files/ghostty-config
@@ -0,0 +1,22 @@
+theme = Tomorrow Night
+font-family = Null Mono
+font-feature = dlig
+font-feature = calt
+font-size = 12
+
+cursor-style = bar
+cursor-style-blink = false
+
+confirm-close-surface = false
+mouse-hide-while-typing = true
+
+window-padding-x = 10
+window-padding-y = 10
+
+background-blur-radius = 20
+background-opacity = 1
+
+keybind = ctrl+shift+t=new_tab
+keybind = ctrl+shift+n=new_window
+keybind = ctrl+shift+r=reload_config
+keybind = ctrl+shift+space=toggle_quick_terminal
diff --git a/files/ghostty-oldworld b/files/ghostty-oldworld
new file mode 100755
index 0000000..4e9e280
--- /dev/null
+++ b/files/ghostty-oldworld
@@ -0,0 +1,21 @@
+palette = 0=#27272a
+palette = 1=#ea83a5
+palette = 2=#90b99f
+palette = 3=#e6b99d
+palette = 4=#9ca2cf
+palette = 5=#aca1cf
+palette = 6=#85b5ba
+palette = 7=#c9c7cd
+palette = 8=#353539
+palette = 9=#ED96B3
+palette = 10=#a7c8b3
+palette = 11=#eac5ae
+palette = 12=#acb1d7
+palette = 13=#b7aed5
+palette = 14=#97c0c4
+palette = 15=#d3d1d7
+background = 161617
+foreground = c9c7cd
+cursor-color = c9c7cd
+selection-background = 3C3B3E
+selection-foreground = c9c7cd
diff --git a/system/waves/id_user.pub b/files/id_user.pub
old mode 100644
new mode 100755
similarity index 100%
rename from system/waves/id_user.pub
rename to files/id_user.pub
diff --git a/home/dotfiles/prompt.json b/files/prompt.json
old mode 100644
new mode 100755
similarity index 73%
rename from home/dotfiles/prompt.json
rename to files/prompt.json
index 9f37d21..d0b7cf6
--- a/home/dotfiles/prompt.json
+++ b/files/prompt.json
@@ -19,22 +19,24 @@
"style": "letter"
},
"style": "plain",
- "template": "{{.Path}} ",
+ "template": "{{ $segment := .Segments.Git }}{{ if $segment.Dir }}{{ $segment.RepoName }}{{if ne $segment.RepoName .Path}}{{ trimPrefix $segment.Dir .PWD }}{{ end }}{{ else }}{{ path .Path .Location }}{{ end }} ",
"type": "path"
},
{
"foreground": "p:whiteish",
"properties": {
"branch_icon": "",
- "branch_ahead_icon": "\u21e1",
- "branch_behind_icon": "\u21e3",
+ "branch_identical_icon": "",
+ "branch_ahead_icon": "<#88C0D0>\u21e1>",
+ "branch_behind_icon": "<#88C0D0>\u21e3>",
+ "branch_gone_icon": "×>",
"fetch_stash_count": true,
"fetch_status": true,
"fetch_upstream_icon": true,
"github_icon": ""
},
"style": "plain",
- "template": "on >{{.HEAD}}> ",
+ "template": "{{.HEAD}}{{if .BranchStatus }} {{.BranchStatus}}{{end}}{{ if .Working.Changed }}*>{{ end }}{{if gt .StashCount 0}}${{end}}> ",
"type": "git"
},
{
@@ -45,7 +47,7 @@
"{{if gt .Code 0}}p:error{{end}}"
],
"style": "plain",
- "template": "{{if .Root}}#{{else}}λ{{end}} ",
+ "template": "{{if .Root}}#{{else}}\u276f{{end}} ",
"type": "text"
}
],
@@ -71,7 +73,7 @@
"{{if contains .Env.IN_NIX_SHELL \"impure\"}}p:nix{{end}}",
"{{if gt .Code 0 }}p:error{{ end }}"
],
- "template": "λ "
+ "template": "\u276f "
},
"secondary_prompt": {
"foreground": "p:backgroundish",
diff --git a/files/zellij/config.kdl b/files/zellij/config.kdl
new file mode 100644
index 0000000..e69de29
diff --git a/flake.lock b/flake.lock
old mode 100644
new mode 100755
index f4522c1..7b53690
--- a/flake.lock
+++ b/flake.lock
@@ -1,34 +1,17 @@
{
"nodes": {
- "crane": {
- "flake": false,
- "locked": {
- "lastModified": 1699217310,
- "narHash": "sha256-xpW3VFUG7yE6UE6Wl0dhqencuENSkV7qpnpe9I8VbPw=",
- "owner": "ipetkov",
- "repo": "crane",
- "rev": "d535642bbe6f377077f7c23f0febb78b1463f449",
- "type": "github"
- },
- "original": {
- "owner": "ipetkov",
- "ref": "v0.15.0",
- "repo": "crane",
- "type": "github"
- }
- },
"disko": {
"inputs": {
"nixpkgs": [
- "nixpkgs"
+ "nixpkgs-unstable"
]
},
"locked": {
- "lastModified": 1732742778,
- "narHash": "sha256-i+Uw8VOHzQe9YdNwKRbzvaPWLE07tYVqUDzSFTXhRgk=",
+ "lastModified": 1744940522,
+ "narHash": "sha256-TNoetfICvd29DhxRPpmyKItQBDlqSvKcV+wGNkn14jk=",
"owner": "nix-community",
"repo": "disko",
- "rev": "341482e2f4d888e3f60cae1c12c3df896e7230d8",
+ "rev": "51d33bbb7f1e74ba5f9d9a77357735149da99081",
"type": "github"
},
"original": {
@@ -37,130 +20,37 @@
"type": "github"
}
},
- "dream2nix": {
+ "emacs-overlay": {
"inputs": {
"nixpkgs": [
- "nix-inspect",
- "nci",
- "nixpkgs"
+ "nixpkgs-unstable"
],
- "purescript-overlay": "purescript-overlay",
- "pyproject-nix": "pyproject-nix"
+ "nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
- "lastModified": 1709959559,
- "narHash": "sha256-Gb+tUU+clGKVBwiznTQf0emZZ+heALqoVwUgI0O13L8=",
+ "lastModified": 1745169495,
+ "narHash": "sha256-e9+CfVIrI/iGZVjUeS/h/bOG/55MdvGwOP6m9ncz27Q=",
"owner": "nix-community",
- "repo": "dream2nix",
- "rev": "42838c590971da17a4b6483962707b7fb7b8b9a7",
+ "repo": "emacs-overlay",
+ "rev": "d24224780e6cb41af7b46a17d39306e5e982aa15",
"type": "github"
},
"original": {
"owner": "nix-community",
- "repo": "dream2nix",
- "type": "github"
- }
- },
- "flake-compat": {
- "flake": false,
- "locked": {
- "lastModified": 1732722421,
- "narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "9ed2ac151eada2306ca8c418ebd97807bb08f6ac",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_2": {
- "flake": false,
- "locked": {
- "lastModified": 1696426674,
- "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
- }
- },
- "flake-compat_3": {
- "flake": false,
- "locked": {
- "lastModified": 1717312683,
- "narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
- "owner": "nix-community",
- "repo": "flake-compat",
- "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "flake-compat",
+ "repo": "emacs-overlay",
"type": "github"
}
},
"flake-parts": {
- "inputs": {
- "nixpkgs-lib": [
- "neovim-nightly-overlay",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1730504689,
- "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "506278e768c2a08bec68eb62932193e341f55c90",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
- }
- },
- "flake-parts_2": {
- "inputs": {
- "nixpkgs-lib": [
- "neovim-nightly-overlay",
- "hercules-ci-effects",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1712014858,
- "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
- "type": "github"
- },
- "original": {
- "id": "flake-parts",
- "type": "indirect"
- }
- },
- "flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
- "lastModified": 1730504689,
- "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
+ "lastModified": 1743550720,
+ "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "506278e768c2a08bec68eb62932193e341f55c90",
+ "rev": "c621e8422220273271f52058f618c94e405bb0f5",
"type": "github"
},
"original": {
@@ -174,11 +64,11 @@
"flake-utils": "flake-utils_2"
},
"locked": {
- "lastModified": 1722363685,
- "narHash": "sha256-XCf2PIAT6lH7BwytgioPmVf/wkzXjSKScC4KzcZgb64=",
+ "lastModified": 1738591040,
+ "narHash": "sha256-4WNeriUToshQ/L5J+dTSWC5OJIwT39SEP7V7oylndi8=",
"owner": "gytis-ivaskevicius",
"repo": "flake-utils-plus",
- "rev": "6b10f51ff73a66bb29f3bc8151a59d217713f496",
+ "rev": "afcb15b845e74ac5e998358709b2b5fe42a948d1",
"type": "github"
},
"original": {
@@ -205,92 +95,6 @@
"type": "github"
}
},
- "flake-utils_3": {
- "locked": {
- "lastModified": 1656928814,
- "narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
- "owner": "numtide",
- "repo": "flake-utils",
- "rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
- "type": "github"
- },
- "original": {
- "owner": "numtide",
- "repo": "flake-utils",
- "type": "github"
- }
- },
- "git-hooks": {
- "inputs": {
- "flake-compat": "flake-compat_2",
- "gitignore": "gitignore",
- "nixpkgs": [
- "neovim-nightly-overlay",
- "nixpkgs"
- ],
- "nixpkgs-stable": [
- "neovim-nightly-overlay",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1732021966,
- "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=",
- "owner": "cachix",
- "repo": "git-hooks.nix",
- "rev": "3308484d1a443fc5bc92012435d79e80458fe43c",
- "type": "github"
- },
- "original": {
- "owner": "cachix",
- "repo": "git-hooks.nix",
- "type": "github"
- }
- },
- "gitignore": {
- "inputs": {
- "nixpkgs": [
- "neovim-nightly-overlay",
- "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"
- }
- },
- "hercules-ci-effects": {
- "inputs": {
- "flake-parts": "flake-parts_2",
- "nixpkgs": [
- "neovim-nightly-overlay",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1730903510,
- "narHash": "sha256-mnynlrPeiW0nUQ8KGZHb3WyxAxA3Ye/BH8gMjdoKP6E=",
- "owner": "hercules-ci",
- "repo": "hercules-ci-effects",
- "rev": "b89ac4d66d618b915b1f0a408e2775fe3821d141",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "hercules-ci-effects",
- "type": "github"
- }
- },
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -298,113 +102,47 @@
]
},
"locked": {
- "lastModified": 1732793095,
- "narHash": "sha256-6TrknJ8CpvSSF4gviQSeD+wyj3siRcMvdBKhOXkEMKU=",
+ "lastModified": 1744743431,
+ "narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "2f7739d01080feb4549524e8f6927669b61c6ee3",
+ "rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387",
"type": "github"
},
"original": {
"owner": "nix-community",
+ "ref": "release-24.11",
"repo": "home-manager",
"type": "github"
}
},
- "mk-naked-shell": {
- "flake": false,
+ "impermanence": {
"locked": {
- "lastModified": 1681286841,
- "narHash": "sha256-3XlJrwlR0nBiREnuogoa5i1b4+w/XPe0z8bbrJASw0g=",
- "owner": "yusdacra",
- "repo": "mk-naked-shell",
- "rev": "7612f828dd6f22b7fb332cc69440e839d7ffe6bd",
- "type": "github"
- },
- "original": {
- "owner": "yusdacra",
- "repo": "mk-naked-shell",
- "type": "github"
- }
- },
- "nci": {
- "inputs": {
- "crane": "crane",
- "dream2nix": "dream2nix",
- "mk-naked-shell": "mk-naked-shell",
- "nixpkgs": [
- "nix-inspect",
- "nixpkgs"
- ],
- "parts": "parts",
- "rust-overlay": "rust-overlay",
- "treefmt": "treefmt"
- },
- "locked": {
- "lastModified": 1710137478,
- "narHash": "sha256-+hbUWY1PEItyx3CBOGsHlJEDO2wRY2N1mpBhiLBblck=",
- "owner": "yusdacra",
- "repo": "nix-cargo-integration",
- "rev": "f3cc8751427e16ec48c0467357b3f3979a53ae9c",
- "type": "github"
- },
- "original": {
- "owner": "yusdacra",
- "repo": "nix-cargo-integration",
- "type": "github"
- }
- },
- "neovim-nightly-overlay": {
- "inputs": {
- "flake-compat": "flake-compat",
- "flake-parts": "flake-parts",
- "git-hooks": "git-hooks",
- "hercules-ci-effects": "hercules-ci-effects",
- "neovim-src": "neovim-src",
- "nixpkgs": "nixpkgs"
- },
- "locked": {
- "lastModified": 1732775233,
- "narHash": "sha256-G9W0wi0MD9JvG3bmvWQSMVR684drSlWGY1auhCNxO8c=",
+ "lastModified": 1737831083,
+ "narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
"owner": "nix-community",
- "repo": "neovim-nightly-overlay",
- "rev": "b09ab000f85a830fac6f599947dfa268227aab31",
+ "repo": "impermanence",
+ "rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
"type": "github"
},
"original": {
"owner": "nix-community",
- "repo": "neovim-nightly-overlay",
- "type": "github"
- }
- },
- "neovim-src": {
- "flake": false,
- "locked": {
- "lastModified": 1732733768,
- "narHash": "sha256-y3LmGebXuQhLz9w1IzkDU8b464WvMvPCbIImpVvxmcI=",
- "owner": "neovim",
- "repo": "neovim",
- "rev": "76dcc7029b200e1d85024d7ba4a34c602e730dbe",
- "type": "github"
- },
- "original": {
- "owner": "neovim",
- "repo": "neovim",
+ "repo": "impermanence",
"type": "github"
}
},
"nh": {
"inputs": {
"nixpkgs": [
- "nixpkgs"
+ "nixpkgs-unstable"
]
},
"locked": {
- "lastModified": 1732782112,
- "narHash": "sha256-8rxzWGOVyijmE2ojWJxPEWqtUQ7i/lA5TvLoklwI4qw=",
+ "lastModified": 1743682999,
+ "narHash": "sha256-bg+aAN8K90r3m/I+xXiXG0gawpbkshwlk93wxUN7KEk=",
"owner": "viperML",
"repo": "nh",
- "rev": "24293d624556d32bd502c440b352e4fef4eeab6d",
+ "rev": "9e9a4590b38b62b28f07a1fae973ce7b6ca0687a",
"type": "github"
},
"original": {
@@ -415,18 +153,17 @@
},
"nix-gaming": {
"inputs": {
- "flake-parts": "flake-parts_3",
+ "flake-parts": "flake-parts",
"nixpkgs": [
- "nixpkgs"
- ],
- "umu": "umu"
+ "nixpkgs-unstable"
+ ]
},
"locked": {
- "lastModified": 1732758553,
- "narHash": "sha256-divlhUduT0/t8D9k11Yd3Ah3xpr302vV1KXxIMb8I3M=",
+ "lastModified": 1745114168,
+ "narHash": "sha256-x+HdFBsfRznwWPpnqXM3yaTVz2CcK5X/ThY6BA3PgcI=",
"owner": "fufexan",
"repo": "nix-gaming",
- "rev": "effe1d54e23f430d3e803f63e9e47aba33acfb63",
+ "rev": "05b70003daf802fd5c0af3903fab5f23fef3c47c",
"type": "github"
},
"original": {
@@ -435,100 +172,60 @@
"type": "github"
}
},
- "nix-inspect": {
- "inputs": {
- "nci": "nci",
- "nixpkgs": "nixpkgs_2",
- "parts": "parts_2"
- },
- "locked": {
- "lastModified": 1717293583,
- "narHash": "sha256-Upz+fnWJjzt5WokjO/iaiPbqiwSrqpWjrpcFOqQ4p0E=",
- "owner": "bluskript",
- "repo": "nix-inspect",
- "rev": "c55921e1d1cf980ff6351273fde6cedd5d8fa320",
- "type": "github"
- },
- "original": {
- "owner": "bluskript",
- "repo": "nix-inspect",
- "type": "github"
- }
- },
- "nixos-cosmic": {
- "inputs": {
- "flake-compat": "flake-compat_3",
- "nixpkgs": [
- "nixpkgs"
- ],
- "nixpkgs-stable": "nixpkgs-stable",
- "rust-overlay": "rust-overlay_2"
- },
- "locked": {
- "lastModified": 1732757557,
- "narHash": "sha256-zADldaLfiSb2iGPhcSJPokGypYa1Fix0llhWkMvm8pQ=",
- "owner": "lilyinstarlight",
- "repo": "nixos-cosmic",
- "rev": "5116835b8eb2ec18ec258050a11d374d38ac8764",
- "type": "github"
- },
- "original": {
- "owner": "lilyinstarlight",
- "repo": "nixos-cosmic",
- "type": "github"
- }
- },
"nixpkgs": {
"locked": {
- "lastModified": 1732617236,
- "narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=",
- "owner": "NixOS",
+ "lastModified": 1744440957,
+ "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
+ "owner": "nixos",
"repo": "nixpkgs",
- "rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e",
+ "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
"type": "github"
},
"original": {
- "owner": "NixOS",
- "ref": "nixpkgs-unstable",
+ "owner": "nixos",
+ "ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
- "lastModified": 1730504152,
- "narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=",
- "type": "tarball",
- "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
+ "lastModified": 1743296961,
+ "narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
+ "type": "github"
},
"original": {
- "type": "tarball",
- "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
+ "owner": "nix-community",
+ "repo": "nixpkgs.lib",
+ "type": "github"
}
},
"nixpkgs-stable": {
"locked": {
- "lastModified": 1731797254,
- "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=",
+ "lastModified": 1744440957,
+ "narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59",
+ "rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
"type": "github"
},
"original": {
"owner": "NixOS",
- "ref": "nixos-24.05",
+ "ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
- "lastModified": 1732521221,
- "narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=",
+ "lastModified": 1744932701,
+ "narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d",
+ "rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef",
"type": "github"
},
"original": {
@@ -540,43 +237,27 @@
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1709961763,
- "narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=",
- "owner": "nixos",
+ "lastModified": 1744502386,
+ "narHash": "sha256-QAd1L37eU7ktL2WeLLLTmI6P9moz9+a/ONO8qNBYJgM=",
+ "owner": "NixOS",
"repo": "nixpkgs",
- "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34",
+ "rev": "f6db44a8daa59c40ae41ba6e5823ec77fe0d2124",
"type": "github"
},
"original": {
- "owner": "nixos",
- "ref": "nixos-unstable",
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
- "lastModified": 1732749044,
- "narHash": "sha256-T38FQOg0BV5M8FN1712fovzNakSOENEYs+CSkg31C9Y=",
+ "lastModified": 1736344531,
+ "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "0c5b4ecbed5b155b705336aa96d878e55acd8685",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixos-24.05",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs_4": {
- "locked": {
- "lastModified": 1658161305,
- "narHash": "sha256-X/nhnMCa1Wx4YapsspyAs6QYz6T/85FofrI6NpdPDHg=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "e4d49de45a3b5dbcb881656b4e3986e666141ea9",
+ "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
"type": "github"
},
"original": {
@@ -586,182 +267,36 @@
"type": "github"
}
},
- "parts": {
- "inputs": {
- "nixpkgs-lib": [
- "nix-inspect",
- "nci",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1709336216,
- "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
- }
- },
- "parts_2": {
- "inputs": {
- "nixpkgs-lib": [
- "nix-inspect",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1709336216,
- "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
- }
- },
- "purescript-overlay": {
- "inputs": {
- "nixpkgs": [
- "nix-inspect",
- "nci",
- "dream2nix",
- "nixpkgs"
- ],
- "slimlock": "slimlock"
- },
- "locked": {
- "lastModified": 1696022621,
- "narHash": "sha256-eMjFmsj2G1E0Q5XiibUNgFjTiSz0GxIeSSzzVdoN730=",
- "owner": "thomashoneyman",
- "repo": "purescript-overlay",
- "rev": "047c7933abd6da8aa239904422e22d190ce55ead",
- "type": "github"
- },
- "original": {
- "owner": "thomashoneyman",
- "repo": "purescript-overlay",
- "type": "github"
- }
- },
- "pyproject-nix": {
- "flake": false,
- "locked": {
- "lastModified": 1702448246,
- "narHash": "sha256-hFg5s/hoJFv7tDpiGvEvXP0UfFvFEDgTdyHIjDVHu1I=",
- "owner": "davhau",
- "repo": "pyproject.nix",
- "rev": "5a06a2697b228c04dd2f35659b4b659ca74f7aeb",
- "type": "github"
- },
- "original": {
- "owner": "davhau",
- "ref": "dream2nix",
- "repo": "pyproject.nix",
- "type": "github"
- }
- },
"root": {
"inputs": {
"disko": "disko",
+ "emacs-overlay": "emacs-overlay",
"flake-utils": "flake-utils",
"home-manager": "home-manager",
- "neovim-nightly-overlay": "neovim-nightly-overlay",
+ "impermanence": "impermanence",
"nh": "nh",
"nix-gaming": "nix-gaming",
- "nix-inspect": "nix-inspect",
- "nixos-cosmic": "nixos-cosmic",
- "nixpkgs": "nixpkgs_3",
+ "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable",
- "st": "st"
+ "sops-nix": "sops-nix",
+ "zen-browser": "zen-browser"
}
},
- "rust-overlay": {
- "flake": false,
- "locked": {
- "lastModified": 1710123130,
- "narHash": "sha256-EoGL/WSM1M2L099Q91mPKO/FRV2iu2ZLOEp3y5sLfiE=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "73aca260afe5d41d3ebce932c8d896399c9d5174",
- "type": "github"
- },
- "original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "rust-overlay_2": {
+ "sops-nix": {
"inputs": {
- "nixpkgs": [
- "nixos-cosmic",
- "nixpkgs"
- ]
+ "nixpkgs": "nixpkgs_2"
},
"locked": {
- "lastModified": 1732588352,
- "narHash": "sha256-J2/hxOO1VtBA/u+a+9E+3iJpWT3xsBdghgYAVfoGCJo=",
- "owner": "oxalica",
- "repo": "rust-overlay",
- "rev": "414e748aae5c9e6ca63c5aafffda03e5dad57ceb",
+ "lastModified": 1744669848,
+ "narHash": "sha256-pXyanHLUzLNd3MX9vsWG+6Z2hTU8niyphWstYEP3/GU=",
+ "owner": "Mic92",
+ "repo": "sops-nix",
+ "rev": "61154300d945f0b147b30d24ddcafa159148026a",
"type": "github"
},
"original": {
- "owner": "oxalica",
- "repo": "rust-overlay",
- "type": "github"
- }
- },
- "slimlock": {
- "inputs": {
- "nixpkgs": [
- "nix-inspect",
- "nci",
- "dream2nix",
- "purescript-overlay",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1688610262,
- "narHash": "sha256-Wg0ViDotFWGWqKIQzyYCgayeH8s4U1OZcTiWTQYdAp4=",
- "owner": "thomashoneyman",
- "repo": "slimlock",
- "rev": "b5c6cdcaf636ebbebd0a1f32520929394493f1a6",
- "type": "github"
- },
- "original": {
- "owner": "thomashoneyman",
- "repo": "slimlock",
- "type": "github"
- }
- },
- "st": {
- "inputs": {
- "flake-utils": "flake-utils_3",
- "nixpkgs": "nixpkgs_4"
- },
- "locked": {
- "lastModified": 1726952303,
- "narHash": "sha256-d2B4oIpNggaF5bIz6hZ6Bwa9pVzChmL/NbqKtx+8TTg=",
- "owner": "devawaves",
- "repo": "st",
- "rev": "12748a3f10adcb69a9bda7629b771dc6bbaf7da5",
- "type": "github"
- },
- "original": {
- "owner": "devawaves",
- "repo": "st",
+ "owner": "Mic92",
+ "repo": "sops-nix",
"type": "github"
}
},
@@ -780,52 +315,23 @@
"type": "github"
}
},
- "treefmt": {
+ "zen-browser": {
"inputs": {
- "nixpkgs": [
- "nix-inspect",
- "nci",
- "nixpkgs"
- ]
+ "nixpkgs": "nixpkgs_3"
},
"locked": {
- "lastModified": 1710088047,
- "narHash": "sha256-eSqKs6ZCsX9xJyNYLeMDMrxzIDsYtaWClfZCOp0ok6Y=",
- "owner": "numtide",
- "repo": "treefmt-nix",
- "rev": "720322c5352d7b7bd2cb3601a9176b0e91d1de7d",
+ "lastModified": 1742688375,
+ "narHash": "sha256-yVsET+na0V2edU+5xZTchrZqbN7+uMOOtZ7FfZc79bg=",
+ "owner": "valnyx17",
+ "repo": "zen-browser-flake",
+ "rev": "05e9fd204ae043ceb1ed056460b4ca03fa413c12",
"type": "github"
},
"original": {
- "owner": "numtide",
- "repo": "treefmt-nix",
+ "owner": "valnyx17",
+ "repo": "zen-browser-flake",
"type": "github"
}
- },
- "umu": {
- "inputs": {
- "nixpkgs": [
- "nix-gaming",
- "nixpkgs"
- ]
- },
- "locked": {
- "dir": "packaging/nix",
- "lastModified": 1732337089,
- "narHash": "sha256-dwFza03ETqrcmVGSCdgDDKTWKRgckpQ3vXkZRCYtM9g=",
- "ref": "refs/heads/main",
- "rev": "f6a6af3191f5497d95d8f8aaa08826a45da199c4",
- "revCount": 842,
- "submodules": true,
- "type": "git",
- "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
- },
- "original": {
- "dir": "packaging/nix",
- "submodules": true,
- "type": "git",
- "url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
- }
}
},
"root": "root",
diff --git a/flake.nix b/flake.nix
old mode 100644
new mode 100755
index bd7b32f..3ce09e4
--- a/flake.nix
+++ b/flake.nix
@@ -1,41 +1,32 @@
{
- description = "nixos system configuration";
-
+ description = "V's NixOS Configuration";
inputs = {
- nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
+ nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
+ zen-browser.url = "github:valnyx17/zen-browser-flake";
flake-utils.url = "github:gytis-ivaskevicius/flake-utils-plus";
-
home-manager = {
- url = "github:nix-community/home-manager";
+ url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
-
disko = {
url = "github:nix-community/disko";
- inputs.nixpkgs.follows = "nixpkgs";
+ inputs.nixpkgs.follows = "nixpkgs-unstable";
};
-
+ sops-nix.url = "github:Mic92/sops-nix";
+ impermanence.url = "github:nix-community/impermanence";
nh = {
url = "github:viperML/nh";
- inputs.nixpkgs.follows = "nixpkgs";
+ inputs.nixpkgs.follows = "nixpkgs-unstable";
};
-
- nix-inspect.url = "github:bluskript/nix-inspect";
-
nix-gaming = {
url = "github:fufexan/nix-gaming";
- inputs.nixpkgs.follows = "nixpkgs";
+ inputs.nixpkgs.follows = "nixpkgs-unstable";
};
-
- nixos-cosmic = {
- url = "github:lilyinstarlight/nixos-cosmic";
- inputs.nixpkgs.follows = "nixpkgs";
+ emacs-overlay = {
+ url = "github:nix-community/emacs-overlay";
+ inputs.nixpkgs.follows = "nixpkgs-unstable";
};
-
- st.url = "github:devawaves/st";
-
- neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
};
outputs = {
@@ -43,7 +34,6 @@
nixpkgs,
home-manager,
flake-utils,
- nixos-cosmic,
...
} @ inputs: let
mkApp = flake-utils.lib.mkApp;
@@ -51,60 +41,49 @@
in
mkFlake {
inherit self inputs nixpkgs home-manager;
- channelsConfig.allowUnfree = true;
+ overlays = import ./overlays.nix {inherit inputs;};
sharedOverlays = [
self.overlays.additions
self.overlays.modifications
self.overlays.unstable-packages
];
- # host defaults
- hostDefaults.system = "x86_64-linux";
- hostDefaults.modules = [];
hostDefaults.extraArgs = {inherit flake-utils;};
hostDefaults.specialArgs = {
inherit inputs;
inherit (self) outputs;
};
- hosts.waves = {
+ hosts.wireframe = {
system = "x86_64-linux";
modules = [
inputs.disko.nixosModules.default
- (import ./disko.nix {device = "/dev/disk/by-id/nvme-Samsung_SSD_980_PRO_with_Heatsink_1TB_S6WSNJ0T900943T";})
- {
- nix.settings = {
- substituters = ["https://cosmic.cachix.org/"];
- trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="];
- };
- }
- nixos-cosmic.nixosModules.default
- ./system/waves/configuration.nix
- {
- home-manager.useGlobalPkgs = true;
- home-manager.useUserPackages = true;
- }
- home-manager.nixosModules.home-manager
- ./home/valerie/home.nix
+ (import ./hosts/wireframe/disko.nix {device = "/dev/disk/by-id/nvme-Samsung_SSD_979_PRO_with_Heatsink_1TB_S6WSNJ0T900943T";})
+ inputs.impermanence.nixosModules.impermanence
+ ./hosts/wireframe/configuration.nix
];
- output = "nixosConfigurations";
};
- overlays = import ./overlays {inherit inputs;};
- }
- // flake-utils.lib.eachDefaultSystem (system: let
- pkgs = nixpkgs.legacyPackages.${system};
- inherit (self) outputs;
- in {
- packages = import ./pkgs pkgs;
-
- apps = {
- "disko" = {
- type = "app";
- program = "${outputs.packages.${system}.disko}/bin/disko";
+ homeConfigurations = {
+ "v@wireframe" = home-manager.lib.homeManagerConfiguration {
+ pkgs = import nixpkgs {
+ system = "x86_64-linux";
+ overlays = [
+ self.overlays.additions
+ self.overlays.modifications
+ self.overlays.unstable-packages
+ inputs.emacs-overlay.overlays.default
+ ];
+ config = {
+ allowUnfree = true;
+ };
+ };
+ modules = [./hosts/wireframe/home.nix];
+ extraSpecialArgs = {
+ inherit inputs;
+ inherit (self) outputs;
+ };
};
};
-
- formatter = pkgs.alejandra;
- });
+ };
}
diff --git a/home/dotfiles/lf-icons b/home/dotfiles/lf-icons
deleted file mode 100644
index 4022691..0000000
--- a/home/dotfiles/lf-icons
+++ /dev/null
@@ -1,377 +0,0 @@
-# vim:ft=conf
-
-# These examples require Nerd Fonts or a compatible font to be used.
-# See https://www.nerdfonts.com for more information.
-
-# default values from lf (with matching order)
-# ln l # LINK
-# or l # ORPHAN
-# tw t # STICKY_OTHER_WRITABLE
-# ow d # OTHER_WRITABLE
-# st t # STICKY
-# di d # DIR
-# pi p # FIFO
-# so s # SOCK
-# bd b # BLK
-# cd c # CHR
-# su u # SETUID
-# sg g # SETGID
-# ex x # EXEC
-# fi - # FILE
-
-# file types (with matching order)
-ln # LINK
-or # ORPHAN
-tw t # STICKY_OTHER_WRITABLE
-ow # OTHER_WRITABLE
-st t # STICKY
-di # DIR
-pi p # FIFO
-so s # SOCK
-bd b # BLK
-cd c # CHR
-su u # SETUID
-sg g # SETGID
-ex # EXEC
-fi # FILE
-
-# disable some default filetype icons, let them choose icon by filename
-# ln # LINK
-# or # ORPHAN
-# tw # STICKY_OTHER_WRITABLE
-# ow # OTHER_WRITABLE
-# st # STICKY
-# di # DIR
-# pi # FIFO
-# so # SOCK
-# bd # BLK
-# cd # CHR
-# su # SETUID
-# sg # SETGID
-# ex # EXEC
-# fi # FILE
-
-# file extensions (vim-devicons)
-*.styl
-*.sass
-*.scss
-*.htm
-*.html
-*.slim
-*.haml
-*.ejs
-*.css
-*.less
-*.md
-*.mdx
-*.markdown
-*.rmd
-*.json
-*.webmanifest
-*.js
-*.mjs
-*.jsx
-*.rb
-*.gemspec
-*.rake
-*.php
-*.py
-*.pyc
-*.pyo
-*.pyd
-*.coffee
-*.mustache
-*.hbs
-*.conf
-*.ini
-*.yml
-*.yaml
-*.toml
-*.bat
-*.mk
-*.jpg
-*.jpeg
-*.bmp
-*.png
-*.webp
-*.gif
-*.ico
-*.twig
-*.cpp
-*.c++
-*.cxx
-*.cc
-*.cp
-*.c
-*.cs
-*.h
-*.hh
-*.hpp
-*.hxx
-*.hs
-*.lhs
-*.nix
-*.lua
-*.java
-*.sh
-*.fish
-*.bash
-*.zsh
-*.ksh
-*.csh
-*.awk
-*.ps1
-*.ml λ
-*.mli λ
-*.diff
-*.db
-*.sql
-*.dump
-*.clj
-*.cljc
-*.cljs
-*.edn
-*.scala
-*.go
-*.dart
-*.xul
-*.sln
-*.suo
-*.pl
-*.pm
-*.t
-*.rss
-'*.f#'
-*.fsscript
-*.fsx
-*.fs
-*.fsi
-*.rs
-*.rlib
-*.d
-*.erl
-*.hrl
-*.ex
-*.exs
-*.eex
-*.leex
-*.heex
-*.vim
-*.ai
-*.psd
-*.psb
-*.ts
-*.tsx
-*.jl
-*.pp
-*.vue
-*.elm
-*.swift
-*.xcplayground
-*.tex
-*.r
-*.rproj
-*.sol
-*.pem
-
-# file names (vim-devicons) (case-insensitive not supported in lf)
-*gruntfile.coffee
-*gruntfile.js
-*gruntfile.ls
-*gulpfile.coffee
-*gulpfile.js
-*gulpfile.ls
-*mix.lock
-*dropbox
-*.ds_store
-*.gitconfig
-*.gitignore
-*.gitattributes
-*.gitlab-ci.yml
-*.bashrc
-*.zshrc
-*.zshenv
-*.zprofile
-*.vimrc
-*.gvimrc
-*_vimrc
-*_gvimrc
-*.bashprofile
-*favicon.ico
-*license
-*node_modules
-*react.jsx
-*procfile
-*dockerfile
-*docker-compose.yml
-*docker-compose.yaml
-*compose.yml
-*compose.yaml
-*rakefile
-*config.ru
-*gemfile
-*makefile
-*cmakelists.txt
-*robots.txt
-
-# file names (case-sensitive adaptations)
-*Gruntfile.coffee
-*Gruntfile.js
-*Gruntfile.ls
-*Gulpfile.coffee
-*Gulpfile.js
-*Gulpfile.ls
-*Dropbox
-*.DS_Store
-*LICENSE
-*React.jsx
-*Procfile
-*Dockerfile
-*Docker-compose.yml
-*Docker-compose.yaml
-*Rakefile
-*Gemfile
-*Makefile
-*CMakeLists.txt
-
-# file patterns (vim-devicons) (patterns not supported in lf)
-# .*jquery.*\.js$
-# .*angular.*\.js$
-# .*backbone.*\.js$
-# .*require.*\.js$
-# .*materialize.*\.js$
-# .*materialize.*\.css$
-# .*mootools.*\.js$
-# .*vimrc.*
-# Vagrantfile$
-
-# file patterns (file name adaptations)
-*jquery.min.js
-*angular.min.js
-*backbone.min.js
-*require.min.js
-*materialize.min.js
-*materialize.min.css
-*mootools.min.js
-*vimrc
-Vagrantfile
-
-# archives or compressed (extensions from dircolors defaults)
-*.tar
-*.tgz
-*.arc
-*.arj
-*.taz
-*.lha
-*.lz4
-*.lzh
-*.lzma
-*.tlz
-*.txz
-*.tzo
-*.t7z
-*.zip
-*.z
-*.dz
-*.gz
-*.lrz
-*.lz
-*.lzo
-*.xz
-*.zst
-*.tzst
-*.bz2
-*.bz
-*.tbz
-*.tbz2
-*.tz
-*.deb
-*.rpm
-*.jar
-*.war
-*.ear
-*.sar
-*.rar
-*.alz
-*.ace
-*.zoo
-*.cpio
-*.7z
-*.rz
-*.cab
-*.wim
-*.swm
-*.dwm
-*.esd
-
-# image formats (extensions from dircolors defaults)
-*.jpg
-*.jpeg
-*.mjpg
-*.mjpeg
-*.gif
-*.bmp
-*.pbm
-*.pgm
-*.ppm
-*.tga
-*.xbm
-*.xpm
-*.tif
-*.tiff
-*.png
-*.svg
-*.svgz
-*.mng
-*.pcx
-*.mov
-*.mpg
-*.mpeg
-*.m2v
-*.mkv
-*.webm
-*.ogm
-*.mp4
-*.m4v
-*.mp4v
-*.vob
-*.qt
-*.nuv
-*.wmv
-*.asf
-*.rm
-*.rmvb
-*.flc
-*.avi
-*.fli
-*.flv
-*.gl
-*.dl
-*.xcf
-*.xwd
-*.yuv
-*.cgm
-*.emf
-*.ogv
-*.ogx
-
-# audio formats (extensions from dircolors defaults)
-*.aac
-*.au
-*.flac
-*.m4a
-*.mid
-*.midi
-*.mka
-*.mp3
-*.mpc
-*.ogg
-*.ra
-*.wav
-*.oga
-*.opus
-*.spx
-*.xspf
-
-# other formats
-*.pdf
diff --git a/home/dotfiles/pst b/home/dotfiles/pst
deleted file mode 100644
index 12dc8af..0000000
--- a/home/dotfiles/pst
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env bash
-
-URL="https://pastebin.dessa.dev"
-
-FILEPATH="$1"
-FILENAME=$(basename -- "$FILEPATH")
-EXTENSION="''${FILENAME##*.}"
-
-if [ ! -f $FILEPATH ]; then
- # curl the file from the internet, given the id
- # future regex for any wantsgunbin link: ^((http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b\/)?[0-9a-zA-Z]{5,}(\..*)?$
- if [[ $FILEPATH =~ ^(https:\/\/pastebin\.dessa\.dev\/)?[0-9a-zA-Z]{5,}(\..*)?$ ]]; then
- OUT=$(mktemp)
- echo $OUT
- curl -sL https://pastebin.dessa.dev/$FILEPATH > $OUT
- exit 0
- else
- echo "File not found: $FILEPATH"
- exit 1
- fi
-fi
-
-RESPONSE=$(curl --data-binary @''${FILEPATH:-/dev/stdin} --url $URL)
-PASTELINK="$URL$RESPONSE"
-
-[ -z "$EXTENSION" ] && echo $PASTELINK || echo $PASTELINK.$EXTENSION
diff --git a/home/dotfiles/run b/home/dotfiles/run
deleted file mode 100644
index 0509177..0000000
--- a/home/dotfiles/run
+++ /dev/null
@@ -1,5 +0,0 @@
-if [[ -z "$2" ]]; then
- nix-shell -p $1 --run zsh
-else
- nix-shell -p $1 --run "$2"
-fi
diff --git a/home/dotfiles/wezterm.lua b/home/dotfiles/wezterm.lua
deleted file mode 100644
index 8d14dca..0000000
--- a/home/dotfiles/wezterm.lua
+++ /dev/null
@@ -1,51 +0,0 @@
-local wezterm = require("wezterm")
-
-local config = wezterm.config_builder()
-
-config.color_scheme = "OneHalfDark"
-config.use_fancy_tab_bar = false
-config.window_decorations = "RESIZE"
-config.hide_tab_bar_if_only_one_tab = true
-config.font = wezterm.font_with_fallback({
- { family = "CommitMono", weight = "Medium", harfbuzz_features = { 'ss01=on', 'ss02=on', 'ss03=on', 'ss04=on', 'ss05=on' } },
- "Symbols Nerd Font",
-})
-
-config.font_size = 13
--- config.line_height = 1.2
-
-config.set_environment_variables = {
- TERM = "xterm-256color",
-}
-
-config.window_padding = {
- left = 10,
- right = 10,
- top = 10,
- bottom = 10,
-}
-
-config.default_cursor_style = "SteadyBar"
-config.cursor_blink_rate = 0
-
--- wayland support
-config.enable_wayland = false
-
-config.unix_domains = {
- {
- name = "unix",
- },
-}
-config.freetype_load_flags = "DEFAULT"
-config.window_background_opacity = 1.00
-config.max_fps = 144
-config.scrollback_lines = 10000
-
--- This causes `wezterm` to act as though it was started as
--- `wezterm connect unix` by default, connecting to the unix
--- domain on startup.
--- If you prefer to connect manually, leave out this line.
--- config.default_gui_startup_args = { "connect", "unix" }
-config.ssh_domains = wezterm.default_ssh_domains()
-
-return config
diff --git a/home/modules/default.nix b/home/modules/default.nix
deleted file mode 100644
index 9dfa643..0000000
--- a/home/modules/default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- ./core
- ./term
- ./dev
- ./gnome.nix
-]
diff --git a/home/modules/gnome.nix b/home/modules/gnome.nix
deleted file mode 100644
index 573148b..0000000
--- a/home/modules/gnome.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{pkgs, ...}: {
- gtk = {
- enable = true;
-
- iconTheme = {
- name = "Zafiro-icons-Dark";
- package = pkgs.zafiro-icons;
- };
-
- # theme = {
- # name = "Materia-dark";
- # package = pkgs.materia-theme;
- # };
-
- cursorTheme = {
- name = "graphite-dark";
- package = pkgs.graphite-cursors;
- };
- };
-
- dconf = {
- enable = true;
-
- settings = {
- "org/gnome/shell" = {
- disable-user-extensions = false;
-
- enabled-extensions = [
- pkgs.gnomeExtensions.user-themes.extensionUuid
- pkgs.gnomeExtensions.unite.extensionUuid
- pkgs.gnomeExtensions.blur-my-shell.extensionUuid
- ];
- };
-
- "org/gnome/shell/extensions/user-theme" = {
- name = "";
- };
-
- "org/gnome/shell/extensions/unite" = {
- desktop-name-text = "Desktop";
- greyscale-tray-icons = true;
- hide-activities-button = "always";
- hide-window-titlebars = "always";
- show-window-buttons = "always";
- show-window-title = "tiled";
- window-buttons-placement = "first";
- window-buttons-theme = "arc";
- };
-
- "org/gnome/desktop/interface" = {
- color-scheme = "prefer-dark";
- };
-
- "org/gnome/desktop/wm/preferences" = {
- resize-with-right-button = true;
- };
-
- "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
- binding = "Return";
- command = "kitty";
- name = "Open Terminal";
- };
-
- "org/gnome/settings-daemon/plugins/media-keys" = {
- custom-keybindings = [
- "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
- ];
- };
-
- "org/gnome/desktop/background" = {
- picture-uri = "file:///${../dotfiles/alphacoder-1350453.png}";
- picture-uri-dark = "file:///${../dotfiles/alphacoder-1350453.png}";
- };
- };
- };
-
- home.packages = with pkgs; [
- # Gnome extensions
- gnomeExtensions.unite
- gnomeExtensions.user-themes
- gnomeExtensions.blur-my-shell
-
- # extensions manager
- gnome-extension-manager
-
- # Theme
- materia-theme
- ];
-}
diff --git a/home/modules/term/default.nix b/home/modules/term/default.nix
deleted file mode 100644
index 9be8522..0000000
--- a/home/modules/term/default.nix
+++ /dev/null
@@ -1,444 +0,0 @@
-{
- config,
- pkgs,
- inputs,
- ...
-}: let
- pst = pkgs.writeShellScriptBin "pst" (builtins.readFile ../../dotfiles/pst);
- runpkg = pkgs.writeShellScriptBin "run" (builtins.readFile ../../dotfiles/run);
-in {
- programs = {
- wezterm = {
- enable = true;
- extraConfig = builtins.readFile ../../dotfiles/wezterm.lua;
- };
- kitty = {
- enable = true;
- package = pkgs.unstable.kitty;
- shellIntegration.enableZshIntegration = true;
- theme = "One Half Dark";
- environment = {
- "TERM" = "xterm-256color";
- };
- settings = {
- font_family = "CommitMono";
- font_size = "11.0";
- cursor_shape = "beam";
- cursor_blink_interval = "0.0";
- cursor_trail = "3";
- cursor_trail_decay = "0.1 0.4";
- disable_ligatures = "never";
- undercurl_style = "thick-sparse";
- enable_audio_bell = false;
- confirm_os_window_close = 0;
- dynamic_background_opacity = true;
- mouse_hide_wait = "-1.0";
- window_padding_width = 10;
- # background_opacity = "0.95";
- background_blur = 5;
- 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 Mono";
- input_delay = "0";
- repaint_delay = "2";
- sync_to_monitor = "no";
- wayland_enable_ime = "no";
- };
- extraConfig = ''
- font_features "0xProto-Italic +ss01"
- font_features "CommitMono +ss01 +ss02 +ss03 +ss04 +ss05"
- '';
- };
- broot = {
- enable = true;
- enableZshIntegration = true;
- settings = {
- default_flags = "-gh";
- show_matching_characters_on_path_searches = false;
- modal = true;
- };
- };
- yazi = {
- enable = true;
- enableZshIntegration = true;
- package = pkgs.unstable.yazi;
- flavors = {
- tokyo-night = pkgs.fetchFromGitHub {
- owner = "BennyOe";
- repo = "tokyo-night.yazi";
- rev = "024fb096821e7d2f9d09a338f088918d8cfadf34";
- hash = "sha256-IhCwP5v0qbuanjfMRbk/Uatu31rPNVChJn5Y9c5KWYQ=";
- };
- };
- settings = {
- manager = {
- show_hidden = true;
- show_dir_first = true;
- show_symlink = true;
- };
- flavor.use = "tokyo-night";
- opener = {
- edit = [
- {
- run = ''nvim "$@"'';
- block = true;
- for = "unix";
- }
- ];
- play = [
- {
- run = ''mpv "$@"'';
- orphan = true;
- for = "unix";
- }
- ];
- open = [
- {
- run = ''xdg-open "$@"'';
- desc = "Open";
- }
- ];
- };
- };
- };
- tmux = {
- enable = true;
- mouse = true;
- prefix = "C-Space";
- keyMode = "vi";
- baseIndex = 1;
- plugins = with pkgs.tmuxPlugins; [
- vim-tmux-navigator
- yank
- {
- plugin = catppuccin;
- extraConfig =
- /*
- tmux
- */
- ''
- # NOTE: you can use vars with $ and $${} as long as the str is double quoted: ""
- # WARNING: hex colors can't contain capital letters
-
- # --> Gruvbox (Material)
- set -g @thm_bg "#222526"
- set -g @thm_fg "#d4be98"
- set -g @thm_cyan "#89b482"
- set -g @thm_black "#665c54"
- set -g @thm_gray "#504945"
- set -g @thm_magenta "#d3869b"
- set -g @thm_pink "#ea6962"
- set -g @thm_red "#ea6962"
- set -g @thm_green "#a9b665"
- set -g @thm_yellow "#d8a657"
- set -g @thm_blue "#7daea3"
- set -g @thm_orange "#e78a4e"
- set -g @thm_black4 "#928374"
-
- set -g @catppuccin_window_status_style "slanted"
- set -g status-position top
- '';
- }
- # resurrect
- # {
- # plugin = continuum;
- # extraConfig = ''
- # set -g @continuum-restore 'on'
- # '';
- # }
- # {
- # plugin = nord;
- # extraConfig = ''
- # set -g status-position top
- # '';
- # }
- # {
- # plugin = tokyo-night-tmux;
- # extraConfig = ''
- ## tokyo night tmux config
- #set -g @tokyo-night-tmux_theme "night"
- #set -g @tokyo-night-tmux_show_datetime 0
- #set -g @tokyo-night-tmux_path_format relative
- #set -g @tokyo-night-tmux_window_id_style digital
- #set -g @tokyo-night-tmux_pane_id_style hide
- #set -g @tokyo-night-tmux_show_git 0
- #
- ## Undercurl fixes (tokyonight.nvim)
- #set -g default-terminal "${TERM}"
- #set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
- #set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux 3.0
- # '';
- # }
- ];
- extraConfig =
- /*
- tmux
- */
- ''
- set -g default-terminal "tmux-256color"
- set-option -sa terminal-overrides ",xterm*:Tc"
- set-window-option -g pane-base-index 1
- set-option -g renumber-windows on
- set -sg escape-time 0
-
- # Use Alt-arrow keys without prefix key to switch panes
- bind -n M-Left select-pane -L
- bind -n M-Right select-pane -R
- bind -n M-Up select-pane -U
- bind -n M-Down select-pane -D
-
- # Shift arrow to switch windows
- bind -n S-Left previous-window
- bind -n S-Right next-window
-
- # Shift Alt vim keys to switch windows
- bind -n M-H previous-window
- bind -n M-L next-window
-
- bind-key -T copy-mode-vi v send-keys -X begin-selection
- bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
- bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
-
- bind '_' split-window -v -c "#{pane_current_path}"
- bind | split-window -h -c "#{pane_current_path}"
- bind c new-window -c "#{pane_current_path}"
-
- set -g status-position top
- run '~/.tmux/plugins/tpm/tpm'
- '';
- };
- };
- xdg.configFile."lf/icons".source = ../../dotfiles/lf-icons;
- programs.bat.enable = true;
- programs.eza.enable = true;
- programs.man.enable = true;
- home.packages = with pkgs; [
- ouch
- tmuxifier
- unstable.curlie
- unstable.gping
- unstable.ov
- unstable.tailspin
- unstable.viddy
- netscanner
- kalker
- unstable.steam-run
- fd
- ripgrep
- await
- procs
- duf
- dust
- nurl
- delta
- bottom
- unstable.dwt1-shell-color-scripts
- ];
-
- programs.fzf = {
- enable = true;
- enableZshIntegration = true;
- };
- services.gpg-agent.enableZshIntegration = true;
- programs.zsh = {
- enable = true;
- dotDir = ".config/zsh";
- enableCompletion = true;
- history = {
- path = "${config.home.homeDirectory}/.histfile";
- save = 1000000000;
- size = 100000000;
- };
- initExtraBeforeCompInit = ''
- # zstyle ':completion:*' menu select
- zstyle ':completion:*' menu no
- zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
- zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
- zstyle ':completion:*:descriptions' format '[%d]'
- zstyle ':completion::complete:*' gain-privileges 1
- zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
- zstyle ':fzf-tab:complete:+__zoxide_z:*' fzf-preview 'eza -1 --color=always $realpath'
- zstyle ':fzf-tab:*' switch-group '<' '>'
- zstyle ':completion:*:git-checkout:*' sort false
- # _comp_options+=(globdots)
- '';
- initExtra = ''
- setopt APPEND_HISTORY # Append to histfile instead of overwriting.
- setopt SHARE_HISTORY # Share history between all sessions.
- setopt HIST_IGNORE_SPACE # Do not record an event starting with a space.
- setopt HIST_IGNORE_ALL_DUPS # Delete an old recorded event if a new event is a duplicate.
- setopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history file.
- setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again.
- setopt HIST_FIND_NO_DUPS # Do not display a previously found event.
- setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format.
- setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history.
-
- # Set the directory we want to store zinit (and plugins) in
- # The XDG_DATA_HOME:-$HOME... line chooses XDG_DATA_HOME if it exists, otherwise .local/share
- ZINIT_HOME="''${XDG_DATA_HOME:-''${HOME}/.local/share}/zinit/zinit.git"
-
- # download zinit if it doesn't exist
- if [ ! -d "$ZINIT_HOME" ]; then
- mkdir -p "$(dirname $ZINIT_HOME)"
- git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
- fi
-
- # load zinit
- source "''${ZINIT_HOME}/zinit.zsh"
-
- #region plugins
- zinit light zsh-users/zsh-completions
- autoload -U compinit && compinit
- eval "$(fzf --zsh)"
- zinit light Aloxaf/fzf-tab
- zinit light zsh-users/zsh-syntax-highlighting
- zinit light zsh-users/zsh-autosuggestions
-
- # snippets
- zinit snippet OMZP::git
- zinit snippet OMZP::sudo
- zinit snippet OMZP::debian
- zinit snippet OMZP::command-not-found
- zinit snippet OMZP::extract
-
- zinit cdreplay -q
- eval "$(zoxide init --cmd cd zsh)"
- #endregion
-
- #region setopts
- while read -r option; do
- setopt $option
- done <<-EOF
- ALWAYS_TO_END
- AUTO_LIST
- AUTO_MENU
- AUTO_PARAM_SLASH
- AUTO_PUSHD
- ALWAYS_TO_END
- COMPLETE_IN_WORD
- EXTENDED_GLOB
- INC_APPEND_HISTORY
- INTERACTIVE_COMMENTS
- MENU_COMPLETE
- NO_BEEP
- NOTIFY
- PATH_DIRS
- PUSHD_IGNORE_DUPS
- PUSHD_SILENT
- EOF
- while read -r option; do
- unsetopt $option
- done <<-EOF
- CASE_GLOB
- CORRECT
- EQUALS
- FLOWCONTROL
- NOMATCH
- EOF
- #endregion
-
- # bindkey -v
- # zmodload zsh/complist
- # bindkey -M menuselect 'h' vi-backward-char
- # bindkey -M menuselect 'k' vi-up-line-or-history
- # bindkey -M menuselect 'l' vi-forward-char
- # bindkey -M menuselect 'j' vi-down-line-or-history
- bindkey "^a" vi-beginning-of-line
- bindkey "^e" vi-end-of-line
- bindkey '^p' history-search-backward
- bindkey '^n' history-search-forward
- bindkey '^f' autosuggest-accept
- bindkey -M emacs '^[^[' sudo-command-line
- bindkey -M vicmd '^[^[' sudo-command-line
- bindkey -M viins '^[^[' sudo-command-line
-
- # prompt init
- eval "$(${pkgs.oh-my-posh}/bin/oh-my-posh init zsh --config ${../../dotfiles/prompt.json})"
- '';
- dirHashes = {
- dl = "${config.xdg.userDirs.download}";
- docs = "${config.xdg.userDirs.documents}";
- code = "${config.xdg.userDirs.documents}/code";
- nix = "${config.home.homeDirectory}/nixos";
- nixos = "${config.home.homeDirectory}/nixos";
- pics = "${config.xdg.userDirs.pictures}";
- vids = "${config.xdg.userDirs.videos}";
- };
- sessionVariables = {
- DIRENV_LOG_FORMAT = "";
- LC_ALL = "en_US.UTF-8";
- # SSH_AUTH_SOCK = "$(gpgconf --list-dirs agent-ssh-socket)";
- KEYTIMEOUT = 1;
- GPG_TTY = "$(tty)";
- PATH = "$PATH:$HOME/bin";
- # FLAKE = "$HOME/sysconf/nix";
- };
- shellAliases = {
- tm = "tmuxifier";
- t = "tmux";
- # run = "nix-shell --command 'zsh' -p";
- run = "${runpkg}/bin/run";
- fhs = "steam-run";
- nsh = "nix-shell --command 'zsh'";
- nd = "nix develop";
- g = "git";
- gs = "git st";
- gst = "git st";
- src = "cd $HOME/dev";
- sv0 = "ssh -l root proxmox";
- nmcs = "ssh -l kd nmcs";
- pn = "pnpm";
- rm = "rm -rf";
- cp = "cp -ri";
- mkdir = "mkdir -p";
- free = "free -m";
- j = "just";
- ed = "code";
- nv = "nvim";
- sv = "sudo nvim";
- meteo = "curl http://wttr.in";
- cdi = "broot";
- bd = "popd || cd ..";
- lf = "yazi";
- ps = "procs";
- du = "dust";
- df = "duf";
- cdr = "cd \$(git rev-parse --show-toplevel)";
- # l = "eza -al --no-time --group-directories-first";
- # ls = "eza -al --no-time --group-directories-first";
- # la = "eza -a";
- # ll = "eza -l --no-time --group-directories-first";
- # lt = "eza -aT --no-time --group-directories-first";
- lg = "lazygit";
- ls = "eza -alTL 1 --icons --no-time --group-directories-first";
- la = "eza -a --icons --no-time --group-directories-first";
- cat = "bat --theme Nord --style numbers,changes --color=always --tabs=2 --wrap=never";
- diff = "delta";
- top = "btm";
- glg = "git lg";
- serve = "python3 -m http.server";
- ytmp3 = "yt-dlp --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-thumbnail --embed-metadata --output '%(title)s.%(ext)s'";
- pst = "${pst}/bin/pst";
- };
- };
-}
diff --git a/home/valerie/home.nix b/home/valerie/home.nix
deleted file mode 100644
index bbb9bf3..0000000
--- a/home/valerie/home.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- pkgs,
- lib,
- config,
- inputs,
- ...
-}: let
- hm = inputs.home-manager.lib.hm;
-in {
- home-manager.users.valerie = {
- # import home-manager modules
- imports = builtins.concatMap import [
- ../modules
- ];
-
- home = {
- file.".ssh/id_user.pub".text = builtins.readFile ../../system/waves/id_user.pub;
- file.".config/nixpkgs/config.nix".text = ''
- {
- allowUnfree = true;
- allowUnfreePredicate = _: true;
- }
- '';
- username = "valerie";
- homeDirectory = "/home/valerie";
- extraOutputsToInstall = ["doc" "devdoc"];
- packages =
- [
- inputs.nh.packages.x86_64-linux.default
- inputs.st.packages.x86_64-linux.st-snazzy
- ]
- ++ (with pkgs; [
- nom
- pinta
- vesktop
- signal-desktop
- blockbench
- blender
- prismlauncher
- unstable.vscode-fhs
- ]);
- sessionVariables = {
- NIX_AUTO_RUN = "1";
- NH_FLAKE = "/home/valerie/nixos";
- };
- stateVersion = "24.11";
- };
- nix.package = lib.mkForce pkgs.unstable.nixVersions.latest;
- nix.extraOptions = ''
- experimental-features = nix-command flakes
- '';
- manual = {
- html.enable = false;
- json.enable = false;
- manpages.enable = false;
- };
- programs.home-manager.enable = true;
- programs.git.enable = true;
- systemd.user.startServices = "sd-switch";
- };
- xdg.mime = {
- defaultApplications = {
- "applications/zip" = "org.gnome.FileRoller.desktop";
- };
- };
-}
diff --git a/hosts/wireframe/configuration.nix b/hosts/wireframe/configuration.nix
new file mode 100755
index 0000000..6d687fa
--- /dev/null
+++ b/hosts/wireframe/configuration.nix
@@ -0,0 +1,101 @@
+{
+ config,
+ pkgs,
+ lib,
+ outputs,
+ inputs,
+ ...
+}: {
+ imports = [
+ ./hardware-configuration.nix
+ ../../system/nix.nix
+ ../../system/sops.nix
+ ../../system/impermanence.nix
+ ../../system/battery.nix
+ ../../system/security.nix
+ ../../system/virtualisation.nix
+ # ../../system/kanata.nix
+ ../../system/sshd.nix
+ ../../system/pipewire.nix
+ ../../system/lnr.nix
+ ../../system/fonts.nix
+ ../../system/console.nix
+ ../../system/gui.nix
+ ../../system/i18n.nix
+ ../../system/nix-ld.nix
+ ];
+
+ boot.kernelPackages = pkgs.unstable.linuxPackages_latest;
+
+ # just in case for thunderbolt
+ services.hardware.bolt.enable = true;
+
+ sops.secrets.v-password.neededForUsers = true;
+ sops.secrets.root-password.neededForUsers = true;
+ users.mutableUsers = false;
+
+ users.users.v = {
+ uid = 1000;
+ description = "SD. V";
+ hashedPasswordFile = config.sops.secrets.v-password.path;
+ home = "/home/v";
+ createHome = true;
+ shell = pkgs.zsh;
+ openssh.authorizedKeys.keys = [
+ (builtins.readFile ../../files/id_user.pub)
+ ];
+ isNormalUser = true;
+ extraGroups = [
+ "wheel"
+ "networkmanager"
+ "audio"
+ "docker"
+ "input"
+ "libvirtd"
+ "plugdev"
+ "video"
+ "adbusers"
+ "uinput"
+ ];
+ };
+ users.users.root = {
+ shell = pkgs.zsh;
+ extraGroups = [];
+ hashedPasswordFile = config.sops.secrets.root-password.path;
+ openssh.authorizedKeys.keys = [
+ (builtins.readFile ../../files/id_user.pub)
+ ];
+ };
+
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+ networking.hostName = "wireframe";
+ networking.networkmanager.enable = true;
+ boot.supportedFilesystems = ["ntfs"];
+
+ hardware.bluetooth.enable = true;
+ hardware.bluetooth.powerOnBoot = true;
+
+ # services (in general)
+ services.gvfs.enable = true;
+ services.libinput.enable = true;
+ services.printing.enable = true;
+ services.flatpak.enable = true;
+
+ programs.adb.enable = true;
+
+ hardware.graphics = {
+ enable = true;
+ enable32Bit = true;
+ };
+
+ programs.appimage.binfmt = true;
+
+ environment.systemPackages = builtins.attrValues {
+ inherit (pkgs.unstable) unzip zip libvterm-neovim steam;
+ };
+
+ # fingerprint support
+ services.fprintd.enable = true;
+ system.stateVersion = "24.11";
+}
diff --git a/disko.nix b/hosts/wireframe/disko.nix
old mode 100644
new mode 100755
similarity index 65%
rename from disko.nix
rename to hosts/wireframe/disko.nix
index afe435e..73e25e4
--- a/disko.nix
+++ b/hosts/wireframe/disko.nix
@@ -1,6 +1,12 @@
-# sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko -- --mode disko /tmp/disko.nix
+# sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount ./disko.nix --argstr device "/dev/..."
# nixos-generate-config --no-filesystems --root /mnt
-# mv /tmp/disko.nix /mnt/etc/nixos
+# -- move nixos folder to /mnt/etc/nixos
+# nixos-install --flake /mnt/etc/nixos#wireframe --root /mnt
+#
+# https://github.com/nix-community/disko/blob/master/docs/quickstart.md
+#
+# make sure to put this nixos configuration into /etc/nixos after successful install. Also, add the generated sops key into the .sops.yaml and rebuild for sops support (do not forget `sops updatekeys -y secrets/secrets.yaml`)
+#
# REMOVE: https://www.youtube.com/watch?v=nLwbNhSxLd4 (Full NixOS Guide)
# REMOVE: https://www.youtube.com/watch?v=YPKwkWtK7l0
# IMPORTANT: this disk configuration is setup for *impermanance* systems.
@@ -16,11 +22,11 @@
content = {
type = "gpt";
partitions = {
- boot = {
- name = "boot";
- size = "1M";
- type = "EF02";
- };
+ # boot = {
+ # name = "boot";
+ # size = "1M";
+ # type = "EF02";
+ # };
ESP = {
name = "ESP";
size = "500M";
@@ -46,13 +52,6 @@
};
};
};
- swap = {
- size = "35G";
- content = {
- type = "swap";
- resumeDevice = true;
- };
- };
};
};
};
@@ -69,15 +68,20 @@
subvolumes = {
"/root" = {
mountpoint = "/";
- mountOptions = ["compress=zstd" "noatime"];
+ # mountOptions = ["compress=zstd" "noatime"];
+ };
+ "/persist" = {
+ mountpoint = "/persist";
+ # mountOptions = ["compress=zstd" "subvol=persist" "noatime"];
+ mountOptions = ["subvol=persist" "noatime"];
};
"/home" = {
mountpoint = "/home";
- mountOptions = ["compress=zstd" "noatime"];
+ mountOptions = ["compress=zstd" "subvol=home" "noatime"];
};
"/nix" = {
mountpoint = "/nix";
- mountOptions = ["compress=zstd" "noatime"];
+ mountOptions = ["compress=zstd" "subvol=nix" "noatime"];
};
};
};
diff --git a/system/waves/hardware-configuration.nix b/hosts/wireframe/hardware-configuration.nix
old mode 100644
new mode 100755
similarity index 68%
rename from system/waves/hardware-configuration.nix
rename to hosts/wireframe/hardware-configuration.nix
index a34f08d..6b30979
--- a/system/waves/hardware-configuration.nix
+++ b/hosts/wireframe/hardware-configuration.nix
@@ -12,9 +12,9 @@
(modulesPath + "/installer/scan/not-detected.nix")
];
- boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usbhid" "uas" "usb_storage" "sd_mod"];
+ boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usbhid" "uas" "sd_mod"];
boot.initrd.kernelModules = ["dm-snapshot"];
- boot.kernelModules = ["kvm-intel"];
+ boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
@@ -22,9 +22,9 @@
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces..useDHCP`.
networking.useDHCP = lib.mkDefault true;
- # networking.interfaces.enp58s0.useDHCP = lib.mkDefault true;
- # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
+ # networking.interfaces.enp193s0f3u2u3.useDHCP = lib.mkDefault true;
+ # networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+ hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
diff --git a/hosts/wireframe/home.nix b/hosts/wireframe/home.nix
new file mode 100755
index 0000000..5605fee
--- /dev/null
+++ b/hosts/wireframe/home.nix
@@ -0,0 +1,73 @@
+{
+ pkgs,
+ lib,
+ config,
+ inputs,
+ outputs,
+ ...
+}: {
+ imports =
+ [
+ inputs.sops-nix.homeManagerModules.sops
+ ]
+ ++ builtins.concatMap import [
+ ../../user/v.nix
+ ];
+
+ sops = {
+ age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
+
+ defaultSopsFile = ../../secrets/secrets.yaml;
+ validateSopsFiles = false;
+
+ secrets = {
+ "private_keys/user" = {
+ path = "${config.home.homeDirectory}/.ssh/id_ed25519";
+ };
+ };
+ };
+
+ home = {
+ file.".ssh/id_ed25519.pub".text = builtins.readFile ../../files/id_user.pub;
+ stateVersion = "24.11";
+ username = "v";
+ homeDirectory = "/home/${config.home.username}";
+ extraOutputsToInstall = ["doc" "devdoc"];
+ packages =
+ [
+ inputs.nh.packages.x86_64-linux.default
+ inputs.zen-browser.packages.x86_64-linux.default
+ (pkgs.discord.override {
+ withOpenASAR = false;
+ withVencord = true;
+ })
+ ]
+ ++ builtins.attrValues {
+ inherit
+ (pkgs)
+ signal-desktop
+ element-desktop
+ pinta
+ ;
+ inherit
+ (pkgs.unstable)
+ prismlauncher
+ ;
+ };
+ sessionVariables = {
+ NIX_AUTO_RUN = "1";
+ NH_FLAKE = "${config.home.homeDirectory}/nixos";
+ };
+ };
+ nix.package = lib.mkForce pkgs.unstable.nixVersions.latest;
+ nix.extraOptions = ''experimental-features = nix-command flakes'';
+ manual = {
+ html.enable = true;
+ json.enable = false;
+ manpages.enable = false;
+ };
+ programs.home-manager.enable = true;
+ programs.git.enable = true;
+ services.lorri.enable = true;
+ systemd.user.startServices = "sd-switch";
+}
diff --git a/konsole.desktop b/konsole.desktop
new file mode 100755
index 0000000..398590a
--- /dev/null
+++ b/konsole.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Categories=System
+Comment=Open Konsole
+Exec=konsole
+GenericName=Console
+Icon=utilities-terminal
+Name=Konsole
+Type=Application
+Version=1.4
\ No newline at end of file
diff --git a/overlays/default.nix b/overlays.nix
old mode 100644
new mode 100755
similarity index 57%
rename from overlays/default.nix
rename to overlays.nix
index 2e96bc1..60e298b
--- a/overlays/default.nix
+++ b/overlays.nix
@@ -1,23 +1,11 @@
{inputs, ...}: {
- # This one brings our custom packages from the 'pkgs' directory
- additions = final: _prev: import ../pkgs final.pkgs;
+ # This one brings our custom packages from the 'pkgs' directory.
+ additions = final: _prev: import ./pkgs final.pkgs;
# This one contains whatever you want to overlay
# You can change versions, add patches, set compilation flags, anything really.
# https://nixos.wiki/wiki/Overlays
- modifications = final: prev: {
- # example = prev.example.overrideAttrs (oldAttrs: rec {
- # ...
- # });
- tmuxPlugins =
- prev.tmuxPlugins
- // {
- tokyo-night-tmux = prev.callPackage ../pkgs/tokyo-night-tmux.nix {
- pkgs = prev;
- };
- };
- gnome-keyring = prev.gnome.gnome-keyring;
- };
+ modifications = final: prev: {};
# When applied, the unstable nixpkgs set (declared in the flake inputs) will
# be accessible through 'pkgs.unstable'
diff --git a/pkgs/default.nix b/pkgs/default.nix
old mode 100644
new mode 100755
index 27719c7..c274f9c
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -1,4 +1,3 @@
pkgs: {
- disko = pkgs.callPackage ./disko.nix pkgs;
- tokyo-night-tmux = pkgs.callPackage ./tokyo-night-tmux.nix pkgs;
+ fuchsia-cursors = pkgs.callPackage ./fuchsia-cursors.nix pkgs;
}
diff --git a/pkgs/disko.nix b/pkgs/disko.nix
deleted file mode 100644
index 74ebf98..0000000
--- a/pkgs/disko.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-pkgs:
-pkgs.writeShellScriptBin "disko" ''
- cat >disko.nix <disko.nix <
-```
-
-or all of them together:
-
-```sh
-nix flake update --commit-lock-file
-```
diff --git a/user/core.nix b/user/core.nix
new file mode 100755
index 0000000..d70e311
--- /dev/null
+++ b/user/core.nix
@@ -0,0 +1,14 @@
+{pkgs, ...}: {
+ home.packages = builtins.attrValues {
+ inherit
+ (pkgs)
+ spotify
+ wl-clipboard-rs
+ transmission_4-qt
+ ;
+ inherit
+ (pkgs.unstable)
+ steam-run
+ ;
+ };
+}
diff --git a/home/modules/dev/default.nix b/user/dev.nix
old mode 100644
new mode 100755
similarity index 58%
rename from home/modules/dev/default.nix
rename to user/dev.nix
index b0f2109..ee357ff
--- a/home/modules/dev/default.nix
+++ b/user/dev.nix
@@ -3,90 +3,23 @@
config,
...
}: {
- home.packages = with pkgs.unstable; [
- bruno
- xclip
- just
- nixd
- alejandra
- zoxide
- neovide
- nodejs
- corepack
- cargo-watch
- rustup
- gcc
- go
- jetbrains.idea-community
- cascadia-code
- jdk17
- # lua
- lua51Packages.lua
- tree-sitter
- luarocks
- gnumake
- ast-grep
- ncdu
- gh-dash
- hurl
- jnv
- rustscan
- slides
- markdownlint-cli2
- fx
- jq
- deno
- gleam
- unzip
- porsmo
- mprocs
-
- transmission_4-gtk
- ];
-
- # git
- programs.lazygit = {
- enable = true;
- settings = {
- gui = {
- showIcons = true;
- showFileTree = true;
- theme = {
- activeBorderColor = ["magenta" "bold"];
- inactiveBorderColor = ["black"];
- };
- };
- os = {
- editCommand = "nvim";
- editCommandTemplate = "{{editor}} {{filename}}";
- };
- keybinding.universal = {
- quit = "q";
- };
- };
+ home.packages = builtins.attrValues {
+ inherit
+ (pkgs.unstable)
+ bruno
+ zoxide
+ mprocs
+ just
+ zellij
+ ;
};
- programs.gitui = {
- enable = false;
- keyConfig = ''
- (
- move_left: Some(( code: Char('h'), modifiers: "")),
- move_right: Some(( code: Char('l'), modifiers: "")),
- move_up: Some(( code: Char('k'), modifiers: "")),
- move_down: Some(( code: Char('j'), modifiers: "")),
- stash_open: Some(( code: Char('l'), modifiers: "")),
- open_help: Some(( code: F(1), modifiers: "")),
-
- status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")),
- )
- '';
- };
programs.git = {
enable = true;
package = pkgs.gitAndTools.gitFull;
lfs.enable = true;
- userName = "valerie";
+ userName = "vivian";
userEmail = "hi@dessa.dev";
signing = {
key = "CC10324DD962CB7E";
@@ -111,15 +44,27 @@
rv = "remote -v";
df = "diff HEAD";
};
-
extraConfig = {
- init.defaultBranch = "main";
+ init.defaultBranch = "dev";
branch.autosetupmerge = "true";
push.default = "current";
merge.stat = "true";
core.whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol";
repack.usedeltabaseoffset = "true";
pull.ff = "only";
+ core = {
+ compression = 9;
+ preloadindex = true;
+ };
+ advice = {
+ addEmptyPathSpec = false;
+ pushNonFastForward = false;
+ statusHints = false;
+ };
+ url = {
+ "git@github.com:solviarose/".insteadOf = "rose:";
+ "git@github.com:".insteadOf = "gh:";
+ };
rebase = {
autoSquash = true;
autoStash = true;
@@ -128,6 +73,20 @@
enabled = true;
autoupdate = true;
};
+ status = {
+ branch = true;
+ showStash = true;
+ showUntrackedFiles = "all";
+ };
+ diff = {
+ context = 3;
+ renames = "copies";
+ interHunkContext = 10;
+ };
+ };
+ diff-so-fancy = {
+ enable = true;
+ markEmptyLines = false;
};
ignores = [
"*~"
@@ -139,12 +98,9 @@
};
programs.gh = {
enable = true;
- extensions = [
- pkgs.gh-copilot
- ];
gitCredentialHelper.enable = true;
settings = {
- editor = "nvim";
+ editor = "emacsclient --reuse-frame -a 'emacs'";
git_protocol = "ssh";
aliases = {
co = "pr checkout";
@@ -153,25 +109,17 @@
};
};
};
-
- # ssh
programs.ssh = {
enable = true;
matchBlocks = {
"hi@dessa.dev" = {
host = "gitlab.com github.com";
identitiesOnly = true;
- identityFile = [
- "~/.ssh/id_user"
- ];
};
"docker lmao" = {
host = "docker 192.168.1.203";
user = "git";
port = 2222;
- identityFile = [
- "~/.ssh/id_user"
- ];
};
};
};
@@ -186,9 +134,49 @@
services.gpg-agent = {
enable = true;
enableSshSupport = true;
- pinentryPackage = pkgs.pinentry-gnome3;
+ pinentryPackage = pkgs.pinentry-qt;
+ };
+
+ programs.emacs = {
+ enable = true;
+ package = pkgs.emacs-unstable;
+ extraPackages = epkgs: [
+ epkgs.treesit-grammars.with-all-grammars
+ epkgs.vterm
+ ];
};
home.sessionVariables = {
SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/keyring/ssh";
+ EMACSDIR = "${config.home.homeDirectory}/.emacs.d";
};
+
+ xdg.configFile."zellij/config.kdl".text = ''
+ default_shell "${pkgs.zsh}/bin/zsh"
+ show_startup_tips false
+ theme "catppuccin-frappe"
+
+ keybinds clear-defaults=true {
+ normal {
+ bind "Ctrl 1" { CloseTab; }
+ bind "Ctrl 2" { NewTab; }
+ bind "Ctrl 3" { GoToPreviousTab; }
+ bind "Ctrl 4" { GoToNextTab; }
+ }
+ }
+
+ ui {
+ pane_frames {
+ hide_session_name false
+ }
+ }
+ '';
+ xdg.configFile."zellij/layouts/default.kdl".text = ''
+ layout {
+ pane borderless=false
+ pane size=1 borderless=true {
+ plugin location="zellij:compact-bar"
+ }
+ }
+ pane_frames false
+ '';
}
diff --git a/user/obs.nix b/user/obs.nix
new file mode 100755
index 0000000..8effddb
--- /dev/null
+++ b/user/obs.nix
@@ -0,0 +1,8 @@
+{pkgs, ...}: {
+ programs.obs-studio = {
+ enable = true;
+ plugins = builtins.attrValues {
+ inherit (pkgs.obs-studio-plugins) wlrobs;
+ };
+ };
+}
diff --git a/user/qt.nix b/user/qt.nix
new file mode 100755
index 0000000..87150ca
--- /dev/null
+++ b/user/qt.nix
@@ -0,0 +1,14 @@
+{pkgs, ...}: {
+ qt = {
+ enable = true;
+ };
+
+ home.pointerCursor = {
+ package = pkgs.fuchsia-cursors;
+ x11.enable = true;
+ x11.defaultCursor = "Fuchsia";
+ gtk.enable = true;
+ name = "Fuchsia";
+ size = 20;
+ };
+}
diff --git a/user/term.nix b/user/term.nix
new file mode 100755
index 0000000..3822ad5
--- /dev/null
+++ b/user/term.nix
@@ -0,0 +1,235 @@
+{
+ config,
+ pkgs,
+ inputs,
+ ...
+}: {
+ xdg.configFile = {
+ "ghostty/config".source = "${../files/ghostty-config}";
+ };
+ programs = {
+ bat = {
+ enable = true;
+ config = {
+ pager = "less -FR";
+ theme = "Tomorrow Night";
+ style = "numbers,changes";
+ tabs = "2";
+ wrap = "never";
+ };
+ themes = {
+ tomorrow-night = {
+ src = pkgs.fetchFromGitHub {
+ owner = "chriskempson";
+ repo = "Tomorrow-Theme";
+ rev = "ccf6666d888198d341b26b3a99d0bc96500ad503";
+ sha256 = "sha256-G9NOFKP9GX8lKIoHVska6xAY9AKKMenZuVkx0YgfQyA=";
+ };
+ file = "TextMate/Tomorrow-Night.tmTheme";
+ };
+ };
+ };
+ eza.enable = true;
+ man.enable = true;
+ };
+ home.packages = builtins.attrValues {
+ inherit
+ (pkgs)
+ #tailspin
+ #curlie
+ #ouch
+ #viddy
+ #netscanner
+ #kalker
+ fd
+ ripgrep
+ # await
+ ghostty
+ bottom
+ direnv
+ ;
+ };
+
+ programs.fzf = {
+ enable = true;
+ enableZshIntegration = true;
+ };
+ services.gpg-agent.enableZshIntegration = true;
+
+ programs.zsh = let
+ emacs_client = ''emacsclient --create-frame --alternate-editor=""'';
+ in {
+ enable = true;
+ dotDir = ".config/zsh";
+ enableCompletion = false;
+ autosuggestion.enable = false;
+ history = {
+ path = "${config.home.homeDirectory}/.cache/.zsh-histfile";
+ save = 1000000000;
+ size = 100000000;
+ };
+ initExtraBeforeCompInit = ''
+ zstyle ':completion:*' menu select
+ zstyle ':completion:*' menu no
+ zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
+ zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
+ zstyle ':completion:*:descriptions' format '[%d]'
+ zstyle ':completion::complete:*' gain-privileges 1
+ zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
+ zstyle ':fzf-tab:complete:+__zoxide_z:*' fzf-preview 'eza -1 --color=always $realpath'
+ zstyle ':fzf-tab:*' switch-group '<' '>'
+ zstyle ':completion:*:git-checkout:*' sort false
+ # _comp_options+=(globdots)
+ #setopt APPEND_HISTORY # Append to histfile instead of overwriting.
+ setopt SHARE_HISTORY # Share history between all sessions.
+ setopt HIST_IGNORE_SPACE # Do not record an event starting with a space.
+ #setopt HIST_IGNORE_ALL_DUPS # Delete an old recorded event if a new event is a duplicate.
+ setopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history file.
+ setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again.
+ setopt HIST_FIND_NO_DUPS # Do not display a previously found event.
+ #setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format.
+ #setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history.
+ function error() { print -P "%F{red}[ERROR]%f: %F{yellow}$1%f" && return 1 }
+ function info() { print -P "%F{blue}[INFO]%f: %F{cyan}$1%f"; }
+ typeset -gAH ZINIT;
+ ZINIT[HOME_DIR]=''${XDG_DATA_HOME:-''${HOME}/.local/share}/zinit ZPFX=$ZINIT[HOME_DIR]/polaris
+ ZINIT[BIN_DIR]=$ZINIT[HOME_DIR]/zinit.git ZINIT[OPTIMIZE_OUT_DISK_ACCESSES]=1
+ ZINIT[COMPLETIONS_DIR]=$ZINIT[HOME_DIR]/completions ZINIT[SNIPPETS_DIR]=$ZINIT[HOME_DIR]/snippets
+ ZINIT[ZCOMPDUMP_PATH]=$ZINIT[HOME_DIR]/zcompdump ZINIT[PLUGINS_DIR]=$ZINIT[HOME_DIR]/plugins
+ ZI_REPO='zdharma-continuum'
+ if [[ ! -e $ZINIT[BIN_DIR] ]]; then
+ info 'downloading zinit' \
+ && command git clone \
+ https://github.com/$ZI_REPO/zinit.git \
+ $ZINIT[BIN_DIR] \
+ || error 'failed to clone zinit repository' \
+ && info 'setting up zinit' \
+ && command chmod g-rwX $ZINIT[HOME_DIR] \
+ && zcompile $ZINIT[BIN_DIR]/zinit.zsh \
+ && info 'sucessfully installed zinit'
+ fi
+ if [[ -e $ZINIT[BIN_DIR]/zinit.zsh ]]; then
+ source $ZINIT[BIN_DIR]/zinit.zsh \
+ && autoload -Uz _zinit \
+ && (( ''${+_comps} )) \
+ && _comps[zinit]=_zinit
+ else error "unable to find 'zinit.zsh'" && return 1
+ fi
+ '';
+ initExtra = ''
+ zi wait lucid light-mode for \
+ Aloxaf/fzf-tab \
+ atinit"zicompinit; zicdreplay" \
+ zdharma-continuum/fast-syntax-highlighting \
+ atload"_zsh_autosuggest_start" \
+ zsh-users/zsh-autosuggestions \
+ blockf atpull'zinit creisntall -q .' \
+ zsh-users/zsh-completions
+ zinit cdreplay -q
+ bindkey -v
+ bindkey "^a" vi-beginning-of-line
+ bindkey "^e" vi-end-of-line
+ bindkey '^p' history-search-backward
+ bindkey '^n' history-search-forward
+ #bindkey '^f' autosuggest-accept
+
+ while read -r option; do
+ setopt $option
+ done <<-EOF
+ ALWAYS_TO_END
+ AUTO_LIST
+ AUTO_MENU
+ AUTO_PARAM_SLASH
+ AUTO_PUSHD
+ ALWAYS_TO_END
+ COMPLETE_IN_WORD
+ EXTENDED_GLOB
+ INC_APPEND_HISTORY
+ INTERACTIVE_COMMENTS
+ MENU_COMPLETE
+ NO_BEEP
+ NOTIFY
+ PATH_DIRS
+ PUSHD_IGNORE_DUPS
+ PUSHD_SILENT
+ EOF
+ while read -r option; do
+ unsetopt $option
+ done <<-EOF
+ CASE_GLOB
+ CORRECT
+ EQUALS
+ FLOWCONTROL
+ NOMATCH
+ EOF
+
+ # prompt init
+ zi light mroth/evalcache
+ eval "$(${pkgs.oh-my-posh}/bin/oh-my-posh init zsh --config ${../files/prompt.json})"
+ _evalcache fzf --zsh
+ _evalcache zoxide init --cmd cd zsh
+ _evalcache direnv hook zsh
+ zi for atload'
+ zicompinit; zicdreplay
+ _zsh_highlight_bind_widgets
+ _zsh_autosuggest_bind_widgets' \
+ as'null' id-as'zinit/cleanup' lucid nocd wait \
+ $ZI_REPO/null
+ '';
+ dirHashes = {
+ dl = "${config.xdg.userDirs.download}";
+ docs = "${config.xdg.userDirs.documents}";
+ ops = "${config.xdg.userDirs.documents}/ops";
+ code = "${config.xdg.userDirs.documents}/ops/code";
+ nixos = "/etc/nixos";
+ pics = "${config.xdg.userDirs.pictures}";
+ vids = "${config.xdg.userDirs.videos}";
+ };
+ sessionVariables = {
+ DIRENV_LOG_FORMAT = "";
+ LC_ALL = "en_US.UTF-8";
+ # SSH_AUTH_SOCK = "$(gpgconf --list-dirs agent-ssh-socket)";
+ KEYTIMEOUT = 1;
+ GPG_TTY = "$(tty)";
+ PATH = "$PATH:$HOME/bin";
+ EDITOR = "em";
+ ALTERNATE_EDITOR = "emacs --init-directory='~/.demacs.d'";
+ };
+ shellAliases = {
+ fhs = "steam-run";
+ nsh = "nix-shell --command 'zsh'";
+ nd = "nix develop";
+ # tempemacs = "emacs -q --init-directory=`mktemp -d`";
+ # also dont forget --debug-init
+ em = emacs_client;
+ ff = "emacsclient";
+ ed = "emacsclient -nw -a=''";
+ g = "git";
+ gs = "git st";
+ gc = "git clone";
+ gi = "git init";
+ gr = "git sync";
+ gd = "git diff --output-indicator-new=' ' --output-indicator-old=' '";
+ gdf = "git df --output-indicator-new=' ' --output-indicator-old=' '";
+ gp = "git push";
+ gl = "git pull";
+ ga = "git add";
+ gap = "git add --patch";
+ gb = "git branch";
+ cp = "cp -ri";
+ mkdir = "mkdir -p";
+ free = "free -m";
+ j = "just";
+ meteo = "curl http://wttr.in";
+ bd = "popd || cd ..";
+ cdr = "cd \$(git rev-parse --show-toplevel)";
+ ls = "eza -al --icons --no-time --group-directories-first";
+ la = "eza -a --icons --no-time --group-directories-first";
+ cat = "bat";
+ top = "btm";
+ glg = "git lg";
+ serve = "${pkgs.python3}/bin/python3 -m http.server";
+ ytmp3 = "${pkgs.yt-dlp}/bin/yt-dlp --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 0 --embed-thumbnail --embed-metadata --output '%(title)s.%(ext)s'";
+ };
+ };
+}
diff --git a/user/v.nix b/user/v.nix
new file mode 100755
index 0000000..e3a5950
--- /dev/null
+++ b/user/v.nix
@@ -0,0 +1,8 @@
+[
+ ./qt.nix
+ ./zathura.nix
+ ./obs.nix
+ ./core.nix
+ ./dev.nix
+ ./term.nix
+]
diff --git a/home/modules/core/default.nix b/user/zathura.nix
old mode 100644
new mode 100755
similarity index 73%
rename from home/modules/core/default.nix
rename to user/zathura.nix
index 25eec8c..6f844b8
--- a/home/modules/core/default.nix
+++ b/user/zathura.nix
@@ -1,20 +1,4 @@
-{pkgs, ...}: {
- home.packages = with pkgs; [
- spotify
-
- noto-fonts
- noto-fonts-emoji
- material-design-icons
- commit-mono
- corefonts
- vistafonts
- (google-fonts.override {fonts = ["Overpass" "Nunito"];})
- (nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];})
- ];
- services.gnome-keyring = {
- enable = true;
- components = ["secrets" "ssh"];
- };
+{...}: {
programs.zathura = {
enable = true;
extraConfig = ''
@@ -55,14 +39,8 @@
set recolor-lightcolor "#2E3440"
set recolor-darkcolor "#ECEFF4"
set recolor "true"
- set font "Lacklustre"
+ set font "Null Mono"
set guioptions none
'';
};
- programs.obs-studio = {
- enable = true;
- plugins = with pkgs.obs-studio-plugins; [
- wlrobs
- ];
- };
}