mirror of
https://github.com/FabricSoul/nixos-configs.git
synced 2026-02-03 22:26:24 -05:00
Compare commits
17 commits
bdfa6df7b6
...
846320eb55
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
846320eb55 | ||
|
|
085b016786 | ||
|
|
81401cced7 | ||
|
|
bf347405c4 | ||
|
|
762da3a0b3 | ||
|
|
705acb97e7 | ||
|
|
892a6fe048 | ||
|
|
900df161db | ||
|
|
ac014e766f | ||
|
|
099709c3c2 | ||
|
|
18ad14faba | ||
|
|
86acc4b8bd | ||
|
|
37cf8c18c3 | ||
|
|
ebeb37f61f | ||
|
|
0bb9827f34 | ||
|
|
1a0c868725 | ||
|
|
d9c1f63f3b |
16 changed files with 811 additions and 204 deletions
71
files/keyboard.kbd
Normal file
71
files/keyboard.kbd
Normal file
|
|
@ -0,0 +1,71 @@
|
||||||
|
(defcfg
|
||||||
|
;; For Linux
|
||||||
|
input (device-file "/dev/input/event0")
|
||||||
|
output (uinput-sink "My KMonad output")
|
||||||
|
fallthrough true
|
||||||
|
allow-cmd true
|
||||||
|
)
|
||||||
|
|
||||||
|
(defsrc
|
||||||
|
esc mute vold volu prnt slck pause ins del home pgup
|
||||||
|
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 end pgdn
|
||||||
|
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
|
||||||
|
tab q w e r t y u i o p [ ] ret
|
||||||
|
caps a s d f g h j k l ; ' \
|
||||||
|
lsft 102d z x c v b n m , . / rsft
|
||||||
|
wkup lctl lmet lalt spc ralt cmps rctl back up fwd
|
||||||
|
left down rght
|
||||||
|
)
|
||||||
|
(deflayer base
|
||||||
|
caps mute vold volu prnt slck pause ins del home pgup
|
||||||
|
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 end pgdn
|
||||||
|
$ + [ { \( & = \) } ] + ! | bspc
|
||||||
|
tab ; , . p y f g c r l / ] ret
|
||||||
|
esc @a @o @e @u i d @h @t @n @s - \
|
||||||
|
lsft 102d ' q j k x b m w v z rsft
|
||||||
|
wkup lctl lmet @tab @spc @bspc ret rctl back up fwd
|
||||||
|
left down rght
|
||||||
|
)
|
||||||
|
(deflayer num
|
||||||
|
caps mute vold volu prnt slck pause ins del home pgup
|
||||||
|
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 end pgdn
|
||||||
|
$ + [ { \( & = \) } ] + ! | bspc
|
||||||
|
tab ; 7 8 9 y f g c r l / ] ret
|
||||||
|
esc a 4 5 6 0 d h t n s - \
|
||||||
|
lsft 102d ' 1 2 3 x b m w v z rsft
|
||||||
|
wkup lctl lmet tab spc bspc ret rctl back up fwd
|
||||||
|
left down rght
|
||||||
|
)
|
||||||
|
(deflayer symbol
|
||||||
|
caps mute vold volu prnt slck pause ins del home pgup
|
||||||
|
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 end pgdn
|
||||||
|
$ + [ { \( & = \) } ] + ! | bspc
|
||||||
|
~ * ! % @ ^ f g c r l / ] ret
|
||||||
|
$ + [ { \( = d h t n s - \
|
||||||
|
# 102d ` ] } \) & b m w v z rsft
|
||||||
|
wkup lctl lmet tab spc bspc ret rctl back up fwd
|
||||||
|
left down rght
|
||||||
|
)
|
||||||
|
(deflayer arrow
|
||||||
|
caps mute vold volu prnt slck pause ins del home pgup
|
||||||
|
f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 end pgdn
|
||||||
|
$ + [ { \( & = \) } ] + ! | bspc
|
||||||
|
tab ; , . p y f g c r l / ] ret
|
||||||
|
esc @a @o @e @u i d @h @t @n @s - \
|
||||||
|
lsft 102d ' q j k x b left down up right rsft
|
||||||
|
wkup lctl lmet tab @spc @bspc ret rctl back up fwd
|
||||||
|
left down rght
|
||||||
|
)
|
||||||
|
(defalias
|
||||||
|
a (tap-hold 200 a lalt)
|
||||||
|
o (tap-hold 200 o lmet)
|
||||||
|
e (tap-hold 200 e lsft)
|
||||||
|
u (tap-hold 200 u lctl)
|
||||||
|
h (tap-hold 200 h lctl)
|
||||||
|
t (tap-hold 200 t lsft)
|
||||||
|
n (tap-hold 200 n lmet)
|
||||||
|
s (tap-hold 200 s lalt)
|
||||||
|
spc (tap-hold 200 spc (layer-toggle num))
|
||||||
|
bspc (tap-hold 200 bspc (layer-toggle symbol))
|
||||||
|
tab (tap-hold 200 tab (layer-toggle arrow))
|
||||||
|
)
|
||||||
116
flake.lock
generated
116
flake.lock
generated
|
|
@ -1,5 +1,23 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"fabric-dwl": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1754514691,
|
||||||
|
"narHash": "sha256-/KgE/0DAMTOEIwubGoEcFSO3HP0peOdJEHoe7gOCO/8=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "c35ba0afa76a7a7143bede61e4cb1caf63efc52e",
|
||||||
|
"revCount": 1329,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://codeberg.org/FabricSoul/dwl"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://codeberg.org/FabricSoul/dwl"
|
||||||
|
}
|
||||||
|
},
|
||||||
"fenix": {
|
"fenix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -30,11 +48,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751413152,
|
"lastModified": 1754420989,
|
||||||
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
|
"narHash": "sha256-3e4wHzNwTMg7GaeLH9A091DMaO9AfFxUjpfqbddCUeo=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
|
"rev": "7f38f25a44023a21a504bd3fd9d4f41c4a39f55c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -86,11 +104,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753294394,
|
"lastModified": 1754503522,
|
||||||
"narHash": "sha256-1Dfgq09lHZ8AdYB2Deu/mYP1pMNpob8CgqT5Mzo44eI=",
|
"narHash": "sha256-V0iiDcYvNeMOP2FyfgC4H8Esx+JodXEl80lD4hFD4SI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1fde6fb1be6cd5dc513dc1c287d69e4eb2de973e",
|
"rev": "13461dec40bf03d9196ff79d1abe48408268cc35",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -100,27 +118,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"zen-browser",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1752603129,
|
|
||||||
"narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ixx": {
|
"ixx": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
"flake-utils": [
|
||||||
|
|
@ -151,11 +148,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753151930,
|
"lastModified": 1753694789,
|
||||||
"narHash": "sha256-XSQy6wRKHhRe//iVY5lS/ZpI/Jn6crWI8fQzl647wCg=",
|
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1754340878,
|
||||||
|
"narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "83e677f31c84212343f4cc553bab85c2efcad60a",
|
"rev": "cab778239e705082fe97bb4990e0d24c50924c04",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -165,7 +178,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710272261,
|
"lastModified": 1710272261,
|
||||||
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
|
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
|
||||||
|
|
@ -191,11 +204,11 @@
|
||||||
"systems": "systems_2"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752976861,
|
"lastModified": 1754506651,
|
||||||
"narHash": "sha256-59HcrqHfbSJUdmpzrAa9x8fW1PoS+ZGhCjL5k5HbyV8=",
|
"narHash": "sha256-LcpDSjGtTVU0S+aWJPE3/8RONQV0q8dDuanfCj7mAW0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "0c50ed9349199219583cb1ed1a972d71e06039ec",
|
"rev": "085ef66994f94226dd3d62921e1d48bf731b663a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -215,11 +228,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749730855,
|
"lastModified": 1754301638,
|
||||||
"narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
|
"narHash": "sha256-aRgzcPDd2axHFOuMlPLuzmDptUM2JU8mUL3jfgbBeyc=",
|
||||||
"owner": "NuschtOS",
|
"owner": "NuschtOS",
|
||||||
"repo": "search",
|
"repo": "search",
|
||||||
"rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
|
"rev": "a60091045273484c040a91f5c229ba298f8ecc27",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -232,7 +245,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fenix": "fenix",
|
"fenix": "fenix",
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils_2",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"systems": "systems_4"
|
"systems": "systems_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -251,11 +264,11 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"fabric-dwl": "fabric-dwl",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"openapi-tui": "openapi-tui",
|
"openapi-tui": "openapi-tui"
|
||||||
"zen-browser": "zen-browser"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
|
|
@ -334,27 +347,6 @@
|
||||||
"repo": "default-linux",
|
"repo": "default-linux",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"zen-browser": {
|
|
||||||
"inputs": {
|
|
||||||
"home-manager": "home-manager_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1753069499,
|
|
||||||
"narHash": "sha256-YtgY0ueqKNrBma4Euu8WH23BhUkBujirJDMDE1KujnU=",
|
|
||||||
"owner": "0xc000022070",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"rev": "c64b94235ae24e3b9e01a08f0331d8bb0e5b037a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "0xc000022070",
|
|
||||||
"repo": "zen-browser-flake",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
27
flake.nix
27
flake.nix
|
|
@ -17,11 +17,10 @@
|
||||||
openapi-tui = {
|
openapi-tui = {
|
||||||
url = "github:zaghaghi/openapi-tui";
|
url = "github:zaghaghi/openapi-tui";
|
||||||
};
|
};
|
||||||
zen-browser = {
|
|
||||||
url = "github:0xc000022070/zen-browser-flake";
|
fabric-dwl = {
|
||||||
# IMPORTANT: we're using "libgbm" and is only available in unstable so ensure
|
url = "git+https://codeberg.org/FabricSoul/dwl";
|
||||||
# to have it up-to-date or simply don't specify the nixpkgs input
|
flake = true;
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -30,9 +29,9 @@
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
# nvidiaPkgs,
|
# nvidiaPkgs,
|
||||||
home-manager,
|
home-manager,
|
||||||
zen-browser,
|
|
||||||
nixvim,
|
nixvim,
|
||||||
openapi-tui,
|
openapi-tui,
|
||||||
|
fabric-dwl,
|
||||||
...
|
...
|
||||||
}: let
|
}: let
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
|
|
@ -46,6 +45,12 @@
|
||||||
# };
|
# };
|
||||||
in {
|
in {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
solaris = lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./hosts/solaris/default.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
tatara = lib.nixosSystem {
|
tatara = lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
|
|
@ -66,12 +71,16 @@
|
||||||
homeConfigurations.fabric = home-manager.lib.homeManagerConfiguration {
|
homeConfigurations.fabric = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit nixvim openapi-tui zen-browser; # deleted hyprpanel
|
inherit nixvim openapi-tui;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./home/fabric/default.nix
|
./home/fabric/default.nix
|
||||||
nixvim.homeManagerModules.nixvim
|
nixvim.homeModules.nixvim
|
||||||
# hyprpanel.homeManagerModules.hyprpanel
|
({pkgs, ...}: {
|
||||||
|
home.packages = [
|
||||||
|
fabric-dwl.packages.${pkgs.system}.default
|
||||||
|
];
|
||||||
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
nixvim,
|
nixvim,
|
||||||
zen-browser,
|
|
||||||
# hyprpanel,
|
# hyprpanel,
|
||||||
pkgs,
|
pkgs,
|
||||||
pkgsUnstable,
|
pkgsUnstable,
|
||||||
|
|
@ -10,7 +9,8 @@
|
||||||
imports = [
|
imports = [
|
||||||
# Import program configurations
|
# Import program configurations
|
||||||
./programs/git.nix
|
./programs/git.nix
|
||||||
./programs/kitty.nix
|
# ./programs/kitty.nix
|
||||||
|
./programs/foot.nix
|
||||||
./programs/nixvim.nix
|
./programs/nixvim.nix
|
||||||
./programs/tmux.nix
|
./programs/tmux.nix
|
||||||
./programs/zsh.nix
|
./programs/zsh.nix
|
||||||
|
|
@ -18,12 +18,14 @@
|
||||||
./programs/yazi.nix
|
./programs/yazi.nix
|
||||||
|
|
||||||
# Import desktop configurations
|
# Import desktop configurations
|
||||||
./desktop/hyprland.nix
|
# ./desktop/hyprland.nix
|
||||||
./desktop/hyprpanel.nix
|
# ./desktop/hyprpanel.nix
|
||||||
./desktop/hyprpaper.nix
|
# ./desktop/river.nix
|
||||||
./desktop/hypridle.nix
|
# ./desktop/hyprpaper.nix
|
||||||
./desktop/desktop.nix
|
# ./desktop/hypridle.nix
|
||||||
zen-browser.homeModules.beta
|
# ./desktop/desktop.nix
|
||||||
|
./desktop/waybar.nix
|
||||||
|
./desktop/mako.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Home Manager needs a bit of information about you and the paths it should manage
|
# Home Manager needs a bit of information about you and the paths it should manage
|
||||||
|
|
@ -41,102 +43,44 @@
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
};
|
};
|
||||||
programs.zen-browser.enable = true;
|
|
||||||
|
|
||||||
# Common packages used across your system
|
# Common packages used across your system
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
git
|
git
|
||||||
lazygit
|
lazygit
|
||||||
kitty
|
# kitty
|
||||||
firefox
|
# firefox
|
||||||
zen-browser
|
|
||||||
mpv
|
mpv
|
||||||
grim
|
grim
|
||||||
slurp
|
slurp
|
||||||
wlsunset
|
wlsunset
|
||||||
newsraft
|
newsraft
|
||||||
ghostty
|
ghostty
|
||||||
|
wlr-randr
|
||||||
|
wmenu
|
||||||
|
foot
|
||||||
|
qutebrowser
|
||||||
|
ffmpeg
|
||||||
|
android-tools
|
||||||
|
wbg
|
||||||
|
emacs
|
||||||
|
ripgrep
|
||||||
|
fd
|
||||||
|
lsd
|
||||||
|
pulseaudio
|
||||||
|
|
||||||
nerd-fonts.dejavu-sans-mono
|
|
||||||
nerd-fonts.daddy-time-mono
|
|
||||||
nerd-fonts.d2coding
|
|
||||||
nerd-fonts.cousine
|
|
||||||
nerd-fonts.commit-mono
|
|
||||||
nerd-fonts.comic-shanns-mono
|
|
||||||
nerd-fonts.code-new-roman
|
|
||||||
nerd-fonts.caskaydia-mono
|
|
||||||
nerd-fonts.caskaydia-cove
|
|
||||||
nerd-fonts.blex-mono
|
|
||||||
nerd-fonts.bitstream-vera-sans-mono
|
|
||||||
nerd-fonts.bigblue-terminal
|
|
||||||
nerd-fonts.aurulent-sans-mono
|
|
||||||
nerd-fonts.arimo
|
|
||||||
nerd-fonts.anonymice
|
|
||||||
nerd-fonts.agave
|
|
||||||
nerd-fonts._3270
|
|
||||||
nerd-fonts._0xproto
|
|
||||||
nerd-fonts.zed-mono
|
|
||||||
nerd-fonts.victor-mono
|
|
||||||
nerd-fonts.ubuntu-sans
|
|
||||||
nerd-fonts.ubuntu-mono
|
|
||||||
nerd-fonts.ubuntu
|
|
||||||
nerd-fonts.tinos
|
|
||||||
nerd-fonts.terminess-ttf
|
|
||||||
nerd-fonts.symbols-only
|
|
||||||
nerd-fonts.space-mono
|
|
||||||
nerd-fonts.shure-tech-mono
|
|
||||||
nerd-fonts.sauce-code-pro
|
|
||||||
nerd-fonts.roboto-mono
|
|
||||||
nerd-fonts.recursive-mono
|
|
||||||
nerd-fonts.proggy-clean-tt
|
|
||||||
nerd-fonts.profont
|
|
||||||
nerd-fonts.overpass
|
|
||||||
nerd-fonts.open-dyslexic
|
|
||||||
nerd-fonts.noto
|
|
||||||
nerd-fonts.mononoki
|
|
||||||
nerd-fonts.monoid
|
|
||||||
nerd-fonts.monofur
|
|
||||||
nerd-fonts.monaspace
|
|
||||||
nerd-fonts.meslo-lg
|
|
||||||
nerd-fonts.martian-mono
|
|
||||||
nerd-fonts.lilex
|
|
||||||
nerd-fonts.liberation
|
|
||||||
nerd-fonts.lekton
|
|
||||||
nerd-fonts.jetbrains-mono
|
|
||||||
nerd-fonts.iosevka-term-slab
|
|
||||||
nerd-fonts.iosevka-term
|
|
||||||
nerd-fonts.iosevka
|
|
||||||
nerd-fonts.intone-mono
|
|
||||||
nerd-fonts.inconsolata-lgc
|
|
||||||
nerd-fonts.inconsolata-go
|
|
||||||
nerd-fonts.inconsolata
|
|
||||||
nerd-fonts.im-writing
|
|
||||||
nerd-fonts.hurmit
|
|
||||||
nerd-fonts.heavy-data
|
|
||||||
nerd-fonts.hasklug
|
|
||||||
nerd-fonts.hack
|
|
||||||
nerd-fonts.gohufont
|
|
||||||
nerd-fonts.go-mono
|
|
||||||
nerd-fonts.geist-mono
|
|
||||||
nerd-fonts.fira-mono
|
nerd-fonts.fira-mono
|
||||||
nerd-fonts.fira-code
|
|
||||||
nerd-fonts.fantasque-sans-mono
|
|
||||||
nerd-fonts.envy-code-r
|
|
||||||
nerd-fonts.droid-sans-mono
|
|
||||||
nerd-fonts.departure-mono
|
|
||||||
font-awesome
|
|
||||||
|
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
|
|
||||||
tmux
|
tmux
|
||||||
discord
|
|
||||||
fzf
|
fzf
|
||||||
zsh
|
zsh
|
||||||
pavucontrol
|
pavucontrol
|
||||||
wofi
|
wofi
|
||||||
# hyprpanel
|
|
||||||
alejandra
|
alejandra
|
||||||
rustup
|
rustup
|
||||||
|
zig
|
||||||
tmuxPlugins.sensible
|
tmuxPlugins.sensible
|
||||||
tmuxPlugins.vim-tmux-navigator
|
tmuxPlugins.vim-tmux-navigator
|
||||||
tmuxPlugins.onedark-theme
|
tmuxPlugins.onedark-theme
|
||||||
|
|
@ -145,13 +89,10 @@
|
||||||
go
|
go
|
||||||
go-blueprint
|
go-blueprint
|
||||||
gccgo14
|
gccgo14
|
||||||
hypridle
|
|
||||||
dprint
|
dprint
|
||||||
code-cursor
|
|
||||||
delve
|
delve
|
||||||
ldtk
|
ldtk
|
||||||
libresprite
|
libresprite
|
||||||
gh
|
|
||||||
btop
|
btop
|
||||||
leetgo
|
leetgo
|
||||||
gnumake
|
gnumake
|
||||||
|
|
@ -164,23 +105,15 @@
|
||||||
zola
|
zola
|
||||||
unzip
|
unzip
|
||||||
hugo
|
hugo
|
||||||
sass
|
|
||||||
sshfs
|
sshfs
|
||||||
tree-sitter
|
tree-sitter
|
||||||
heroic
|
|
||||||
gimp3
|
|
||||||
p7zip
|
p7zip
|
||||||
rar
|
rar
|
||||||
nodePackages.localtunnel
|
nodePackages.localtunnel
|
||||||
typst
|
typst
|
||||||
pnpm
|
|
||||||
nodejs_24
|
|
||||||
openssl
|
openssl
|
||||||
psmisc
|
psmisc
|
||||||
air
|
air
|
||||||
pyfa
|
|
||||||
|
|
||||||
google-chrome
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable home-manager
|
# Enable home-manager
|
||||||
|
|
|
||||||
30
home/fabric/desktop/mako.nix
Normal file
30
home/fabric/desktop/mako.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
{...}: {
|
||||||
|
services.mako = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"actionable=true" = {
|
||||||
|
anchor = "top-left";
|
||||||
|
};
|
||||||
|
actions = true;
|
||||||
|
anchor = "top-right";
|
||||||
|
background-color = "#393552";
|
||||||
|
text-color = "#e0def4";
|
||||||
|
border-color = "#56526e";
|
||||||
|
border-radius = 0;
|
||||||
|
default-timeout = 10000;
|
||||||
|
# font = "monospace 10";
|
||||||
|
height = 100;
|
||||||
|
icons = true;
|
||||||
|
ignore-timeout = false;
|
||||||
|
layer = "top";
|
||||||
|
margin = 10;
|
||||||
|
markup = true;
|
||||||
|
width = 300;
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
progress-color=over #3e8fb0
|
||||||
|
[urgency=high]
|
||||||
|
border-color=#eb6f92
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
125
home/fabric/desktop/waybar.nix
Normal file
125
home/fabric/desktop/waybar.nix
Normal file
|
|
@ -0,0 +1,125 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.waybar;
|
||||||
|
settings = {
|
||||||
|
mainBar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
height = 24;
|
||||||
|
modules-left = ["custom/wmenu"];
|
||||||
|
modules-right = ["cpu" "custom/cputemp" "temperature" "memory" "custom/gputemp" "battery" "network" "pulseaudio" "clock" "tray"];
|
||||||
|
|
||||||
|
temperature = {
|
||||||
|
format = "{temperature}°C";
|
||||||
|
};
|
||||||
|
|
||||||
|
battery = {
|
||||||
|
format = " {capacity}%";
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/wmenu" = {
|
||||||
|
format = "";
|
||||||
|
on-click = "wmenu";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# "custom/fcitx" = {
|
||||||
|
# format = ""; # Nerd Font keyboard symbol
|
||||||
|
# tooltip = false;
|
||||||
|
# };
|
||||||
|
|
||||||
|
cpu = {
|
||||||
|
format = " CPU {usage}%";
|
||||||
|
};
|
||||||
|
|
||||||
|
memory = {
|
||||||
|
format = " RAM {used}Gib";
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/cputemp" = {
|
||||||
|
interval = 5;
|
||||||
|
exec = ''
|
||||||
|
# This script finds the line with "Tctl:" or "Package id 0:",
|
||||||
|
# prints the last field on that line (which is the temperature),
|
||||||
|
# and removes the extra characters. This is very reliable.
|
||||||
|
temp_str=$(sensors | grep -E 'Tctl:|Package id 0:' | awk '{print $NF}')
|
||||||
|
temp_val=$(echo "$temp_str" | tr -d '+°C')
|
||||||
|
|
||||||
|
if [ -n "$temp_val" ]; then
|
||||||
|
printf '{"text": "%.0f°C", "tooltip": "CPU Temperature: %.0f°C"}' "$temp_val" "$temp_val"
|
||||||
|
else
|
||||||
|
echo '{"text": "N/A"}'
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
"return-type" = "json";
|
||||||
|
format = "{}"; # The {} will be replaced by the "text" field
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/gputemp" = {
|
||||||
|
exec = "nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader";
|
||||||
|
interval = 5;
|
||||||
|
format = " GPU Temp {}°C";
|
||||||
|
};
|
||||||
|
|
||||||
|
network = {
|
||||||
|
format-wifi = " {signalStrength}%"; # nf-md-wifi
|
||||||
|
format-ethernet = " Connected"; # nf-md-ethernet
|
||||||
|
format-disconnected = " Disconnected"; # nf-md-wifi_off
|
||||||
|
tooltip-format = "{ifname} via {gwaddr} "; # nf-fa-server
|
||||||
|
on-click = "nm-connection-editor"; # Opens network manager on click
|
||||||
|
};
|
||||||
|
|
||||||
|
pulseaudio = {
|
||||||
|
format = "{icon} {volume}%";
|
||||||
|
format-muted = " Muted"; # Using a dedicated mute icon (nf-md-volume_mute)
|
||||||
|
format-icons = {
|
||||||
|
headphone = "";
|
||||||
|
headset = "";
|
||||||
|
# A specific icon for when the audio is muted
|
||||||
|
muted = "";
|
||||||
|
# Icons for different volume levels (0-33%, 34-66%, 67-100%)
|
||||||
|
default = ["" "" ""]; # Low, Medium, High
|
||||||
|
};
|
||||||
|
tooltip-format = "{desc} | {volume}%";
|
||||||
|
on-click = "pavucontrol";
|
||||||
|
on-click-middle = "pactl set-sink-mute @DEFAULT_SINK@ toggle"; # Middle-click to mute/unmute
|
||||||
|
on-scroll-up = "pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||||
|
on-scroll-down = "pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||||
|
};
|
||||||
|
|
||||||
|
clock = {
|
||||||
|
format = "{:%H:%M}";
|
||||||
|
tooltip-format = "{:%A, %B %d, %Y}";
|
||||||
|
};
|
||||||
|
|
||||||
|
tray = {
|
||||||
|
spacing = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
style = ''
|
||||||
|
* {
|
||||||
|
font-family: monospace;
|
||||||
|
font-size: 12px;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
window#waybar {
|
||||||
|
background: #232136;
|
||||||
|
color: #e0def4;
|
||||||
|
}
|
||||||
|
#custom-wmenu, #cpu, #memory, #custom-cputemp, #custom-gputemp, #clock, #pulseaudio, #network, #tray {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# Ensure dependencies for Waybar and temperature scripts
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
libappindicator-gtk3 # For systray support
|
||||||
|
lm_sensors # For CPU temperature
|
||||||
|
wmenu # Ensure wmenu is available
|
||||||
|
];
|
||||||
|
}
|
||||||
51
home/fabric/programs/foot.nix
Normal file
51
home/fabric/programs/foot.nix
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
{...}: {
|
||||||
|
programs.foot = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# This is the main section, equivalent to [main] in foot.ini
|
||||||
|
main = {
|
||||||
|
font = "FiraMono Nerd Font Mono:size=12";
|
||||||
|
term = "foot";
|
||||||
|
dpi-aware = "yes"; # Use "yes" or "no", or boolean true/false
|
||||||
|
};
|
||||||
|
|
||||||
|
# Set scrollback buffer size
|
||||||
|
scrollback = {
|
||||||
|
lines = 5000;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Hide the mouse cursor when typing
|
||||||
|
mouse = {
|
||||||
|
hide-when-typing = "yes";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Color scheme (Catppuccin Macchiato from your kitty config)
|
||||||
|
# Equivalent to the [colors] section
|
||||||
|
colors = {
|
||||||
|
alpha = 0.80; # Set background opacity
|
||||||
|
background = "1E1E2E";
|
||||||
|
foreground = "CDD6F4";
|
||||||
|
|
||||||
|
## Normal/regular colors
|
||||||
|
regular0 = "45475A"; # black
|
||||||
|
regular1 = "F38BA8"; # red
|
||||||
|
regular2 = "A6E3A1"; # green
|
||||||
|
regular3 = "F9E2AF"; # yellow
|
||||||
|
regular4 = "89B4FA"; # blue
|
||||||
|
regular5 = "F5C2E7"; # magenta
|
||||||
|
regular6 = "94E2D5"; # cyan
|
||||||
|
regular7 = "BAC2DE"; # white
|
||||||
|
|
||||||
|
## Bright colors
|
||||||
|
bright0 = "585B70"; # bright black
|
||||||
|
bright1 = "F38BA8"; # bright red
|
||||||
|
bright2 = "A6E3A1"; # bright green
|
||||||
|
bright3 = "F9E2AF"; # bright yellow
|
||||||
|
bright4 = "89B4FA"; # bright blue
|
||||||
|
bright5 = "F5C2E7"; # bright magenta
|
||||||
|
bright6 = "94E2D5"; # bright cyan
|
||||||
|
bright7 = "A6ADC8"; # bright white
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -7,7 +7,6 @@
|
||||||
update_in_insert = true;
|
update_in_insert = true;
|
||||||
severity_sort = true;
|
severity_sort = true;
|
||||||
|
|
||||||
# NOTE: Opt-in with 0.11
|
|
||||||
virtual_text = {
|
virtual_text = {
|
||||||
enable = true;
|
enable = true;
|
||||||
severity.min = "warn";
|
severity.min = "warn";
|
||||||
|
|
@ -111,7 +110,9 @@
|
||||||
web-devicons.enable = true;
|
web-devicons.enable = true;
|
||||||
nix.enable = true;
|
nix.enable = true;
|
||||||
bufferline.enable = false;
|
bufferline.enable = false;
|
||||||
lualine.enable = true;
|
lualine = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
luasnip.enable = true;
|
luasnip.enable = true;
|
||||||
yanky = {
|
yanky = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -338,6 +339,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
servers = {
|
servers = {
|
||||||
|
clangd.enable = true;
|
||||||
ts_ls.enable = true;
|
ts_ls.enable = true;
|
||||||
eslint.enable = true;
|
eslint.enable = true;
|
||||||
templ.enable = true;
|
templ.enable = true;
|
||||||
|
|
@ -375,6 +377,9 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
elixirls = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
rust_analyzer = {
|
rust_analyzer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
installCargo = true;
|
installCargo = true;
|
||||||
|
|
@ -389,6 +394,9 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
zls = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
cmp = {
|
cmp = {
|
||||||
|
|
@ -422,31 +430,56 @@
|
||||||
extraPlugins = [
|
extraPlugins = [
|
||||||
];
|
];
|
||||||
extraConfigLua = ''
|
extraConfigLua = ''
|
||||||
vim.filetype.add({
|
vim.cmd [[
|
||||||
extension = {
|
highlight Normal guibg=none
|
||||||
ldtk = "json",
|
highlight Normal ctermbg=none
|
||||||
},
|
highlight NonText guibg=none
|
||||||
})
|
highlight NonText ctermbg=none
|
||||||
vim.lsp.inlay_hint.enable(true)
|
highlight NormalFloat guibg=none
|
||||||
vim.filetype.add({
|
highlight NormalFloat ctermbg=none
|
||||||
extension = {
|
highlight FloatBorder guibg=none
|
||||||
cob = "cobweb",
|
highlight FloatBorder ctermbg=none
|
||||||
cobweb = "cobweb",
|
highlight Pmenu guibg=none
|
||||||
},
|
highlight Pmenu ctermbg=none
|
||||||
})
|
highlight PmenuSel guibg=none
|
||||||
local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
|
highlight PmenuSel ctermbg=none
|
||||||
parser_config.cobweb = {
|
highlight TelescopeNormal guibg=none
|
||||||
install_info = {
|
highlight TelescopeNormal ctermbg=none
|
||||||
url = "~/tree-sitter-cobweb", -- local path or git repo
|
highlight TelescopeBorder guibg=none
|
||||||
files = {"src/parser.c"},
|
highlight TelescopeBorder ctermbg=none
|
||||||
generate_requires_npm = false,
|
highlight TermNormal guibg=none
|
||||||
requires_generate_from_grammar = false,
|
highlight TermNormal ctermbg=none
|
||||||
},
|
highlight TermFloat guibg=none
|
||||||
filetype = "cobweb",
|
highlight TermFloat ctermbg=none
|
||||||
}
|
highlight SignColumn guibg=none
|
||||||
|
]]
|
||||||
|
|
||||||
|
vim.filetype.add({
|
||||||
|
extension = {
|
||||||
|
ldtk = "json",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
vim.lsp.inlay_hint.enable(true)
|
||||||
|
vim.filetype.add({
|
||||||
|
extension = {
|
||||||
|
cob = "cobweb",
|
||||||
|
cobweb = "cobweb",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
|
||||||
|
parser_config.cobweb = {
|
||||||
|
install_info = {
|
||||||
|
url = "~/tree-sitter-cobweb", -- local path or git repo
|
||||||
|
files = {"src/parser.c"},
|
||||||
|
generate_requires_npm = false,
|
||||||
|
requires_generate_from_grammar = false,
|
||||||
|
},
|
||||||
|
filetype = "cobweb",
|
||||||
|
}
|
||||||
'';
|
'';
|
||||||
globals.mapleader = " ";
|
globals.mapleader = " ";
|
||||||
opts = {
|
opts = {
|
||||||
|
laststatus = 0;
|
||||||
relativenumber = true;
|
relativenumber = true;
|
||||||
number = true;
|
number = true;
|
||||||
tabstop = 2;
|
tabstop = 2;
|
||||||
|
|
@ -612,6 +645,11 @@
|
||||||
key = "<leader>p";
|
key = "<leader>p";
|
||||||
action = "\"_dP";
|
action = "\"_dP";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
action = "<cmd>LspStop<CR>";
|
||||||
|
key = "<leader>ls";
|
||||||
|
mode = ["n"];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
colorschemes.rose-pine.enable = true;
|
colorschemes.rose-pine.enable = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,9 @@
|
||||||
# home/fabric/programs/tmux.nix
|
# home/fabric/programs/tmux.nix
|
||||||
{
|
{pkgs, ...}: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs.tmuxPlugins; [
|
plugins = with pkgs.tmuxPlugins; [
|
||||||
sensible
|
sensible
|
||||||
onedark-theme
|
|
||||||
vim-tmux-navigator
|
vim-tmux-navigator
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -19,14 +14,46 @@
|
||||||
|
|
||||||
# Custom key bindings
|
# Custom key bindings
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
# Set pane base index
|
|
||||||
setw -g pane-base-index 1
|
setw -g pane-base-index 1
|
||||||
|
|
||||||
|
|
||||||
# Vi copy mode bindings
|
# Vi copy mode bindings
|
||||||
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
||||||
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy"
|
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy"
|
||||||
bind-key P paste-buffer
|
bind-key P paste-buffer
|
||||||
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy"
|
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "wl-copy"
|
||||||
|
set-option -g status-position top
|
||||||
|
|
||||||
|
set -g status-style 'fg=#CDD6F4,bg=default'
|
||||||
|
set -g status-justify centre # Center the window list
|
||||||
|
|
||||||
|
# Remove anything from the left side
|
||||||
|
set -g status-left ' '
|
||||||
|
|
||||||
|
|
||||||
|
# --- WINDOW LIST (CENTERED) ---
|
||||||
|
# Set the style for the active window
|
||||||
|
# We use a bright blue from your theme and make it bold
|
||||||
|
setw -g window-status-current-style 'fg=#89B4FA,bold'
|
||||||
|
# Format for the active window, using a Nerd Font icon
|
||||||
|
setw -g window-status-current-format ' #I-#W '
|
||||||
|
|
||||||
|
# Set the style for inactive windows
|
||||||
|
# We use a muted gray color from your theme
|
||||||
|
setw -g window-status-style 'fg=#585B70'
|
||||||
|
# Format for inactive windows, using a different Nerd Font icon
|
||||||
|
setw -g window-status-format ' #I-#W '
|
||||||
|
|
||||||
|
|
||||||
|
# --- RIGHT SIDE ---
|
||||||
|
# Set the content for the right side of the status bar
|
||||||
|
# is a Nerd Font icon for a computer/host
|
||||||
|
# #H is the placeholder for the hostname
|
||||||
|
set -g status-right ' #H '
|
||||||
|
# Set the max length for the right status bar
|
||||||
|
set -g status-right-length 40
|
||||||
|
|
||||||
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
export PATH="/home/fabric/.local/lib/bin:$PATH"
|
export PATH="/home/fabric/.local/lib/bin:$PATH"
|
||||||
export PATH=$PATH:(go env GOPATH)/bin
|
export PATH=$PATH:(go env GOPATH)/bin
|
||||||
export PATH="/home/fabric/.cargo/bin:$PATH"
|
export PATH="/home/fabric/.cargo/bin:$PATH"
|
||||||
|
export PATH="/home/fabric/.config/emacs/bin:$PATH"
|
||||||
GOPATH=$HOME/go
|
GOPATH=$HOME/go
|
||||||
PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
|
PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
|
||||||
PATH="$HOME/.govm/shim:$PATH"
|
PATH="$HOME/.govm/shim:$PATH"
|
||||||
|
|
@ -32,6 +33,9 @@
|
||||||
alias gmt="go mod tidy"
|
alias gmt="go mod tidy"
|
||||||
alias gmi="go mod init"
|
alias gmi="go mod init"
|
||||||
alias flake="nix flake"
|
alias flake="nix flake"
|
||||||
|
alias ls="lsd"
|
||||||
|
alias ll="lsd -l"
|
||||||
|
alias emacs="emacs -nw"
|
||||||
function y() {
|
function y() {
|
||||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
|
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
|
||||||
yazi "$@" --cwd-file="$tmp"
|
yazi "$@" --cwd-file="$tmp"
|
||||||
|
|
@ -50,10 +54,206 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
oh-my-posh = {
|
starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
useTheme = "easy-term";
|
settings = {
|
||||||
|
format = ''
|
||||||
|
$username$hostname$locali$shlvl$singularity$kubernetes$directory$vcsh$fossil_branch$fossil_metrics$git_branch$git_commit$git_state$git_metrics$git_status$hg_branch$pijul_channel$docker_context$package$c$cmake$cobol$daml$dart$deno$dotnet$elixir$elm$erlang$fennel$gleam$golang$guix_shell$haskell$haxe$helm$java$julia$kotlin$gradle$lua$nim$nodejs$ocaml$opa$perl$php$pulumi$purescript$python$quarto$raku$rlang$red$ruby$rust$scala$solidity$swift$terraform$typst$vlang$vagrant$zig$buf$nix_shell$conda$meson$spack$memory_usage$aws$gcloud$openstack$azure$nats$direnv$env_var$mise$crystal$custom$sudo$cmd_duration$line_break$jobs$battery$time$status$os$container$netns$shell$character
|
||||||
|
'';
|
||||||
|
|
||||||
|
aws = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
buf = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
bun = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
c = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
cpp = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
cmake = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
conda = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
crystal = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
dart = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
deno = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
directory = {
|
||||||
|
read_only = " ";
|
||||||
|
};
|
||||||
|
docker_context = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
elixir = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
elm = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
fennel = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
fossil_branch = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
gcloud = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
git_branch = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
git_commit = {
|
||||||
|
tag_symbol = " ";
|
||||||
|
};
|
||||||
|
golang = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
guix_shell = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
haskell = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
haxe = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
hg_branch = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
hostname = {
|
||||||
|
ssh_symbol = " ";
|
||||||
|
};
|
||||||
|
java = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
julia = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
kotlin = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
lua = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
memory_usage = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
meson = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
nim = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
nix_shell = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
nodejs = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
ocaml = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
os.symbols = {
|
||||||
|
Alpaquita = " ";
|
||||||
|
Alpine = " ";
|
||||||
|
AlmaLinux = " ";
|
||||||
|
Amazon = " ";
|
||||||
|
Android = " ";
|
||||||
|
Arch = " ";
|
||||||
|
Artix = " ";
|
||||||
|
CachyOS = " ";
|
||||||
|
CentOS = " ";
|
||||||
|
Debian = " ";
|
||||||
|
DragonFly = " ";
|
||||||
|
Emscripten = " ";
|
||||||
|
EndeavourOS = " ";
|
||||||
|
Fedora = " ";
|
||||||
|
FreeBSD = " ";
|
||||||
|
Garuda = " ";
|
||||||
|
Gentoo = " ";
|
||||||
|
HardenedBSD = " ";
|
||||||
|
Illumos = " ";
|
||||||
|
Kali = " ";
|
||||||
|
Linux = " ";
|
||||||
|
Mabox = " ";
|
||||||
|
Macos = " ";
|
||||||
|
Manjaro = " ";
|
||||||
|
Mariner = " ";
|
||||||
|
MidnightBSD = " ";
|
||||||
|
Mint = " ";
|
||||||
|
NetBSD = " ";
|
||||||
|
NixOS = " ";
|
||||||
|
Nobara = " ";
|
||||||
|
OpenBSD = " ";
|
||||||
|
openSUSE = " ";
|
||||||
|
OracleLinux = " ";
|
||||||
|
Pop = " ";
|
||||||
|
Raspbian = " ";
|
||||||
|
Redhat = " ";
|
||||||
|
RedHatEnterprise = " ";
|
||||||
|
RockyLinux = " ";
|
||||||
|
Redox = " ";
|
||||||
|
Solus = " ";
|
||||||
|
SUSE = " ";
|
||||||
|
Ubuntu = " ";
|
||||||
|
Unknown = " ";
|
||||||
|
Void = " ";
|
||||||
|
Windows = " ";
|
||||||
|
};
|
||||||
|
package = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
perl = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
php = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
pijul_channel = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
pixi = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
python = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
rlang = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
ruby = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
rust = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
scala = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
swift = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
zig = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
gradle = {
|
||||||
|
symbol = " ";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
command = "''${pkgs.greetd.tuigreet}/bin/tuigreet --time ";
|
command = "''${pkgs.greetd.tuigreet}/bin/tuigreet --time";
|
||||||
user = "fabric";
|
user = "fabric";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -51,4 +51,11 @@
|
||||||
|
|
||||||
# This value determines the NixOS release version
|
# This value determines the NixOS release version
|
||||||
system.stateVersion = "25.05";
|
system.stateVersion = "25.05";
|
||||||
|
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
pulse.enable = true; # <-- This is the crucial part
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
11
hosts/common/optional/kmonad.nix
Normal file
11
hosts/common/optional/kmonad.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{...}: {
|
||||||
|
services.kmonad = {
|
||||||
|
enable = true;
|
||||||
|
keyboards = {
|
||||||
|
myKMonadOutput = {
|
||||||
|
device = "/dev/input/event0";
|
||||||
|
config = builtins.readFile ../../../files/keyboard.kbd;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
70
hosts/solaris/default.nix
Normal file
70
hosts/solaris/default.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
# hosts/solaris/default.nix
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
# Hardware configuration
|
||||||
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
# Common configurations
|
||||||
|
../common/global
|
||||||
|
../common/optional/fcitx5.nix
|
||||||
|
../common/optional/bluetooth.nix
|
||||||
|
|
||||||
|
../common/optional/kmonad.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bootloader
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.supportedFilesystems = ["nfs"];
|
||||||
|
|
||||||
|
# Networking
|
||||||
|
networking = {
|
||||||
|
hostName = "solaris";
|
||||||
|
networkmanager.enable = true;
|
||||||
|
useDHCP = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
users.users.fabric = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "fabric";
|
||||||
|
extraGroups = ["networkmanager" "wheel" "docker"];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.rpcbind.enable = true;
|
||||||
|
|
||||||
|
fileSystems."/home/fabric/nas" = {
|
||||||
|
device = "tatara:/nas";
|
||||||
|
fsType = "nfs";
|
||||||
|
options = [
|
||||||
|
"x-systemd.automount"
|
||||||
|
"noauto"
|
||||||
|
"x-systemd.idle-timeout=60"
|
||||||
|
"x-systemd.device-timeout=5"
|
||||||
|
"x-systemd.mount-timeout=5"
|
||||||
|
"nfsvers=4" # Use NFSv4
|
||||||
|
"hard" # Hard mount (recommended)
|
||||||
|
"intr" # Allow interruption
|
||||||
|
"rsize=8192" # Read size
|
||||||
|
"wsize=8192" # Write size
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Display manager configuration
|
||||||
|
services.displayManager.defaultSession = "dwl";
|
||||||
|
|
||||||
|
# Basic system packages
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
libinput
|
||||||
|
libnotify
|
||||||
|
foot
|
||||||
|
usbutils
|
||||||
|
ntfs3g
|
||||||
|
];
|
||||||
|
}
|
||||||
41
hosts/solaris/hardware-configuration.nix
Normal file
41
hosts/solaris/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/cd452eaf-7765-4bc2-b5dd-a846c47701e8";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/6026-C63E";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/1cc175bd-0071-4d76-a8a6-ae483ca56aac"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp0s25.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
|
|
@ -10,12 +10,12 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
||||||
# Common configurations
|
# Common configurations
|
||||||
../common/optional/plasma.nix
|
# ../common/optional/plasma.nix
|
||||||
../common/global
|
../common/global
|
||||||
../common/optional/nvidia.nix
|
../common/optional/nvidia.nix
|
||||||
../common/optional/docker.nix
|
../common/optional/docker.nix
|
||||||
../common/optional/steam.nix
|
../common/optional/steam.nix
|
||||||
../common/optional/flatpak.nix
|
# ../common/optional/flatpak.nix
|
||||||
../common/optional/fcitx5.nix
|
../common/optional/fcitx5.nix
|
||||||
../common/optional/bluetooth.nix
|
../common/optional/bluetooth.nix
|
||||||
../common/optional/sunshine.nix
|
../common/optional/sunshine.nix
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
users.users.fabric = {
|
users.users.fabric = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "fabric";
|
description = "fabric";
|
||||||
extraGroups = ["networkmanager" "wheel" "docker"];
|
extraGroups = ["networkmanager" "wheel" "docker" "video"];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -68,9 +68,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# Display manager configuration
|
# Display manager configuration
|
||||||
services.displayManager.defaultSession = "hyprland";
|
services.displayManager.defaultSession = "dwl";
|
||||||
|
|
||||||
programs.hyprland.enable = true;
|
|
||||||
|
|
||||||
# Basic system packages
|
# Basic system packages
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,11 @@
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "thunderbolt" "usb_storage" "usbhid" "sd_mod"];
|
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "thunderbolt" "usb_storage" "usbhid" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = ["kvm-amd"];
|
boot.kernelModules = ["kvm-amd" "v4l2loopback"];
|
||||||
|
|
||||||
|
boot.extraModulePackages = with config.boot.kernelPackages; [
|
||||||
|
v4l2loopback
|
||||||
|
];
|
||||||
|
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue