chore: rewrite for new laptop
This commit is contained in:
parent
bdcc34353f
commit
fe5d9a5d22
54 changed files with 1202 additions and 2343 deletions
9
.sops.yaml
Executable file
9
.sops.yaml
Executable file
|
@ -0,0 +1,9 @@
|
||||||
|
keys:
|
||||||
|
- &dev age1jqwgu73py5m6zsql6mntqlv7g54pfykgpn8d5emxwezyuf59xqhqvfxtej
|
||||||
|
- &wireframe age1ct3sesrp4e8jv982hauzw9slzkp99gyshcht9ughmfm0k9ze4pps5m3tt8
|
||||||
|
creation_rules:
|
||||||
|
- path_regex: secrets/secrets.yaml$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *dev
|
||||||
|
- *wireframe
|
0
home/dotfiles/alphacoder-1350453.png → files/alphacoder-1350453.png
Normal file → Executable file
0
home/dotfiles/alphacoder-1350453.png → files/alphacoder-1350453.png
Normal file → Executable file
Before Width: | Height: | Size: 5.2 MiB After Width: | Height: | Size: 5.2 MiB |
22
files/ghostty-config
Executable file
22
files/ghostty-config
Executable file
|
@ -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
|
21
files/ghostty-oldworld
Executable file
21
files/ghostty-oldworld
Executable file
|
@ -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
|
0
system/waves/id_user.pub → files/id_user.pub
Normal file → Executable file
0
system/waves/id_user.pub → files/id_user.pub
Normal file → Executable file
14
home/dotfiles/prompt.json → files/prompt.json
Normal file → Executable file
14
home/dotfiles/prompt.json → files/prompt.json
Normal file → Executable file
|
@ -19,22 +19,24 @@
|
||||||
"style": "letter"
|
"style": "letter"
|
||||||
},
|
},
|
||||||
"style": "plain",
|
"style": "plain",
|
||||||
"template": "{{.Path}} ",
|
"template": "{{ $segment := .Segments.Git }}{{ if $segment.Dir }}<b>{{ $segment.RepoName }}</b>{{if ne $segment.RepoName .Path}}{{ trimPrefix $segment.Dir .PWD }}{{ end }}{{ else }}{{ path .Path .Location }}{{ end }} ",
|
||||||
"type": "path"
|
"type": "path"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"foreground": "p:whiteish",
|
"foreground": "p:whiteish",
|
||||||
"properties": {
|
"properties": {
|
||||||
"branch_icon": "",
|
"branch_icon": "",
|
||||||
"branch_ahead_icon": "\u21e1",
|
"branch_identical_icon": "",
|
||||||
"branch_behind_icon": "\u21e3",
|
"branch_ahead_icon": "<#88C0D0>\u21e1</>",
|
||||||
|
"branch_behind_icon": "<#88C0D0>\u21e3</>",
|
||||||
|
"branch_gone_icon": "<p:error>×</>",
|
||||||
"fetch_stash_count": true,
|
"fetch_stash_count": true,
|
||||||
"fetch_status": true,
|
"fetch_status": true,
|
||||||
"fetch_upstream_icon": true,
|
"fetch_upstream_icon": true,
|
||||||
"github_icon": ""
|
"github_icon": ""
|
||||||
},
|
},
|
||||||
"style": "plain",
|
"style": "plain",
|
||||||
"template": "<p:backgroundish>on </>{{.HEAD}}<p:backgroundish></> ",
|
"template": "<p:backgroundish>{{.HEAD}}{{if .BranchStatus }} {{.BranchStatus}}{{end}}{{ if .Working.Changed }}<p:error>*</>{{ end }}{{if gt .StashCount 0}}${{end}}</> ",
|
||||||
"type": "git"
|
"type": "git"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -45,7 +47,7 @@
|
||||||
"{{if gt .Code 0}}p:error{{end}}"
|
"{{if gt .Code 0}}p:error{{end}}"
|
||||||
],
|
],
|
||||||
"style": "plain",
|
"style": "plain",
|
||||||
"template": "<b>{{if .Root}}#{{else}}λ{{end}}</b> ",
|
"template": "<b>{{if .Root}}#{{else}}\u276f{{end}}</b> ",
|
||||||
"type": "text"
|
"type": "text"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -71,7 +73,7 @@
|
||||||
"{{if contains .Env.IN_NIX_SHELL \"impure\"}}p:nix{{end}}",
|
"{{if contains .Env.IN_NIX_SHELL \"impure\"}}p:nix{{end}}",
|
||||||
"{{if gt .Code 0 }}p:error{{ end }}"
|
"{{if gt .Code 0 }}p:error{{ end }}"
|
||||||
],
|
],
|
||||||
"template": "<b>λ</b> "
|
"template": "<b>\u276f</b> "
|
||||||
},
|
},
|
||||||
"secondary_prompt": {
|
"secondary_prompt": {
|
||||||
"foreground": "p:backgroundish",
|
"foreground": "p:backgroundish",
|
0
files/zellij/config.kdl
Normal file
0
files/zellij/config.kdl
Normal file
678
flake.lock
Normal file → Executable file
678
flake.lock
Normal file → Executable file
|
@ -1,34 +1,17 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"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": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs-unstable"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732742778,
|
"lastModified": 1744940522,
|
||||||
"narHash": "sha256-i+Uw8VOHzQe9YdNwKRbzvaPWLE07tYVqUDzSFTXhRgk=",
|
"narHash": "sha256-TNoetfICvd29DhxRPpmyKItQBDlqSvKcV+wGNkn14jk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "341482e2f4d888e3f60cae1c12c3df896e7230d8",
|
"rev": "51d33bbb7f1e74ba5f9d9a77357735149da99081",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -37,130 +20,37 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dream2nix": {
|
"emacs-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nix-inspect",
|
"nixpkgs-unstable"
|
||||||
"nci",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
],
|
||||||
"purescript-overlay": "purescript-overlay",
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
"pyproject-nix": "pyproject-nix"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709959559,
|
"lastModified": 1745169495,
|
||||||
"narHash": "sha256-Gb+tUU+clGKVBwiznTQf0emZZ+heALqoVwUgI0O13L8=",
|
"narHash": "sha256-e9+CfVIrI/iGZVjUeS/h/bOG/55MdvGwOP6m9ncz27Q=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "dream2nix",
|
"repo": "emacs-overlay",
|
||||||
"rev": "42838c590971da17a4b6483962707b7fb7b8b9a7",
|
"rev": "d24224780e6cb41af7b46a17d39306e5e982aa15",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "dream2nix",
|
"repo": "emacs-overlay",
|
||||||
"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",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
"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": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730504689,
|
"lastModified": 1743550720,
|
||||||
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -174,11 +64,11 @@
|
||||||
"flake-utils": "flake-utils_2"
|
"flake-utils": "flake-utils_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1722363685,
|
"lastModified": 1738591040,
|
||||||
"narHash": "sha256-XCf2PIAT6lH7BwytgioPmVf/wkzXjSKScC4KzcZgb64=",
|
"narHash": "sha256-4WNeriUToshQ/L5J+dTSWC5OJIwT39SEP7V7oylndi8=",
|
||||||
"owner": "gytis-ivaskevicius",
|
"owner": "gytis-ivaskevicius",
|
||||||
"repo": "flake-utils-plus",
|
"repo": "flake-utils-plus",
|
||||||
"rev": "6b10f51ff73a66bb29f3bc8151a59d217713f496",
|
"rev": "afcb15b845e74ac5e998358709b2b5fe42a948d1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -205,92 +95,6 @@
|
||||||
"type": "github"
|
"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": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -298,113 +102,47 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732793095,
|
"lastModified": 1744743431,
|
||||||
"narHash": "sha256-6TrknJ8CpvSSF4gviQSeD+wyj3siRcMvdBKhOXkEMKU=",
|
"narHash": "sha256-iyn/WBYDc7OtjSawbegINDe/gIkok888kQxk3aVnkgg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "2f7739d01080feb4549524e8f6927669b61c6ee3",
|
"rev": "c61bfe3ae692f42ce688b5865fac9e0de58e1387",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
|
"ref": "release-24.11",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mk-naked-shell": {
|
"impermanence": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681286841,
|
"lastModified": 1737831083,
|
||||||
"narHash": "sha256-3XlJrwlR0nBiREnuogoa5i1b4+w/XPe0z8bbrJASw0g=",
|
"narHash": "sha256-LJggUHbpyeDvNagTUrdhe/pRVp4pnS6wVKALS782gRI=",
|
||||||
"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=",
|
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "neovim-nightly-overlay",
|
"repo": "impermanence",
|
||||||
"rev": "b09ab000f85a830fac6f599947dfa268227aab31",
|
"rev": "4b3e914cdf97a5b536a889e939fb2fd2b043a170",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "neovim-nightly-overlay",
|
"repo": "impermanence",
|
||||||
"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",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nh": {
|
"nh": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs-unstable"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732782112,
|
"lastModified": 1743682999,
|
||||||
"narHash": "sha256-8rxzWGOVyijmE2ojWJxPEWqtUQ7i/lA5TvLoklwI4qw=",
|
"narHash": "sha256-bg+aAN8K90r3m/I+xXiXG0gawpbkshwlk93wxUN7KEk=",
|
||||||
"owner": "viperML",
|
"owner": "viperML",
|
||||||
"repo": "nh",
|
"repo": "nh",
|
||||||
"rev": "24293d624556d32bd502c440b352e4fef4eeab6d",
|
"rev": "9e9a4590b38b62b28f07a1fae973ce7b6ca0687a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -415,18 +153,17 @@
|
||||||
},
|
},
|
||||||
"nix-gaming": {
|
"nix-gaming": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs-unstable"
|
||||||
],
|
]
|
||||||
"umu": "umu"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732758553,
|
"lastModified": 1745114168,
|
||||||
"narHash": "sha256-divlhUduT0/t8D9k11Yd3Ah3xpr302vV1KXxIMb8I3M=",
|
"narHash": "sha256-x+HdFBsfRznwWPpnqXM3yaTVz2CcK5X/ThY6BA3PgcI=",
|
||||||
"owner": "fufexan",
|
"owner": "fufexan",
|
||||||
"repo": "nix-gaming",
|
"repo": "nix-gaming",
|
||||||
"rev": "effe1d54e23f430d3e803f63e9e47aba33acfb63",
|
"rev": "05b70003daf802fd5c0af3903fab5f23fef3c47c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -435,100 +172,60 @@
|
||||||
"type": "github"
|
"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": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732617236,
|
"lastModified": 1744440957,
|
||||||
"narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=",
|
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e",
|
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "nixos",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-24.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730504152,
|
"lastModified": 1743296961,
|
||||||
"narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=",
|
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
|
||||||
"type": "tarball",
|
"owner": "nix-community",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
"repo": "nixpkgs.lib",
|
||||||
|
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
|
||||||
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"owner": "nix-community",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
"repo": "nixpkgs.lib",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731797254,
|
"lastModified": 1744440957,
|
||||||
"narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=",
|
"narHash": "sha256-FHlSkNqFmPxPJvy+6fNLaNeWnF1lZSgqVCl/eWaJRc4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59",
|
"rev": "26d499fc9f1d567283d5d56fcf367edd815dba1d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-24.05",
|
"ref": "nixos-24.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732521221,
|
"lastModified": 1744932701,
|
||||||
"narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=",
|
"narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d",
|
"rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -540,43 +237,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709961763,
|
"lastModified": 1744502386,
|
||||||
"narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=",
|
"narHash": "sha256-QAd1L37eU7ktL2WeLLLTmI6P9moz9+a/ONO8qNBYJgM=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34",
|
"rev": "f6db44a8daa59c40ae41ba6e5823ec77fe0d2124",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixpkgs-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732749044,
|
"lastModified": 1736344531,
|
||||||
"narHash": "sha256-T38FQOg0BV5M8FN1712fovzNakSOENEYs+CSkg31C9Y=",
|
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0c5b4ecbed5b155b705336aa96d878e55acd8685",
|
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
|
||||||
"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",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -586,182 +267,36 @@
|
||||||
"type": "github"
|
"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": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
|
"emacs-overlay": "emacs-overlay",
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"neovim-nightly-overlay": "neovim-nightly-overlay",
|
"impermanence": "impermanence",
|
||||||
"nh": "nh",
|
"nh": "nh",
|
||||||
"nix-gaming": "nix-gaming",
|
"nix-gaming": "nix-gaming",
|
||||||
"nix-inspect": "nix-inspect",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixos-cosmic": "nixos-cosmic",
|
|
||||||
"nixpkgs": "nixpkgs_3",
|
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"st": "st"
|
"sops-nix": "sops-nix",
|
||||||
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"sops-nix": {
|
||||||
"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": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_2"
|
||||||
"nixos-cosmic",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1732588352,
|
"lastModified": 1744669848,
|
||||||
"narHash": "sha256-J2/hxOO1VtBA/u+a+9E+3iJpWT3xsBdghgYAVfoGCJo=",
|
"narHash": "sha256-pXyanHLUzLNd3MX9vsWG+6Z2hTU8niyphWstYEP3/GU=",
|
||||||
"owner": "oxalica",
|
"owner": "Mic92",
|
||||||
"repo": "rust-overlay",
|
"repo": "sops-nix",
|
||||||
"rev": "414e748aae5c9e6ca63c5aafffda03e5dad57ceb",
|
"rev": "61154300d945f0b147b30d24ddcafa159148026a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "oxalica",
|
"owner": "Mic92",
|
||||||
"repo": "rust-overlay",
|
"repo": "sops-nix",
|
||||||
"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",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -780,52 +315,23 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"treefmt": {
|
"zen-browser": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": "nixpkgs_3"
|
||||||
"nix-inspect",
|
|
||||||
"nci",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710088047,
|
"lastModified": 1742688375,
|
||||||
"narHash": "sha256-eSqKs6ZCsX9xJyNYLeMDMrxzIDsYtaWClfZCOp0ok6Y=",
|
"narHash": "sha256-yVsET+na0V2edU+5xZTchrZqbN7+uMOOtZ7FfZc79bg=",
|
||||||
"owner": "numtide",
|
"owner": "valnyx17",
|
||||||
"repo": "treefmt-nix",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "720322c5352d7b7bd2cb3601a9176b0e91d1de7d",
|
"rev": "05e9fd204ae043ceb1ed056460b4ca03fa413c12",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "numtide",
|
"owner": "valnyx17",
|
||||||
"repo": "treefmt-nix",
|
"repo": "zen-browser-flake",
|
||||||
"type": "github"
|
"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",
|
"root": "root",
|
||||||
|
|
95
flake.nix
Normal file → Executable file
95
flake.nix
Normal file → Executable file
|
@ -1,41 +1,32 @@
|
||||||
{
|
{
|
||||||
description = "nixos system configuration";
|
description = "V's NixOS Configuration";
|
||||||
|
|
||||||
inputs = {
|
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";
|
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";
|
flake-utils.url = "github:gytis-ivaskevicius/flake-utils-plus";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager/release-24.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
disko = {
|
disko = {
|
||||||
url = "github:nix-community/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 = {
|
nh = {
|
||||||
url = "github:viperML/nh";
|
url = "github:viperML/nh";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-inspect.url = "github:bluskript/nix-inspect";
|
|
||||||
|
|
||||||
nix-gaming = {
|
nix-gaming = {
|
||||||
url = "github:fufexan/nix-gaming";
|
url = "github:fufexan/nix-gaming";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
};
|
};
|
||||||
|
emacs-overlay = {
|
||||||
nixos-cosmic = {
|
url = "github:nix-community/emacs-overlay";
|
||||||
url = "github:lilyinstarlight/nixos-cosmic";
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
st.url = "github:devawaves/st";
|
|
||||||
|
|
||||||
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
|
@ -43,7 +34,6 @@
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
home-manager,
|
home-manager,
|
||||||
flake-utils,
|
flake-utils,
|
||||||
nixos-cosmic,
|
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
mkApp = flake-utils.lib.mkApp;
|
mkApp = flake-utils.lib.mkApp;
|
||||||
|
@ -51,60 +41,49 @@
|
||||||
in
|
in
|
||||||
mkFlake {
|
mkFlake {
|
||||||
inherit self inputs nixpkgs home-manager;
|
inherit self inputs nixpkgs home-manager;
|
||||||
channelsConfig.allowUnfree = true;
|
overlays = import ./overlays.nix {inherit inputs;};
|
||||||
sharedOverlays = [
|
sharedOverlays = [
|
||||||
self.overlays.additions
|
self.overlays.additions
|
||||||
self.overlays.modifications
|
self.overlays.modifications
|
||||||
self.overlays.unstable-packages
|
self.overlays.unstable-packages
|
||||||
];
|
];
|
||||||
|
|
||||||
# host defaults
|
|
||||||
hostDefaults.system = "x86_64-linux";
|
|
||||||
hostDefaults.modules = [];
|
|
||||||
hostDefaults.extraArgs = {inherit flake-utils;};
|
hostDefaults.extraArgs = {inherit flake-utils;};
|
||||||
hostDefaults.specialArgs = {
|
hostDefaults.specialArgs = {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
};
|
};
|
||||||
|
|
||||||
hosts.waves = {
|
hosts.wireframe = {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
inputs.disko.nixosModules.default
|
inputs.disko.nixosModules.default
|
||||||
(import ./disko.nix {device = "/dev/disk/by-id/nvme-Samsung_SSD_980_PRO_with_Heatsink_1TB_S6WSNJ0T900943T";})
|
(import ./hosts/wireframe/disko.nix {device = "/dev/disk/by-id/nvme-Samsung_SSD_979_PRO_with_Heatsink_1TB_S6WSNJ0T900943T";})
|
||||||
{
|
inputs.impermanence.nixosModules.impermanence
|
||||||
nix.settings = {
|
./hosts/wireframe/configuration.nix
|
||||||
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
|
|
||||||
];
|
];
|
||||||
output = "nixosConfigurations";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
overlays = import ./overlays {inherit inputs;};
|
homeConfigurations = {
|
||||||
}
|
"v@wireframe" = home-manager.lib.homeManagerConfiguration {
|
||||||
// flake-utils.lib.eachDefaultSystem (system: let
|
pkgs = import nixpkgs {
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
system = "x86_64-linux";
|
||||||
inherit (self) outputs;
|
overlays = [
|
||||||
in {
|
self.overlays.additions
|
||||||
packages = import ./pkgs pkgs;
|
self.overlays.modifications
|
||||||
|
self.overlays.unstable-packages
|
||||||
apps = {
|
inputs.emacs-overlay.overlays.default
|
||||||
"disko" = {
|
];
|
||||||
type = "app";
|
config = {
|
||||||
program = "${outputs.packages.${system}.disko}/bin/disko";
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
modules = [./hosts/wireframe/home.nix];
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
inherit (self) outputs;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
formatter = pkgs.alejandra;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -1,5 +0,0 @@
|
||||||
if [[ -z "$2" ]]; then
|
|
||||||
nix-shell -p $1 --run zsh
|
|
||||||
else
|
|
||||||
nix-shell -p $1 --run "$2"
|
|
||||||
fi
|
|
|
@ -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
|
|
|
@ -1,6 +0,0 @@
|
||||||
[
|
|
||||||
./core
|
|
||||||
./term
|
|
||||||
./dev
|
|
||||||
./gnome.nix
|
|
||||||
]
|
|
|
@ -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 = "<Super>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
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -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 $<var> and $${<var>} 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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
101
hosts/wireframe/configuration.nix
Executable file
101
hosts/wireframe/configuration.nix
Executable file
|
@ -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";
|
||||||
|
}
|
38
disko.nix → hosts/wireframe/disko.nix
Normal file → Executable file
38
disko.nix → hosts/wireframe/disko.nix
Normal file → Executable file
|
@ -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
|
# 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=nLwbNhSxLd4 (Full NixOS Guide)
|
||||||
# REMOVE: https://www.youtube.com/watch?v=YPKwkWtK7l0
|
# REMOVE: https://www.youtube.com/watch?v=YPKwkWtK7l0
|
||||||
# IMPORTANT: this disk configuration is setup for *impermanance* systems.
|
# IMPORTANT: this disk configuration is setup for *impermanance* systems.
|
||||||
|
@ -16,11 +22,11 @@
|
||||||
content = {
|
content = {
|
||||||
type = "gpt";
|
type = "gpt";
|
||||||
partitions = {
|
partitions = {
|
||||||
boot = {
|
# boot = {
|
||||||
name = "boot";
|
# name = "boot";
|
||||||
size = "1M";
|
# size = "1M";
|
||||||
type = "EF02";
|
# type = "EF02";
|
||||||
};
|
# };
|
||||||
ESP = {
|
ESP = {
|
||||||
name = "ESP";
|
name = "ESP";
|
||||||
size = "500M";
|
size = "500M";
|
||||||
|
@ -46,13 +52,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
swap = {
|
|
||||||
size = "35G";
|
|
||||||
content = {
|
|
||||||
type = "swap";
|
|
||||||
resumeDevice = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -69,15 +68,20 @@
|
||||||
subvolumes = {
|
subvolumes = {
|
||||||
"/root" = {
|
"/root" = {
|
||||||
mountpoint = "/";
|
mountpoint = "/";
|
||||||
mountOptions = ["compress=zstd" "noatime"];
|
# mountOptions = ["compress=zstd" "noatime"];
|
||||||
|
};
|
||||||
|
"/persist" = {
|
||||||
|
mountpoint = "/persist";
|
||||||
|
# mountOptions = ["compress=zstd" "subvol=persist" "noatime"];
|
||||||
|
mountOptions = ["subvol=persist" "noatime"];
|
||||||
};
|
};
|
||||||
"/home" = {
|
"/home" = {
|
||||||
mountpoint = "/home";
|
mountpoint = "/home";
|
||||||
mountOptions = ["compress=zstd" "noatime"];
|
mountOptions = ["compress=zstd" "subvol=home" "noatime"];
|
||||||
};
|
};
|
||||||
"/nix" = {
|
"/nix" = {
|
||||||
mountpoint = "/nix";
|
mountpoint = "/nix";
|
||||||
mountOptions = ["compress=zstd" "noatime"];
|
mountOptions = ["compress=zstd" "subvol=nix" "noatime"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
10
system/waves/hardware-configuration.nix → hosts/wireframe/hardware-configuration.nix
Normal file → Executable file
10
system/waves/hardware-configuration.nix → hosts/wireframe/hardware-configuration.nix
Normal file → Executable file
|
@ -12,9 +12,9 @@
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(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.initrd.kernelModules = ["dm-snapshot"];
|
||||||
boot.kernelModules = ["kvm-intel"];
|
boot.kernelModules = ["kvm-amd"];
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# 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
|
# 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`.
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.enp58s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.enp193s0f3u2u3.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
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;
|
||||||
}
|
}
|
73
hosts/wireframe/home.nix
Executable file
73
hosts/wireframe/home.nix
Executable file
|
@ -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";
|
||||||
|
}
|
9
konsole.desktop
Executable file
9
konsole.desktop
Executable file
|
@ -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
|
18
overlays/default.nix → overlays.nix
Normal file → Executable file
18
overlays/default.nix → overlays.nix
Normal file → Executable file
|
@ -1,23 +1,11 @@
|
||||||
{inputs, ...}: {
|
{inputs, ...}: {
|
||||||
# This one brings our custom packages from the 'pkgs' directory
|
# This one brings our custom packages from the 'pkgs' directory.
|
||||||
additions = final: _prev: import ../pkgs final.pkgs;
|
additions = final: _prev: import ./pkgs final.pkgs;
|
||||||
|
|
||||||
# This one contains whatever you want to overlay
|
# This one contains whatever you want to overlay
|
||||||
# You can change versions, add patches, set compilation flags, anything really.
|
# You can change versions, add patches, set compilation flags, anything really.
|
||||||
# https://nixos.wiki/wiki/Overlays
|
# https://nixos.wiki/wiki/Overlays
|
||||||
modifications = final: prev: {
|
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;
|
|
||||||
};
|
|
||||||
|
|
||||||
# When applied, the unstable nixpkgs set (declared in the flake inputs) will
|
# When applied, the unstable nixpkgs set (declared in the flake inputs) will
|
||||||
# be accessible through 'pkgs.unstable'
|
# be accessible through 'pkgs.unstable'
|
3
pkgs/default.nix
Normal file → Executable file
3
pkgs/default.nix
Normal file → Executable file
|
@ -1,4 +1,3 @@
|
||||||
pkgs: {
|
pkgs: {
|
||||||
disko = pkgs.callPackage ./disko.nix pkgs;
|
fuchsia-cursors = pkgs.callPackage ./fuchsia-cursors.nix pkgs;
|
||||||
tokyo-night-tmux = pkgs.callPackage ./tokyo-night-tmux.nix pkgs;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
pkgs:
|
|
||||||
pkgs.writeShellScriptBin "disko" ''
|
|
||||||
cat >disko.nix <<EOL
|
|
||||||
${builtins.readFile ../disko.nix}
|
|
||||||
EOL
|
|
||||||
''
|
|
||||||
# pkgs: pkgs.writeShellApplication {
|
|
||||||
# name = "disko";
|
|
||||||
#
|
|
||||||
# text = ''
|
|
||||||
# cat >disko.nix <<EOL
|
|
||||||
# ${builtins.readFile ../disko.nix}
|
|
||||||
# EOL
|
|
||||||
# '';
|
|
||||||
# }
|
|
||||||
|
|
18
pkgs/fuchsia-cursors.nix
Executable file
18
pkgs/fuchsia-cursors.nix
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "fuchsia-cursors";
|
||||||
|
version = "2.0.1";
|
||||||
|
src = builtins.fetchTarball {
|
||||||
|
url = "https://github.com/ful1e5/fuchsia-cursor/releases/download/v2.0.1/fuchsia-all.tar.xz";
|
||||||
|
sha256 = "1qvrbs6f8fj275r9q22qi1d7lmqs8b9ckcmwhvghqx9nq9la3xag";
|
||||||
|
};
|
||||||
|
buildPhase = "";
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/share/icons
|
||||||
|
mv Fuchsia Fuchsia-Amber Fuchsia-Pop Fuchsia-Red $out/share/icons
|
||||||
|
'';
|
||||||
|
}
|
|
@ -1,20 +0,0 @@
|
||||||
pkgs: let
|
|
||||||
lib = pkgs.lib;
|
|
||||||
in
|
|
||||||
pkgs.tmuxPlugins.mkTmuxPlugin {
|
|
||||||
pluginName = "tokyo-night-tmux";
|
|
||||||
version = "c3bc283cceeefaa7e5896878fe20711f466ab591";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "janoamaral";
|
|
||||||
repo = "tokyo-night-tmux";
|
|
||||||
rev = "c3bc283cceeefaa7e5896878fe20711f466ab591";
|
|
||||||
hash = "sha256-3rMYYzzSS2jaAMLjcQoKreE0oo4VWF9dZgDtABCUOtY=";
|
|
||||||
};
|
|
||||||
rtpFilePath = "tokyo-night.tmux";
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/janoamaral/tokyo-night-tmux";
|
|
||||||
description = "tokyo night tmux theme";
|
|
||||||
license = lib.licenses.mit;
|
|
||||||
platforms = lib.platforms.unix;
|
|
||||||
};
|
|
||||||
}
|
|
33
secrets/secrets.yaml
Executable file
33
secrets/secrets.yaml
Executable file
|
@ -0,0 +1,33 @@
|
||||||
|
private_keys:
|
||||||
|
user: ENC[AES256_GCM,data:SHMkfBYLJyoYEW/AaJl84K/KiwAXy7ZWCWOBE3CE38zI4azKE4JwLIxjG/SCTkqdtRWeleViqbtMpfLqxkkwnEQYXzwtxQXvn80FP/6JhyB2GIuF5DkOpHCSKvbsu6Ai7Nd5kIOiUSjh9Zc4mNpFPBiH8pcIFMLqlKlbOPfrNgUF6ULgJqfbdqo9FzYW1Ipc83FwVCi/kCiFIO+aB4Gxejw1Y2Pg3OZ2MgmB01wTaM69wW4tsdvd4UyyXzkUGfB0yRaUAN1OnSOHk7qAboU9MoOz9SuMZkvMnTQoisQJTOPjEUdV448DfC7hGQGrel9oTy9Bl4DEImWyiESuk2Z4Nau1Xd0w/caU2Vi7xfx9wqt3vRFmKLNtVZHWJsZemtUquDqkuH02icTBgS4IPYkZlqDehH0xaxVWo5CdmhatgssTcZFEw/kjE3nyoYoZOUPrOtU68hKmyGQvTK/Hx4YNeLrb9J+vm8gddHaYxqSUWww7H2OEyxX4xQ2QejRuVONZ2/Gfk9C6/eS6sOg2lXaf,iv:ac6s6tfL+1LAvvyHdepu7g+77ZWKBJJwm4fw0GsMAko=,tag:VIfuLCMDjzTCbl6I17vTKw==,type:str]
|
||||||
|
v-password: ENC[AES256_GCM,data:HmvAGDcgmaqcE5YbqBTCkPQAArSjqkglf1v1NSx5xP/OUSp2HCanuolRtfoyWba0qVQ2I6n47Pgw5sFuB/WFrMtFtxACmOeqPA==,iv:ypQEdVaQhPOHnsel9IM7xHJfGGn7NlgLq9kJ0gtnYnU=,tag:or2//+T7BdeGEgb6FGwOWg==,type:str]
|
||||||
|
root-password: ENC[AES256_GCM,data:Wc7Cl6mftXlGd3WeUxyiB7U0plsPRos7leBKmP5h1JGljZh9UsJ9fctTXIaH0pIWPuxkdauYPUrd9WnBmSkAc0WnKZ6uyxy2ew==,iv:m0cpAQATqs8F07JGmAZSfYrPE7yzgcc4jIzkWA5ZaCQ=,tag:z3kcvzZYdtZJIU4R9/eLPA==,type:str]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1jqwgu73py5m6zsql6mntqlv7g54pfykgpn8d5emxwezyuf59xqhqvfxtej
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzM2tGRVAyUGVDa2VFS2Nx
|
||||||
|
eXMwQmlsTHBJRTJSZ05Oai9mMVlSa3kxL1JnCnorOXRVdk0zRnIzbWVpNlc0NDZV
|
||||||
|
V2lwcTVZVWRoaytiVXNYR0FTWTByTVkKLS0tIHVGbm01Y1JIWUk5NjJMS3NWSmFT
|
||||||
|
TUZDaXdPZW01OWExL0NSci8wdnBHNUUKtT4OIBfqaaXbBzkzumUrOiZP7cBxQ0wD
|
||||||
|
+B8C2w4LGJfxdgtWVVF7+wXb/z5bGBs3sLkSPjQs09SBKAbhLkMXVA==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1ct3sesrp4e8jv982hauzw9slzkp99gyshcht9ughmfm0k9ze4pps5m3tt8
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsbzl0cy9LYkZsMWdseGNH
|
||||||
|
bzZsSzhVVWZ0NHFWNm80N1dvaDZSemdzT3hJCkJ2WVpEUktYd2JZUGR6UDlhYlkw
|
||||||
|
TThwRVh3Q0l0VzlreEtDWFFtQmN5SGcKLS0tIGJSMDIvL0pYQVZhWXI1MGNUT0xB
|
||||||
|
bWtVMnRmbHdtSFlwaDVWckdxaDJNZjgKkjDkEHmOVeDrGBidko1neiu7xH8K0KyK
|
||||||
|
1EUUSLoy9DXXVHIVtsrAb0xu1tA49b4gDfho0VJuVi3K46hAdkImXQ==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2025-03-16T16:12:58Z"
|
||||||
|
mac: ENC[AES256_GCM,data:tLga09Sh17oVKZOIQJQX60svtsN6nrcLN/RkiQskGBz99UyWe0bsY850K7rDp+2y48PjU0dlI00bjJLIE+UTpr4fBhHntxm85RCIDibII564aVsxClu1dmDNhfNNup5hJGtfqgoSZ/kGhOmhiDlMzQMivff/cKmUoqA9FTmdg9U=,iv:ygpdcQxfuLChozF5ii+saphD60PBi9YsfkedCQ1Kr84=,tag:pUTB1a5CwWNWwCTKbfKnGw==,type:str]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.9.4
|
22
system/battery.nix
Executable file
22
system/battery.nix
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
{...}: {
|
||||||
|
services.power-profiles-daemon.enable = true;
|
||||||
|
|
||||||
|
# services.tlp = {
|
||||||
|
# enable = true;
|
||||||
|
# settings = {
|
||||||
|
# CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
||||||
|
# CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
||||||
|
#
|
||||||
|
# CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||||
|
# CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
||||||
|
#
|
||||||
|
# CPU_MIN_PERF_ON_AC = 0;
|
||||||
|
# CPU_MAX_PERF_ON_AC = 100;
|
||||||
|
# CPU_MIN_PERF_ON_BAT = 0;
|
||||||
|
# CPU_MAX_PERF_ON_BAT = 20;
|
||||||
|
#
|
||||||
|
# START_CHARGE_THRESH_BAT0 = 75;
|
||||||
|
# STOP_CHARGE_THRESH_BAT0 = 80;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
}
|
28
system/console.nix
Executable file
28
system/console.nix
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# console
|
||||||
|
console = {
|
||||||
|
earlySetup = true;
|
||||||
|
font = "${pkgs.terminus_font}/share/consolefonts/ter-v32n.psf.gz";
|
||||||
|
keyMap = lib.mkForce "us";
|
||||||
|
useXkbConfig = true; # use xkb.options in tty.
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
less.enable = true;
|
||||||
|
|
||||||
|
# default zsh config if not configured using home-manager
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestions.enable = false;
|
||||||
|
promptInit = ''
|
||||||
|
PS1='%B%1~%b %(#.#.$): '
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
environment.pathsToLink = ["/share/zsh"];
|
||||||
|
}
|
37
system/fonts.nix
Executable file
37
system/fonts.nix
Executable file
|
@ -0,0 +1,37 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
fonts = {
|
||||||
|
enableDefaultPackages = false;
|
||||||
|
fontconfig = {
|
||||||
|
enable = true;
|
||||||
|
antialias = true;
|
||||||
|
defaultFonts = {
|
||||||
|
emoji = ["Noto Color Emoji"];
|
||||||
|
monospace = ["Sky Term" "Intel One Mono" "Symbols Nerd Font" "Noto Color Emoji"];
|
||||||
|
serif = ["Alegreya" "Petrona" "Noto Serif" "Noto Color Emoji"];
|
||||||
|
sansSerif = ["Atkinson Hyperlegible" "Overpass" "Nunito" "Noto Color Emoji"];
|
||||||
|
};
|
||||||
|
hinting = {
|
||||||
|
enable = true;
|
||||||
|
autohint = false;
|
||||||
|
style = "full";
|
||||||
|
};
|
||||||
|
subpixel = {
|
||||||
|
lcdfilter = "default";
|
||||||
|
rgba = "rgb";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
fontDir = {
|
||||||
|
enable = true;
|
||||||
|
decompressFonts = true;
|
||||||
|
};
|
||||||
|
packages = [
|
||||||
|
pkgs.noto-fonts
|
||||||
|
pkgs.noto-fonts-emoji
|
||||||
|
pkgs.intel-one-mono
|
||||||
|
|
||||||
|
pkgs.material-design-icons
|
||||||
|
(pkgs.google-fonts.override {fonts = ["Overpass" "Nunito" "Alegreya" "Petrona" "Atkinson Hyperlegible"];})
|
||||||
|
pkgs.unstable.nerd-fonts.symbols-only
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
15
system/gui.nix
Executable file
15
system/gui.nix
Executable file
|
@ -0,0 +1,15 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
displayManager.gdm.enable = true;
|
||||||
|
};
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
environment.plasma6.excludePackages = builtins.attrValues {
|
||||||
|
inherit
|
||||||
|
(pkgs.kdePackages)
|
||||||
|
plasma-browser-integration
|
||||||
|
konsole
|
||||||
|
oxygen
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
4
system/i18n.nix
Executable file
4
system/i18n.nix
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
{...}: {
|
||||||
|
time.timeZone = "America/Indiana/Indianapolis";
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
}
|
47
system/impermanence.nix
Executable file
47
system/impermanence.nix
Executable file
|
@ -0,0 +1,47 @@
|
||||||
|
{lib, ...}: {
|
||||||
|
fileSystems."/persist".neededForBoot = true;
|
||||||
|
fileSystems."/nix".neededForBoot = true;
|
||||||
|
boot.initrd.postDeviceCommands = lib.mkAfter ''
|
||||||
|
mkdir /btrfs_tmp
|
||||||
|
mount /dev/root_vg/root /btrfs_tmp
|
||||||
|
if [[ -e /btrfs_tmp/root ]]; then
|
||||||
|
mkdir -p /btrfs_tmp/old_roots
|
||||||
|
timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S")
|
||||||
|
mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
delete_subvolume_recursively() {
|
||||||
|
IFS=$'\n'
|
||||||
|
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
|
||||||
|
delete_subvolume_recursively "/btrfs_tmp/$i"
|
||||||
|
done
|
||||||
|
btrfs subvolume delete "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do
|
||||||
|
delete_subvolume_recursively "$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
btrfs subvolume create /btrfs_tmp/root
|
||||||
|
umount /btrfs_tmp
|
||||||
|
'';
|
||||||
|
environment.persistence."/persist" = {
|
||||||
|
enable = true;
|
||||||
|
hideMounts = true;
|
||||||
|
directories = [
|
||||||
|
"/var/log"
|
||||||
|
"/var/lib/bluetooth"
|
||||||
|
"/var/lib/nixos"
|
||||||
|
"/var/lib/fprint"
|
||||||
|
"/var/lib/systemd/coredump"
|
||||||
|
"/etc/nixos"
|
||||||
|
"/etc/NetworkManager"
|
||||||
|
];
|
||||||
|
files = [
|
||||||
|
"/etc/machine-id"
|
||||||
|
"/etc/ssh/ssh_host_ed25519_key"
|
||||||
|
"/etc/ssh/ssh_host_ed25519_key.pub"
|
||||||
|
#"/var/lib/sops-nix/key.txt"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
9
system/kanata.nix
Executable file
9
system/kanata.nix
Executable file
|
@ -0,0 +1,9 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
boot.kernelModules = ["uinput"];
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput", GROUP="input", MODE="0660"
|
||||||
|
'';
|
||||||
|
environment.systemPackages = builtins.attrValues {
|
||||||
|
inherit (pkgs) kanata;
|
||||||
|
};
|
||||||
|
}
|
17
system/lnr.nix
Executable file
17
system/lnr.nix
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# local name resolution
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
};
|
||||||
|
system.nssModules = lib.optional true pkgs.nssmdns;
|
||||||
|
system.nssDatabases.hosts = lib.optionals true (pkgs.lib.mkMerge [
|
||||||
|
(lib.mkBefore ["mdns4_minimal [NOTFOUND=return]"]) # before resolution
|
||||||
|
(lib.mkAfter ["mdns4"]) # after dns
|
||||||
|
]);
|
||||||
|
}
|
64
system/nix-ld.nix
Executable file
64
system/nix-ld.nix
Executable file
|
@ -0,0 +1,64 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
# Enable nix ld
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
|
programs.nix-ld.libraries = with pkgs; [
|
||||||
|
alsa-lib
|
||||||
|
at-spi2-atk
|
||||||
|
at-spi2-core
|
||||||
|
atk
|
||||||
|
readline
|
||||||
|
cairo
|
||||||
|
cups
|
||||||
|
curl
|
||||||
|
dbus
|
||||||
|
expat
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
fuse3
|
||||||
|
nss
|
||||||
|
gdk-pixbuf
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
icu
|
||||||
|
libGL
|
||||||
|
libappindicator-gtk3
|
||||||
|
libdrm
|
||||||
|
libglvnd
|
||||||
|
libnotify
|
||||||
|
libpulseaudio
|
||||||
|
libunwind
|
||||||
|
libusb1
|
||||||
|
libuuid
|
||||||
|
libxkbcommon
|
||||||
|
libxml2
|
||||||
|
mesa
|
||||||
|
nspr
|
||||||
|
nss.dev
|
||||||
|
nss
|
||||||
|
openssl
|
||||||
|
pango
|
||||||
|
pipewire
|
||||||
|
stdenv.cc.cc
|
||||||
|
stdenv.cc.cc.lib
|
||||||
|
systemd
|
||||||
|
vulkan-loader
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXScrnSaver
|
||||||
|
xorg.libXcomposite
|
||||||
|
xorg.libXcursor
|
||||||
|
xorg.libXdamage
|
||||||
|
xorg.libXext
|
||||||
|
xorg.libXfixes
|
||||||
|
xorg.libXi
|
||||||
|
xorg.libXrandr
|
||||||
|
xorg.libXrender
|
||||||
|
xorg.libXtst
|
||||||
|
xorg.libxcb
|
||||||
|
xorg.libxkbfile
|
||||||
|
xorg.libxshmfence
|
||||||
|
fzf
|
||||||
|
zlib
|
||||||
|
libgit2
|
||||||
|
];
|
||||||
|
}
|
52
system/nix.nix
Executable file
52
system/nix.nix
Executable file
|
@ -0,0 +1,52 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
outputs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
nixpkgs.config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
allowUnfreePredicate = _: true;
|
||||||
|
cudaSupport = true;
|
||||||
|
};
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
outputs.overlays.additions
|
||||||
|
outputs.overlays.modifications
|
||||||
|
outputs.overlays.unstable-packages
|
||||||
|
];
|
||||||
|
nix = let
|
||||||
|
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||||
|
in {
|
||||||
|
settings = {
|
||||||
|
# Enable flakes and new 'nix' command
|
||||||
|
experimental-features = "nix-command flakes";
|
||||||
|
# Opinionated: disable global registry
|
||||||
|
flake-registry = "";
|
||||||
|
# Workaround for https://github.com/NixOS/nix/issues/9574
|
||||||
|
nix-path = config.nix.nixPath;
|
||||||
|
# allowUnfree = true;
|
||||||
|
auto-optimise-store = true;
|
||||||
|
builders-use-substitutes = true;
|
||||||
|
keep-derivations = true;
|
||||||
|
keep-outputs = true;
|
||||||
|
trusted-users = ["root" "@wheel"];
|
||||||
|
|
||||||
|
substituters = [
|
||||||
|
"https://cache.nixos.org"
|
||||||
|
"https://nix-community.cachix.org"
|
||||||
|
];
|
||||||
|
|
||||||
|
trusted-public-keys = [
|
||||||
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
# Opinionated: disable channels
|
||||||
|
channel.enable = false;
|
||||||
|
|
||||||
|
# Opinionated: make flake registry and nix path match flake inputs
|
||||||
|
registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs;
|
||||||
|
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||||
|
};
|
||||||
|
}
|
19
system/pipewire.nix
Executable file
19
system/pipewire.nix
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
{inputs, ...}: {
|
||||||
|
imports = [
|
||||||
|
inputs.nix-gaming.nixosModules.pipewireLowLatency
|
||||||
|
];
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
|
||||||
|
lowLatency = {
|
||||||
|
enable = true;
|
||||||
|
# defaults (USES nix-gaming PIPEWIRE LOW LATENCY MODULE!)
|
||||||
|
quantum = 64;
|
||||||
|
rate = 48000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
}
|
8
system/security.nix
Executable file
8
system/security.nix
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
{...}: {
|
||||||
|
security = {
|
||||||
|
# don't ask password for wheel group, disk is encrypted with a secure password & ssh auth with password is disabled!
|
||||||
|
sudo.wheelNeedsPassword = false;
|
||||||
|
# enable trusted platform module 2 support
|
||||||
|
tpm2.enable = true;
|
||||||
|
};
|
||||||
|
}
|
12
system/sops.nix
Executable file
12
system/sops.nix
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
{inputs, ...}: {
|
||||||
|
imports = [
|
||||||
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
];
|
||||||
|
|
||||||
|
sops.defaultSopsFile = "${../secrets/secrets.yaml}";
|
||||||
|
sops.validateSopsFiles = false;
|
||||||
|
sops.defaultSopsFormat = "yaml";
|
||||||
|
sops.age.keyFile = "/persist/var/lib/sops-nix/key.txt";
|
||||||
|
sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
|
||||||
|
sops.age.generateKey = true;
|
||||||
|
}
|
13
system/sshd.nix
Executable file
13
system/sshd.nix
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
{lib, ...}: {
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
KbdInteractiveAuthentication = false;
|
||||||
|
PermitRootLogin = "no";
|
||||||
|
PasswordAuthentication = false;
|
||||||
|
UseDns = true;
|
||||||
|
X11Forwarding = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.services.sshd.wantedBy = lib.mkForce [];
|
||||||
|
}
|
8
system/steam.nix
Executable file
8
system/steam.nix
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
{...}: {
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
dedicatedServer.openFirewall = true;
|
||||||
|
localNetworkGameTransfers.openFirewall = true;
|
||||||
|
};
|
||||||
|
}
|
28
system/syncthing.nix
Executable file
28
system/syncthing.nix
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
{...}: {
|
||||||
|
services.syncthing = {
|
||||||
|
enable = true;
|
||||||
|
user = "v";
|
||||||
|
dataDir = "/home/v";
|
||||||
|
configDir = "/home/v/.config/syncthing";
|
||||||
|
overrideDevices = true;
|
||||||
|
overrideFolders = true;
|
||||||
|
settings = {
|
||||||
|
devices = {
|
||||||
|
"truenas" = {
|
||||||
|
id = "2HEHVRP-6Z4FBIB-MULQ6Y2-XP2IW6Q-WVOVKOR-HSJBZ3O-RUN7DZI-SAM2SAA";
|
||||||
|
autoAcceptFolders = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
folders = {
|
||||||
|
"Explicit Sync" = {
|
||||||
|
path = "/home/v/sync";
|
||||||
|
devices = ["truenas"];
|
||||||
|
};
|
||||||
|
"zettelkasten" = {
|
||||||
|
path = "/home/v/zet";
|
||||||
|
devices = ["truenas"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
5
system/virtualisation.nix
Executable file
5
system/virtualisation.nix
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
{config, ...}: {
|
||||||
|
hardware.nvidia-container-toolkit.enable = builtins.any (driver: driver == "nvidia") config.services.xserver.videoDrivers;
|
||||||
|
virtualisation.vmware.host.enable = false;
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
}
|
|
@ -1,419 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
outputs,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
inputs.nix-gaming.nixosModules.pipewireLowLatency
|
|
||||||
];
|
|
||||||
|
|
||||||
# users
|
|
||||||
users.users.valerie = {
|
|
||||||
uid = 1337;
|
|
||||||
initialPassword = "giggle,iamsonaughty.";
|
|
||||||
home = "/home/valerie";
|
|
||||||
createHome = true;
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
(builtins.readFile ./id_user.pub)
|
|
||||||
];
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [
|
|
||||||
"wheel"
|
|
||||||
"networkmanager"
|
|
||||||
"audio"
|
|
||||||
"docker"
|
|
||||||
"input"
|
|
||||||
"libvirtd"
|
|
||||||
"plugdev"
|
|
||||||
"video"
|
|
||||||
"adbusers"
|
|
||||||
"uinput"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.root = {
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
extraGroups = [];
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
(builtins.readFile ./id_user.pub)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
|
|
||||||
nixpkgs.config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
allowUnfreePredicate = _: true;
|
|
||||||
cudaSupport = true;
|
|
||||||
};
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
outputs.overlays.additions
|
|
||||||
outputs.overlays.modifications
|
|
||||||
outputs.overlays.unstable-packages
|
|
||||||
];
|
|
||||||
|
|
||||||
nix = let
|
|
||||||
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
|
||||||
in {
|
|
||||||
settings = {
|
|
||||||
# Enable flakes and new 'nix' command
|
|
||||||
experimental-features = "nix-command flakes";
|
|
||||||
# Opinionated: disable global registry
|
|
||||||
flake-registry = "";
|
|
||||||
# Workaround for https://github.com/NixOS/nix/issues/9574
|
|
||||||
nix-path = config.nix.nixPath;
|
|
||||||
# allowUnfree = true;
|
|
||||||
auto-optimise-store = true;
|
|
||||||
builders-use-substitutes = true;
|
|
||||||
keep-derivations = true;
|
|
||||||
keep-outputs = true;
|
|
||||||
trusted-users = ["root" "@wheel"];
|
|
||||||
|
|
||||||
substituters = [
|
|
||||||
"https://cache.nixos.org"
|
|
||||||
"https://nix-community.cachix.org"
|
|
||||||
];
|
|
||||||
|
|
||||||
trusted-public-keys = [
|
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
];
|
|
||||||
};
|
|
||||||
# Opinionated: disable channels
|
|
||||||
channel.enable = false;
|
|
||||||
|
|
||||||
# Opinionated: make flake registry and nix path match flake inputs
|
|
||||||
registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs;
|
|
||||||
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
|
||||||
};
|
|
||||||
|
|
||||||
# system-wide pkgs
|
|
||||||
environment.systemPackages = with pkgs;
|
|
||||||
[
|
|
||||||
python3
|
|
||||||
fuse3
|
|
||||||
floorp
|
|
||||||
localsend
|
|
||||||
parsec-bin
|
|
||||||
kanata
|
|
||||||
bubblewrap
|
|
||||||
inputs.neovim-nightly-overlay.packages.${pkgs.system}.default
|
|
||||||
]
|
|
||||||
++ [
|
|
||||||
(unstable.koboldcpp.override {
|
|
||||||
cublasSupport = true;
|
|
||||||
cudaArches = ["sm_86"];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
# security
|
|
||||||
security = {
|
|
||||||
# don't ask password for wheel group, disk is encrypted with a secure password & ssh auth with password is disabled!
|
|
||||||
sudo.wheelNeedsPassword = false;
|
|
||||||
# enable trusted platform module 2 support
|
|
||||||
tpm2.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# boot
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
networking.hostName = "waves";
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
boot.supportedFilesystems = ["ntfs"];
|
|
||||||
|
|
||||||
# virtualisation
|
|
||||||
virtualisation.containers.cdi.dynamic.nvidia.enable = builtins.any (driver: driver == "nvidia") config.services.xserver.videoDrivers;
|
|
||||||
virtualisation.vmware.host.enable = true;
|
|
||||||
virtualisation.docker.enable = true;
|
|
||||||
|
|
||||||
# kanata
|
|
||||||
boot.kernelModules = ["uinput"];
|
|
||||||
services.udev.extraRules = ''
|
|
||||||
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput", GROUP="input", MODE="0660"
|
|
||||||
'';
|
|
||||||
|
|
||||||
# ssh
|
|
||||||
services.openssh = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
KbdInteractiveAuthentication = false;
|
|
||||||
PermitRootLogin = "no";
|
|
||||||
PasswordAuthentication = true;
|
|
||||||
UseDns = true;
|
|
||||||
X11Forwarding = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# sound
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
|
|
||||||
lowLatency = {
|
|
||||||
enable = true;
|
|
||||||
# defaults (USES nix-gaming PIPEWIRE LOW LATENCY MODULE!)
|
|
||||||
quantum = 64;
|
|
||||||
rate = 48000;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
|
|
||||||
# services (in general)
|
|
||||||
services.gvfs.enable = true;
|
|
||||||
services.gnome.gnome-keyring.enable = true;
|
|
||||||
services.libinput.enable = true;
|
|
||||||
services.printing.enable = true;
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
|
|
||||||
# local name resolution
|
|
||||||
services.avahi = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
nssmdns = true;
|
|
||||||
};
|
|
||||||
system.nssModules = pkgs.lib.optional true pkgs.nssmdns;
|
|
||||||
system.nssDatabases.hosts = pkgs.lib.optionals true (pkgs.lib.mkMerge [
|
|
||||||
(pkgs.lib.mkBefore ["mdns4_minimal [NOTFOUND=return]"]) # before resolution
|
|
||||||
(pkgs.lib.mkAfter ["mdns4"]) # after dns
|
|
||||||
]);
|
|
||||||
|
|
||||||
# syncthing
|
|
||||||
services.syncthing = {
|
|
||||||
enable = true;
|
|
||||||
user = "valerie";
|
|
||||||
dataDir = "/home/valerie";
|
|
||||||
configDir = "/home/valerie/.config/syncthing";
|
|
||||||
overrideDevices = true;
|
|
||||||
overrideFolders = true;
|
|
||||||
settings = {
|
|
||||||
devices = {
|
|
||||||
"truenas" = {
|
|
||||||
id = "2HEHVRP-6Z4FBIB-MULQ6Y2-XP2IW6Q-WVOVKOR-HSJBZ3O-RUN7DZI-SAM2SAA";
|
|
||||||
autoAcceptFolders = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
folders = {
|
|
||||||
"Explicit Sync" = {
|
|
||||||
path = "/home/valerie/sync";
|
|
||||||
devices = ["truenas"];
|
|
||||||
};
|
|
||||||
"zettelkasten" = {
|
|
||||||
path = "/home/valerie/zet";
|
|
||||||
devices = ["truenas"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# adb
|
|
||||||
programs.adb.enable = true;
|
|
||||||
|
|
||||||
# console
|
|
||||||
console = {
|
|
||||||
earlySetup = true;
|
|
||||||
font = "${pkgs.terminus_font}/share/consolefonts/ter-v32n.psf.gz";
|
|
||||||
keyMap = lib.mkForce "us";
|
|
||||||
useXkbConfig = true; # use xkb.options in tty.
|
|
||||||
};
|
|
||||||
|
|
||||||
# fonts
|
|
||||||
fonts = {
|
|
||||||
enableDefaultPackages = false;
|
|
||||||
fontconfig = {
|
|
||||||
enable = true;
|
|
||||||
antialias = true;
|
|
||||||
defaultFonts = {
|
|
||||||
emoji = ["Noto Color Emoji"];
|
|
||||||
monospace = ["0xProto" "Intel One Mono" "Symbols Nerd Font" "Noto Color Emoji"];
|
|
||||||
serif = ["Alegreya" "Petrona" "Noto Serif" "Noto Color Emoji"];
|
|
||||||
sansSerif = ["Atkinson Hyperlegible" "Overpass" "Nunito" "Noto Color Emoji"];
|
|
||||||
};
|
|
||||||
hinting = {
|
|
||||||
enable = true;
|
|
||||||
autohint = false;
|
|
||||||
style = "full";
|
|
||||||
};
|
|
||||||
subpixel = {
|
|
||||||
lcdfilter = "default";
|
|
||||||
rgba = "rgb";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
fontDir = {
|
|
||||||
enable = true;
|
|
||||||
decompressFonts = true;
|
|
||||||
};
|
|
||||||
packages = [
|
|
||||||
pkgs.noto-fonts
|
|
||||||
pkgs.noto-fonts-emoji
|
|
||||||
pkgs.intel-one-mono
|
|
||||||
pkgs._0xproto
|
|
||||||
|
|
||||||
pkgs.material-design-icons
|
|
||||||
(pkgs.google-fonts.override {fonts = ["Overpass" "Nunito" "Alegreya" "Petrona" "Atkinson Hyperlegible"];})
|
|
||||||
(pkgs.unstable.nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# nvidia
|
|
||||||
hardware.opengl = {
|
|
||||||
enable = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.videoDrivers = ["nvidia"];
|
|
||||||
boot.kernelParams = ["nvidia-drm.fbdev=1" "sysrq_always_enabled=1"];
|
|
||||||
|
|
||||||
hardware.nvidia = {
|
|
||||||
# Modesetting is required.
|
|
||||||
modesetting.enable = true;
|
|
||||||
|
|
||||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
|
||||||
# Enable this if you have graphical corruption issues or application crashes after waking
|
|
||||||
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
|
|
||||||
# of just the bare essentials.
|
|
||||||
powerManagement.enable = false;
|
|
||||||
|
|
||||||
# Fine-grained power management. Turns off GPU when not in use.
|
|
||||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
|
||||||
powerManagement.finegrained = false;
|
|
||||||
|
|
||||||
# Use the NVidia open source kernel module (not to be confused with the
|
|
||||||
# independent third-party "nouveau" open source driver).
|
|
||||||
# Support is limited to the Turing and later architectures. Full list of
|
|
||||||
# supported GPUs is at:
|
|
||||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
|
||||||
# Only available from driver 515.43.04+
|
|
||||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
|
||||||
open = false;
|
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
|
||||||
# accessible via `nvidia-settings`.
|
|
||||||
nvidiaSettings = true;
|
|
||||||
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
|
||||||
|
|
||||||
prime = {
|
|
||||||
intelBusId = "PCI:0:2:0";
|
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
|
||||||
|
|
||||||
offload = {
|
|
||||||
enable = true;
|
|
||||||
enableOffloadCmd = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# gui
|
|
||||||
services.xserver.enable = true;
|
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
|
||||||
services.xserver.displayManager.defaultSession = "none+awesome";
|
|
||||||
services.xserver.desktopManager.gnome.enable = true;
|
|
||||||
services.xserver.windowManager.awesome.enable = true;
|
|
||||||
environment.gnome.excludePackages =
|
|
||||||
(with pkgs; [
|
|
||||||
# for packages that are pkgs.*
|
|
||||||
gnome-tour
|
|
||||||
gnome-connections
|
|
||||||
])
|
|
||||||
++ (with pkgs.gnome; [
|
|
||||||
# for packages that are pkgs.gnome.*
|
|
||||||
epiphany # web browser
|
|
||||||
geary # email reader
|
|
||||||
evince # document viewer
|
|
||||||
]);
|
|
||||||
|
|
||||||
# i18n
|
|
||||||
time.timeZone = "America/Indiana/Indianapolis";
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
less.enable = true;
|
|
||||||
|
|
||||||
# default zsh config if not configured using home-manager
|
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
autosuggestions.enable = true;
|
|
||||||
promptInit = ''
|
|
||||||
PS1='%B%1~%b %(#.#.$): '
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
environment.pathsToLink = ["/share/zsh"];
|
|
||||||
|
|
||||||
# Enable nix ld
|
|
||||||
programs.nix-ld.enable = true;
|
|
||||||
|
|
||||||
programs.nix-ld.libraries = with pkgs; [
|
|
||||||
alsa-lib
|
|
||||||
at-spi2-atk
|
|
||||||
at-spi2-core
|
|
||||||
atk
|
|
||||||
readline
|
|
||||||
cairo
|
|
||||||
cups
|
|
||||||
curl
|
|
||||||
dbus
|
|
||||||
expat
|
|
||||||
fontconfig
|
|
||||||
freetype
|
|
||||||
fuse3
|
|
||||||
gdk-pixbuf
|
|
||||||
glib
|
|
||||||
gtk3
|
|
||||||
icu
|
|
||||||
libGL
|
|
||||||
libappindicator-gtk3
|
|
||||||
libdrm
|
|
||||||
libglvnd
|
|
||||||
libnotify
|
|
||||||
libpulseaudio
|
|
||||||
libunwind
|
|
||||||
libusb1
|
|
||||||
libuuid
|
|
||||||
libxkbcommon
|
|
||||||
libxml2
|
|
||||||
mesa
|
|
||||||
nspr
|
|
||||||
nss
|
|
||||||
openssl
|
|
||||||
pango
|
|
||||||
pipewire
|
|
||||||
stdenv.cc.cc
|
|
||||||
stdenv.cc.cc.lib
|
|
||||||
systemd
|
|
||||||
vulkan-loader
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXScrnSaver
|
|
||||||
xorg.libXcomposite
|
|
||||||
xorg.libXcursor
|
|
||||||
xorg.libXdamage
|
|
||||||
xorg.libXext
|
|
||||||
xorg.libXfixes
|
|
||||||
xorg.libXi
|
|
||||||
xorg.libXrandr
|
|
||||||
xorg.libXrender
|
|
||||||
xorg.libXtst
|
|
||||||
xorg.libxcb
|
|
||||||
xorg.libxkbfile
|
|
||||||
xorg.libxshmfence
|
|
||||||
fzf
|
|
||||||
zlib
|
|
||||||
libgit2
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.steam = {
|
|
||||||
enable = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
dedicatedServer.openFirewall = true;
|
|
||||||
localNetworkGameTransfers.openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
19
usage.md
19
usage.md
|
@ -1,19 +0,0 @@
|
||||||
# Usage
|
|
||||||
|
|
||||||
Building NixOS config manually:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
sudo nixos-rebuild --flake .#hostname switch
|
|
||||||
```
|
|
||||||
|
|
||||||
Upgrading the system implies updating the inputs one at a time:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
sudo nix flake lock --update-input <input>
|
|
||||||
```
|
|
||||||
|
|
||||||
or all of them together:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
nix flake update --commit-lock-file
|
|
||||||
```
|
|
14
user/core.nix
Executable file
14
user/core.nix
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = builtins.attrValues {
|
||||||
|
inherit
|
||||||
|
(pkgs)
|
||||||
|
spotify
|
||||||
|
wl-clipboard-rs
|
||||||
|
transmission_4-qt
|
||||||
|
;
|
||||||
|
inherit
|
||||||
|
(pkgs.unstable)
|
||||||
|
steam-run
|
||||||
|
;
|
||||||
|
};
|
||||||
|
}
|
172
home/modules/dev/default.nix → user/dev.nix
Normal file → Executable file
172
home/modules/dev/default.nix → user/dev.nix
Normal file → Executable file
|
@ -3,90 +3,23 @@
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
home.packages = with pkgs.unstable; [
|
home.packages = builtins.attrValues {
|
||||||
bruno
|
inherit
|
||||||
xclip
|
(pkgs.unstable)
|
||||||
just
|
bruno
|
||||||
nixd
|
zoxide
|
||||||
alejandra
|
mprocs
|
||||||
zoxide
|
just
|
||||||
neovide
|
zellij
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
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 = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.gitAndTools.gitFull;
|
package = pkgs.gitAndTools.gitFull;
|
||||||
lfs.enable = true;
|
lfs.enable = true;
|
||||||
|
|
||||||
userName = "valerie";
|
userName = "vivian";
|
||||||
userEmail = "hi@dessa.dev";
|
userEmail = "hi@dessa.dev";
|
||||||
signing = {
|
signing = {
|
||||||
key = "CC10324DD962CB7E";
|
key = "CC10324DD962CB7E";
|
||||||
|
@ -111,15 +44,27 @@
|
||||||
rv = "remote -v";
|
rv = "remote -v";
|
||||||
df = "diff HEAD";
|
df = "diff HEAD";
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "dev";
|
||||||
branch.autosetupmerge = "true";
|
branch.autosetupmerge = "true";
|
||||||
push.default = "current";
|
push.default = "current";
|
||||||
merge.stat = "true";
|
merge.stat = "true";
|
||||||
core.whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol";
|
core.whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol";
|
||||||
repack.usedeltabaseoffset = "true";
|
repack.usedeltabaseoffset = "true";
|
||||||
pull.ff = "only";
|
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 = {
|
rebase = {
|
||||||
autoSquash = true;
|
autoSquash = true;
|
||||||
autoStash = true;
|
autoStash = true;
|
||||||
|
@ -128,6 +73,20 @@
|
||||||
enabled = true;
|
enabled = true;
|
||||||
autoupdate = 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 = [
|
ignores = [
|
||||||
"*~"
|
"*~"
|
||||||
|
@ -139,12 +98,9 @@
|
||||||
};
|
};
|
||||||
programs.gh = {
|
programs.gh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extensions = [
|
|
||||||
pkgs.gh-copilot
|
|
||||||
];
|
|
||||||
gitCredentialHelper.enable = true;
|
gitCredentialHelper.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
editor = "nvim";
|
editor = "emacsclient --reuse-frame -a 'emacs'";
|
||||||
git_protocol = "ssh";
|
git_protocol = "ssh";
|
||||||
aliases = {
|
aliases = {
|
||||||
co = "pr checkout";
|
co = "pr checkout";
|
||||||
|
@ -153,25 +109,17 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# ssh
|
|
||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
matchBlocks = {
|
matchBlocks = {
|
||||||
"hi@dessa.dev" = {
|
"hi@dessa.dev" = {
|
||||||
host = "gitlab.com github.com";
|
host = "gitlab.com github.com";
|
||||||
identitiesOnly = true;
|
identitiesOnly = true;
|
||||||
identityFile = [
|
|
||||||
"~/.ssh/id_user"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
"docker lmao" = {
|
"docker lmao" = {
|
||||||
host = "docker 192.168.1.203";
|
host = "docker 192.168.1.203";
|
||||||
user = "git";
|
user = "git";
|
||||||
port = 2222;
|
port = 2222;
|
||||||
identityFile = [
|
|
||||||
"~/.ssh/id_user"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -186,9 +134,49 @@
|
||||||
services.gpg-agent = {
|
services.gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableSshSupport = 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 = {
|
home.sessionVariables = {
|
||||||
SSH_AUTH_SOCK = "$XDG_RUNTIME_DIR/keyring/ssh";
|
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
|
||||||
|
'';
|
||||||
}
|
}
|
8
user/obs.nix
Executable file
8
user/obs.nix
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
programs.obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
plugins = builtins.attrValues {
|
||||||
|
inherit (pkgs.obs-studio-plugins) wlrobs;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
14
user/qt.nix
Executable file
14
user/qt.nix
Executable file
|
@ -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;
|
||||||
|
};
|
||||||
|
}
|
235
user/term.nix
Executable file
235
user/term.nix
Executable file
|
@ -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'";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
8
user/v.nix
Executable file
8
user/v.nix
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
[
|
||||||
|
./qt.nix
|
||||||
|
./zathura.nix
|
||||||
|
./obs.nix
|
||||||
|
./core.nix
|
||||||
|
./dev.nix
|
||||||
|
./term.nix
|
||||||
|
]
|
26
home/modules/core/default.nix → user/zathura.nix
Normal file → Executable file
26
home/modules/core/default.nix → user/zathura.nix
Normal file → Executable file
|
@ -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 = {
|
programs.zathura = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
@ -55,14 +39,8 @@
|
||||||
set recolor-lightcolor "#2E3440"
|
set recolor-lightcolor "#2E3440"
|
||||||
set recolor-darkcolor "#ECEFF4"
|
set recolor-darkcolor "#ECEFF4"
|
||||||
set recolor "true"
|
set recolor "true"
|
||||||
set font "Lacklustre"
|
set font "Null Mono"
|
||||||
set guioptions none
|
set guioptions none
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
programs.obs-studio = {
|
|
||||||
enable = true;
|
|
||||||
plugins = with pkgs.obs-studio-plugins; [
|
|
||||||
wlrobs
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue