Compare commits
77 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 59f4b37a2c | |||
| 2e7d8fef40 | |||
| e193f075e2 | |||
| 34400702a8 | |||
| 01ac3de3ff | |||
| 6b5d28d12b | |||
| dd9d2ec9d3 | |||
| bb04a5d1fd | |||
| 861afe8e83 | |||
| 45639b77cf | |||
| 82ca6c1bf1 | |||
| ae8b9fde5d | |||
| d2e772a986 | |||
| e981f03e03 | |||
| fd30f8d1fd | |||
| 5b89c099c9 | |||
| bda8f85445 | |||
| bfbd2d8abe | |||
| ced9937c09 | |||
| a187fb5ebf | |||
| 1b74cf48d0 | |||
| 87f2adb3c9 | |||
| 0cdbf3dc00 | |||
| 64237058a2 | |||
| 5ffe2fe09f | |||
| 407b909aab | |||
| c819cb6c01 | |||
| e1d99a0279 | |||
| 3a1ce68ccf | |||
| 2574f4935f | |||
| c6aafcbcca | |||
| d33af4042e | |||
| 6492901dda | |||
| 1c9fee8aca | |||
| 79963a171b | |||
| bfb74c0f6e | |||
| 01589d2fb7 | |||
| db7066bb35 | |||
| a7a6593e40 | |||
| 4d979ce197 | |||
| 0a5a621c99 | |||
| d557938f1d | |||
| 28c1409053 | |||
| a6b08c1a98 | |||
| 2232374d24 | |||
| 4ed41b1279 | |||
| 2ec8cd6aaa | |||
| 697be1193f | |||
| 82e38f7cd6 | |||
| 97f24c894b | |||
| cc179c30a3 | |||
| 0f4d658121 | |||
| 836c18359f | |||
| a155d3fba1 | |||
| a549fafc72 | |||
| 47e6fcf96f | |||
| 35ca5c8bc0 | |||
| 923dac6f63 | |||
| 9423554aa4 | |||
| d9fc308a51 | |||
| eef4be887a | |||
| 2576eacb6b | |||
| 9290d27146 | |||
| b93b0a6dd5 | |||
| 387cc54577 | |||
| 1598b620b9 | |||
| 2ec607e5c0 | |||
| 61f9633006 | |||
| f3859db703 | |||
| 867847a059 | |||
| 467f7d47f0 | |||
| 5d7d8e4b4f | |||
| 94f91e9a6d | |||
| 904529022f | |||
| 6f6145f1c0 | |||
| e209ddd352 | |||
| 0c8d4ae178 |
@@ -0,0 +1,6 @@
|
||||
# Getting Started
|
||||
|
||||
`nixos-rebuild switch --flake LOCATION#HOST_NAME`
|
||||
`home-manager switch --flake LOCATION#HOST_NAME`
|
||||
|
||||
Change `LOCATION` and `HOST_NAME`.
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
myConfig,
|
||||
...
|
||||
}: {
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
set fish_greeting
|
||||
fish_vi_key_bindings
|
||||
zoxide init fish | source
|
||||
zoxide init fish --cmd cd | source
|
||||
'';
|
||||
shellAliases = myConfig.terminal.aliases;
|
||||
|
||||
plugins = with pkgs.fishPlugins; [
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{myConfig, ...}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
user.name = "${myConfig.git.username}";
|
||||
user.email = "${myConfig.git.email}";
|
||||
init.defaultBranch = "${myConfig.git.defaultBranch}";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
home.packages = [
|
||||
inputs.nixovim.packages.${system}.full
|
||||
];
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
options = [
|
||||
"--cmd cd"
|
||||
];
|
||||
};
|
||||
}
|
||||
-32
@@ -1,32 +0,0 @@
|
||||
{
|
||||
myConfig = {
|
||||
nixos = {
|
||||
username = "kenji";
|
||||
hostname = "hakase";
|
||||
timezone = "America/Chicago";
|
||||
shell = "fish";
|
||||
};
|
||||
git = {
|
||||
username = "kenji";
|
||||
email = "kenji@hakase";
|
||||
defaultBranch = "master";
|
||||
};
|
||||
ssh = {
|
||||
extraConfig = ''
|
||||
Host macair
|
||||
User biscuit
|
||||
HostName 192.168.68.81
|
||||
|
||||
Host gitea.sakamoto.dev
|
||||
User kenji
|
||||
ProxyCommand cloudflared access ssh --hostname %h
|
||||
HostName gitea.sakamoto.dev
|
||||
'';
|
||||
};
|
||||
terminal = {
|
||||
aliases = {
|
||||
update = "sudo nixos-rebuild switch --flake ~/.config/nixos-new/#hakase";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Generated
+219
-532
@@ -1,5 +1,48 @@
|
||||
{
|
||||
"nodes": {
|
||||
"ags": {
|
||||
"inputs": {
|
||||
"astal": "astal",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744557573,
|
||||
"narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=",
|
||||
"owner": "aylur",
|
||||
"repo": "ags",
|
||||
"rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "aylur",
|
||||
"repo": "ags",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ags_2": {
|
||||
"inputs": {
|
||||
"astal": "astal_3",
|
||||
"nixpkgs": [
|
||||
"hyprpanel",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736090999,
|
||||
"narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=",
|
||||
"owner": "aylur",
|
||||
"repo": "ags",
|
||||
"rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "aylur",
|
||||
"repo": "ags",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"aquamarine": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
@@ -20,11 +63,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765900596,
|
||||
"narHash": "sha256-+hn8v9jkkLP9m+o0Nm5SiEq10W0iWDSotH2XfjU45fA=",
|
||||
"lastModified": 1745357003,
|
||||
"narHash": "sha256-jYwzQkv1r7HN/4qrAuKp+NR4YYNp2xDrOX5O9YVqkWo=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "d83c97f8f5c0aae553c1489c7d9eff3eadcadace",
|
||||
"rev": "a19cf76ee1a15c1c12083fa372747ce46387289f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -33,36 +76,77 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"devshell": {
|
||||
"astal": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"ags",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735644329,
|
||||
"narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
|
||||
"lastModified": 1742571008,
|
||||
"narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=",
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"astal_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747093850,
|
||||
"narHash": "sha256-SaHAtzUyfm4urAcUEZlBFn7dWhoDqA6kaeFZ11CCTf8=",
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"rev": "4820a3e37cc8eb81db6ed991528fb23472a8e4de",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"astal_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprpanel",
|
||||
"ags",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735172721,
|
||||
"narHash": "sha256-rtEAwGsHSppnkR3Qg3eRJ6Xh/F84IY9CrBBLzYabalY=",
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"rev": "6c84b64efc736e039a8a10774a4a1bf772c37aa2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "aylur",
|
||||
"repo": "astal",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1761588595,
|
||||
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -71,106 +155,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"revCount": 69,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738453229,
|
||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738453229,
|
||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore_2",
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737465171,
|
||||
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -193,29 +177,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -223,33 +184,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766387499,
|
||||
"narHash": "sha256-AjK3/UKDzeXFeYNLVBaJ3+HLE9he1g5UrlNd4/BM3eA=",
|
||||
"lastModified": 1747106332,
|
||||
"narHash": "sha256-mOdRWJzJAMp0hF8aSResyp8BeOO5VoSng1uqtEq+8xI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "527ad07e6625302b648ed3b28c34b62a79bd103e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738878603,
|
||||
"narHash": "sha256-fmhq8B3MvQLawLbMO+LWLcdC2ftLMmwSk+P29icJ3tE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "433799271274c9f2ab520a49527ebfe2992dcfbd",
|
||||
"rev": "535a541b429c1e89f0955c160df1d6d2bfeaf802",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -274,11 +213,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753964049,
|
||||
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
|
||||
"lastModified": 1745948457,
|
||||
"narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
|
||||
"rev": "ac903e80b33ba6a88df83d02232483d99f327573",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -303,11 +242,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763733840,
|
||||
"narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=",
|
||||
"lastModified": 1745015490,
|
||||
"narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprgraphics",
|
||||
"rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a",
|
||||
"rev": "60754910946b4e2dc1377b967b7156cb989c5873",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -321,12 +260,11 @@
|
||||
"aquamarine": "aquamarine",
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprgraphics": "hyprgraphics",
|
||||
"hyprland-guiutils": "hyprland-guiutils",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprland-qtutils": "hyprland-qtutils",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"hyprwire": "hyprwire",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
@@ -335,64 +273,16 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766498696,
|
||||
"narHash": "sha256-74qO6ynwUav+QqNhBVn/4yoBCpU6r3/eCkX/V11uL+E=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "f7f357f15f83612078eb0919ca08b71cac01c25e",
|
||||
"revCount": 6741,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
},
|
||||
"original": {
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
}
|
||||
},
|
||||
"hyprland-guiutils": {
|
||||
"inputs": {
|
||||
"aquamarine": [
|
||||
"hyprland",
|
||||
"aquamarine"
|
||||
],
|
||||
"hyprgraphics": [
|
||||
"hyprland",
|
||||
"hyprgraphics"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprtoolkit": "hyprtoolkit",
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765643131,
|
||||
"narHash": "sha256-CCGohW5EBIRy4B7vTyBMqPgsNcaNenVad/wszfddET0=",
|
||||
"lastModified": 1747052147,
|
||||
"narHash": "sha256-c0e3V7Rqu2DZuix1lRBXedInzSskow8ssQSsmqkW38o=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-guiutils",
|
||||
"rev": "e50ae912813bdfa8372d62daf454f48d6df02297",
|
||||
"repo": "Hyprland",
|
||||
"rev": "da3583fd5e86044d02af9fcfac84724e02545336",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-guiutils",
|
||||
"repo": "Hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -408,11 +298,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765214753,
|
||||
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
|
||||
"lastModified": 1743714874,
|
||||
"narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
|
||||
"rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -421,6 +311,74 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-qt-support": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737634706,
|
||||
"narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qt-support",
|
||||
"rev": "8810df502cdee755993cb803eba7b23f189db795",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qt-support",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-qtutils": {
|
||||
"inputs": {
|
||||
"hyprland-qt-support": "hyprland-qt-support",
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745951494,
|
||||
"narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-qtutils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprlang": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
@@ -437,11 +395,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764612430,
|
||||
"narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=",
|
||||
"lastModified": 1746655412,
|
||||
"narHash": "sha256-kVQ0bHVtX6baYxRWWIh4u3LNJZb9Zcm2xBeDPOGz5BY=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "0d00dc118981531aa731150b6ea551ef037acddd",
|
||||
"rev": "557241780c179cf7ef224df392f8e67dab6cef83",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -450,55 +408,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprtoolkit": {
|
||||
"hyprpanel": {
|
||||
"inputs": {
|
||||
"aquamarine": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"aquamarine"
|
||||
],
|
||||
"hyprgraphics": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprgraphics"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"ags": "ags_2",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"hyprland-guiutils",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764592794,
|
||||
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprtoolkit",
|
||||
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
|
||||
"lastModified": 1747029715,
|
||||
"narHash": "sha256-F75IlhzUF+VTPOq+u2Exj+6PjHWPkLcBWDnhO+Vvch4=",
|
||||
"owner": "Jas-SinghFSU",
|
||||
"repo": "Hyprpanel",
|
||||
"rev": "2bb1449fb6ad60a736ce6fb4de2037d7655545ed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprtoolkit",
|
||||
"owner": "Jas-SinghFSU",
|
||||
"repo": "Hyprpanel",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -514,11 +441,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766160771,
|
||||
"narHash": "sha256-roINUGikWRqqgKrD4iotKbGj3ZKJl3hjMz5l/SyKrHw=",
|
||||
"lastModified": 1746635225,
|
||||
"narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "5ac060bfcf2f12b3a6381156ebbc13826a05b09f",
|
||||
"rev": "674ea57373f08b7609ce93baff131117a0dfe70d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -539,11 +466,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763640274,
|
||||
"narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=",
|
||||
"lastModified": 1739870480,
|
||||
"narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwayland-scanner",
|
||||
"rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671",
|
||||
"rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -552,206 +479,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprwire": {
|
||||
"inputs": {
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766253200,
|
||||
"narHash": "sha256-26qPwrd3od+xoYVywSB7hC2cz9ivN46VPLlrsXyGxvE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwire",
|
||||
"rev": "1079777525b30a947c8d657fac158e00ae85de9d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprwire",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729958008,
|
||||
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.6",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738743987,
|
||||
"narHash": "sha256-O3bnAfsObto6l2tQOmQlrO6Z2kD6yKwOWfs7pA0CpOc=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "ae406c04577ff9a64087018c79b4fdc02468c87c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixovim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixvim": "nixvim",
|
||||
"rust-overlay": [
|
||||
"rust-overlay"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764015463,
|
||||
"narHash": "sha256-CfkyQKOVhrSENBoUiCAZbyZtS9lfLlJXUj2kw8i+xtU=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "0231245a5ba7bcb9dd81373474795514d03a4c30",
|
||||
"revCount": 70,
|
||||
"type": "git",
|
||||
"url": "https://git.sakamoto.dev/kenji/nixovim.git"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.sakamoto.dev/kenji/nixovim.git"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1738797219,
|
||||
"narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1746904237,
|
||||
"narHash": "sha256-3e+AVBczosP5dCLQmMoMEogM57gmZ2qrVSrmq9aResQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1da52dd49a127ad74486b135898da2cef8c62665",
|
||||
"rev": "d89fc19e405cb2d55ce7cc114356846a0ee5e956",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1738452942,
|
||||
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1766309749,
|
||||
"narHash": "sha256-3xY8CZ4rSnQ0NqGhMKAy5vgC+2IVK0NoVEzDoOh4DA4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a6531044f6d0bef691ea18d4d4ce44d0daa6e816",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"git-hooks": "git-hooks",
|
||||
"home-manager": "home-manager_2",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739353096,
|
||||
"narHash": "sha256-w/T2uYCoq4k6K46GX2CMGWsKfMvcqnxC41LIgnvGifE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "78b6f8e1e5b37a7789216e17a96ebc117660f0e7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738508923,
|
||||
"narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "86e2038290859006e05ca7201425ea5b5de4aecb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
@@ -762,11 +505,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1765911976,
|
||||
"narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=",
|
||||
"lastModified": 1746537231,
|
||||
"narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "b68b780b69702a090c8bb1b973bab13756cc7a27",
|
||||
"rev": "fa466640195d38ec97cf0493d6d6882bc4d14969",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -777,31 +520,12 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"ags": "ags",
|
||||
"astal": "astal_2",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"nixovim": "nixovim",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"rust-overlay": "rust-overlay"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1766457837,
|
||||
"narHash": "sha256-aeBbkQ0HPFNOIsUeEsXmZHXbYq4bG8ipT9JRlCcKHgU=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "2c7510a559416d07242621d036847152d970612b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
"hyprpanel": "hyprpanel",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
@@ -819,43 +543,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738680491,
|
||||
"narHash": "sha256-8X7tR3kFGkE7WEF5EXVkt4apgaN85oHZdoTGutCFs6I=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "64dbb922d51a42c0ced6a7668ca008dded61c483",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
@@ -884,11 +571,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761431178,
|
||||
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
|
||||
"lastModified": 1745871725,
|
||||
"narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
|
||||
"rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -1,51 +1,102 @@
|
||||
{
|
||||
description = "Hakase Configuration";
|
||||
description = "A very basic flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs"; # ensures version follows nixpkgs
|
||||
|
||||
rust-overlay = {
|
||||
url = "github:oxalica/rust-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
hyprland.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland = {
|
||||
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixovim = {
|
||||
url = "git+https://git.sakamoto.dev/kenji/nixovim.git";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.rust-overlay.follows = "rust-overlay";
|
||||
};
|
||||
astal.url = "github:aylur/astal";
|
||||
astal.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
ags.url = "github:aylur/ags";
|
||||
ags.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
hyprpanel.url = "github:Jas-SinghFSU/Hyprpanel";
|
||||
hyprpanel.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
nixovim,
|
||||
ags,
|
||||
astal,
|
||||
hyprpanel,
|
||||
...
|
||||
} @ inputs: let
|
||||
config = import ./config.nix;
|
||||
lib = nixpkgs.lib;
|
||||
system = "x86_64-linux";
|
||||
args =
|
||||
{
|
||||
inherit inputs system;
|
||||
}
|
||||
// config;
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in {
|
||||
# TODO: migrate to another nix file.
|
||||
# packages.${system}.default = pkgs.stdenv.mkDerivation {
|
||||
# pname = "marble";
|
||||
# src = ./marble;
|
||||
# dontUnpack = true;
|
||||
#
|
||||
# nativeBuildInputs = with pkgs; [
|
||||
# wrapGAppsHook
|
||||
# gobject-introspection
|
||||
# ];
|
||||
#
|
||||
# buildInputs =
|
||||
# (with astal.packages.${system}; [
|
||||
# astal3
|
||||
# io
|
||||
# apps
|
||||
# battery
|
||||
# bluetooth
|
||||
# hyprland
|
||||
# mpris
|
||||
# network
|
||||
# notifd
|
||||
# powerprofiles
|
||||
# tray
|
||||
# wireplumber
|
||||
# ])
|
||||
# ++ (with pkgs; [
|
||||
# gjs
|
||||
# ]);
|
||||
#
|
||||
# preFixup = ''
|
||||
# gappsWrapperArgs+=(
|
||||
# --prefix PATH : ${with pkgs;
|
||||
# lib.makeBinPath [
|
||||
# dart-sass
|
||||
# fzf
|
||||
# ]}
|
||||
# )
|
||||
# '';
|
||||
#
|
||||
# installPhase = ''
|
||||
# mkdir -p $out/bin
|
||||
# install $src $out/bin/marble
|
||||
# '';
|
||||
# }; # END TODO
|
||||
|
||||
nixosConfigurations = {
|
||||
hakase = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = args;
|
||||
biscuit = lib.nixosSystem {
|
||||
specialArgs = {inherit inputs system;};
|
||||
inherit system;
|
||||
modules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
./hosts/hakase/configuration.nix
|
||||
./nixos/configuration.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
homeConfigurations = {
|
||||
biscuit = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [inputs.hyprpanel.overlay];
|
||||
};
|
||||
# inherit pkgs;
|
||||
extraSpecialArgs = {inherit inputs system;};
|
||||
modules = [./home-manager/home.nix];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
inputs, outputs, lib, config, pkgs, ...
|
||||
}: {
|
||||
imports = [
|
||||
../modules/editor.nix
|
||||
../modules/terminal.nix
|
||||
../modules/wayland.nix
|
||||
];
|
||||
|
||||
home = {
|
||||
username = "biscuit";
|
||||
homeDirectory = "/home/biscuit";
|
||||
};
|
||||
|
||||
home.packages = [];
|
||||
home.sessionVariables = {};
|
||||
|
||||
programs.git.enable = true;
|
||||
programs.neovim.enable = true;
|
||||
|
||||
systemd.user.startServices = "sd-switch";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
home.stateVersion = "23.05";
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
../modules/home/terminal.nix
|
||||
];
|
||||
|
||||
home.stateVersion = "25.05";
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
myConfig,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../modules/system/default.nix
|
||||
];
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/mapper/luks-f8bd85aa-b08e-472a-b7f6-5e190b9b9714";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-f8bd85aa-b08e-472a-b7f6-5e190b9b9714".device = "/dev/disk/by-uuid/f8bd85aa-b08e-472a-b7f6-5e190b9b9714";
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/72BA-AF9B";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
|
||||
{ ... }: {
|
||||
imports = [
|
||||
../packages/nvim/default.nix
|
||||
];
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
imports = [
|
||||
../../apps/neovim/neovim.nix
|
||||
../../apps/git/home.nix
|
||||
../../apps/zoxide/home.nix
|
||||
../../apps/fish/home.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{ ... }: {
|
||||
imports = [
|
||||
../system/firefox/default.nix
|
||||
../system/astal/default.nix
|
||||
../system/hyprland/default.nix
|
||||
../system/fonts/default.nix
|
||||
../system/cursor/default.nix
|
||||
../system/development/default.nix
|
||||
../system/theme/default.nix
|
||||
];
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
../../system/boot.nix
|
||||
../../system/amd.nix
|
||||
../../system/hardware.nix
|
||||
../../system/home-manager.nix
|
||||
../../system/services.nix
|
||||
../../system/user.nix
|
||||
../../system/version.nix
|
||||
../../system/fonts.nix
|
||||
../../system/programs.nix
|
||||
];
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
cloudflared
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
../packages/zsh/default.nix
|
||||
../packages/kitty/default.nix
|
||||
../packages/fastfetch/default.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
|
||||
{ ... }: {
|
||||
imports = [
|
||||
../packages/hyprland/default.nix
|
||||
../packages/waybar/default.nix
|
||||
../packages/ags/default.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
{ config, pkgs, inputs, ... }: {
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
../modules/system.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
|
||||
networking.hostName = "nixos"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Enable bluetooth
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Chicago";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver.xkb = {
|
||||
layout = "us";
|
||||
variant = "";
|
||||
};
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users = {
|
||||
defaultUserShell = pkgs.bash;
|
||||
users.biscuit = {
|
||||
isNormalUser = true;
|
||||
description = "Biscuit";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
shell = pkgs.zsh;
|
||||
packages = with pkgs; [];
|
||||
};
|
||||
};
|
||||
|
||||
# List packages installed in system profile.
|
||||
environment.systemPackages = with pkgs; [
|
||||
wl-clipboard
|
||||
vim # Default editor
|
||||
wget
|
||||
git
|
||||
home-manager
|
||||
zsh
|
||||
p7zip
|
||||
btop
|
||||
libnotify
|
||||
astal.apps
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
|
||||
};
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
services.openssh.enable = true;
|
||||
|
||||
# Enable non-bash shell
|
||||
programs.zsh.enable = true;
|
||||
|
||||
### ----------------------------------------
|
||||
### DESKTOP START
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
hardware = {
|
||||
# pulseaudio.enable = true;
|
||||
graphics.enable = true;
|
||||
nvidia.modesetting.enable = false;
|
||||
};
|
||||
|
||||
### DESKTOP END
|
||||
### ----------------------------------------
|
||||
|
||||
# Enable experimental features
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
#nixpkgs = {
|
||||
# overlays = [
|
||||
# (final: prev: {
|
||||
# nvchad = inputs.nvchad4nix.packages.${pkgs.system}.nvchad;
|
||||
#})
|
||||
#];
|
||||
#};
|
||||
# System state version
|
||||
system.stateVersion = "24.11"; # Ensure this matches your NixOS version
|
||||
}
|
||||
|
||||
@@ -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" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/8552e23a-af9f-4af8-947f-9ea6ff1e7195";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/00BB-80E9";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/2a916b88-8039-481b-9c30-4edd0f329eb3"; }
|
||||
];
|
||||
|
||||
# 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.eno1.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
node_modules/
|
||||
@girs/
|
||||
@@ -0,0 +1,13 @@
|
||||
import { App } from "astal/gtk3"
|
||||
import style from "./style.scss"
|
||||
import Bar from "./widget/Bar"
|
||||
|
||||
App.start({
|
||||
css: style,
|
||||
instanceName: "js",
|
||||
requestHandler(request, res) {
|
||||
print(request)
|
||||
res("ok")
|
||||
},
|
||||
main: () => App.get_monitors().map(Bar),
|
||||
})
|
||||
Vendored
+21
@@ -0,0 +1,21 @@
|
||||
declare const SRC: string
|
||||
|
||||
declare module "inline:*" {
|
||||
const content: string
|
||||
export default content
|
||||
}
|
||||
|
||||
declare module "*.scss" {
|
||||
const content: string
|
||||
export default content
|
||||
}
|
||||
|
||||
declare module "*.blp" {
|
||||
const content: string
|
||||
export default content
|
||||
}
|
||||
|
||||
declare module "*.css" {
|
||||
const content: string
|
||||
export default content
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "astal-shell",
|
||||
"dependencies": {
|
||||
"astal": "/home/biscuit/.local/share/ags"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
@use "sass:color";
|
||||
|
||||
$bg: #212223;
|
||||
$fg: #f1f1f1;
|
||||
$accent: #378DF7;
|
||||
$radius: 7px;
|
||||
|
||||
window.Bar {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
background-color: $bg;
|
||||
color: $fg;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
|
||||
label {
|
||||
margin: 0 8px;
|
||||
}
|
||||
|
||||
.Workspaces {
|
||||
button {
|
||||
all: unset;
|
||||
background-color: transparent;
|
||||
|
||||
&:hover label {
|
||||
background-color: color.adjust($fg, $alpha: -0.84);
|
||||
border-color: color.adjust($accent, $alpha: -0.8);
|
||||
}
|
||||
|
||||
&:active label {
|
||||
background-color: color.adjust($fg, $alpha: -0.8)
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
transition: 200ms;
|
||||
padding: 0 8px;
|
||||
margin: 2px;
|
||||
border-radius: $radius;
|
||||
border: 1pt solid transparent;
|
||||
}
|
||||
|
||||
.focused label {
|
||||
color: $accent;
|
||||
border-color: $accent;
|
||||
}
|
||||
}
|
||||
|
||||
.SysTray {
|
||||
margin-right: 8px;
|
||||
|
||||
button {
|
||||
padding: 0 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.FocusedClient {
|
||||
color: $accent;
|
||||
}
|
||||
|
||||
.Media .Cover {
|
||||
min-height: 1.2em;
|
||||
min-width: 1.2em;
|
||||
border-radius: $radius;
|
||||
background-position: center;
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
.Battery label {
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.AudioSlider {
|
||||
* {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
icon {
|
||||
margin-right: .6em;
|
||||
}
|
||||
|
||||
& {
|
||||
margin: 0 1em;
|
||||
}
|
||||
|
||||
trough {
|
||||
background-color: color.adjust($fg, $alpha: -0.8);
|
||||
border-radius: $radius;
|
||||
}
|
||||
|
||||
highlight {
|
||||
background-color: $accent;
|
||||
min-height: .8em;
|
||||
border-radius: $radius;
|
||||
}
|
||||
|
||||
slider {
|
||||
background-color: $fg;
|
||||
border-radius: $radius;
|
||||
min-height: 1em;
|
||||
min-width: 1em;
|
||||
margin: -.2em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/tsconfig",
|
||||
"compilerOptions": {
|
||||
"experimentalDecorators": true,
|
||||
"strict": true,
|
||||
"target": "ES2022",
|
||||
"module": "ES2022",
|
||||
"moduleResolution": "Bundler",
|
||||
// "checkJs": true,
|
||||
// "allowJs": true,
|
||||
"jsx": "react-jsx",
|
||||
"jsxImportSource": "astal/gtk3",
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
import { App } from "astal/gtk3"
|
||||
import { Variable, GLib, bind } from "astal"
|
||||
import { Astal, Gtk, Gdk } from "astal/gtk3"
|
||||
import Hyprland from "gi://AstalHyprland"
|
||||
import Mpris from "gi://AstalMpris"
|
||||
import Battery from "gi://AstalBattery"
|
||||
import Wp from "gi://AstalWp"
|
||||
import Network from "gi://AstalNetwork"
|
||||
import Tray from "gi://AstalTray"
|
||||
|
||||
function SysTray() {
|
||||
const tray = Tray.get_default()
|
||||
|
||||
return <box className="SysTray">
|
||||
{bind(tray, "items").as(items => items.map(item => (
|
||||
<menubutton
|
||||
tooltipMarkup={bind(item, "tooltipMarkup")}
|
||||
usePopover={false}
|
||||
actionGroup={bind(item, "actionGroup").as(ag => ["dbusmenu", ag])}
|
||||
menuModel={bind(item, "menuModel")}>
|
||||
<icon gicon={bind(item, "gicon")} />
|
||||
</menubutton>
|
||||
)))}
|
||||
</box>
|
||||
}
|
||||
|
||||
function Wifi() {
|
||||
const network = Network.get_default()
|
||||
const wifi = bind(network, "wifi")
|
||||
|
||||
return <box visible={wifi.as(Boolean)}>
|
||||
{wifi.as(wifi => wifi && (
|
||||
<icon
|
||||
tooltipText={bind(wifi, "ssid").as(String)}
|
||||
className="Wifi"
|
||||
icon={bind(wifi, "iconName")}
|
||||
/>
|
||||
))}
|
||||
</box>
|
||||
|
||||
}
|
||||
|
||||
function AudioSlider() {
|
||||
const speaker = Wp.get_default()?.audio.defaultSpeaker!
|
||||
|
||||
return <box className="AudioSlider" css="min-width: 140px">
|
||||
<icon icon={bind(speaker, "volumeIcon")} />
|
||||
<slider
|
||||
hexpand
|
||||
onDragged={({ value }) => speaker.volume = value}
|
||||
value={bind(speaker, "volume")}
|
||||
/>
|
||||
</box>
|
||||
}
|
||||
|
||||
function BatteryLevel() {
|
||||
const bat = Battery.get_default()
|
||||
|
||||
return <box className="Battery"
|
||||
visible={bind(bat, "isPresent")}>
|
||||
<icon icon={bind(bat, "batteryIconName")} />
|
||||
<label label={bind(bat, "percentage").as(p =>
|
||||
`${Math.floor(p * 100)} %`
|
||||
)} />
|
||||
</box>
|
||||
}
|
||||
|
||||
function Media() {
|
||||
const mpris = Mpris.get_default()
|
||||
|
||||
return <box className="Media">
|
||||
{bind(mpris, "players").as(ps => ps[0] ? (
|
||||
<box>
|
||||
<box
|
||||
className="Cover"
|
||||
valign={Gtk.Align.CENTER}
|
||||
css={bind(ps[0], "coverArt").as(cover =>
|
||||
`background-image: url('${cover}');`
|
||||
)}
|
||||
/>
|
||||
<label
|
||||
label={bind(ps[0], "metadata").as(() =>
|
||||
`${ps[0].title} - ${ps[0].artist}`
|
||||
)}
|
||||
/>
|
||||
</box>
|
||||
) : (
|
||||
<label label="Biscuit" />
|
||||
))}
|
||||
</box>
|
||||
}
|
||||
|
||||
|
||||
function Workspaces() {
|
||||
const hypr = Hyprland.get_default();
|
||||
|
||||
return (
|
||||
<box className="Workspaces">
|
||||
{bind(hypr, "focusedWorkspace").as((fw) => {
|
||||
if (!fw) return null;
|
||||
|
||||
// Determine the current chunk of 5 visible workspace buttons
|
||||
const currentChunkStart = Math.floor((fw.id - 1) / 5) * 5 + 1;
|
||||
const visibleIds = Array.from({ length: 5 }, (_, i) => currentChunkStart + i);
|
||||
|
||||
return visibleIds.map((id) => {
|
||||
// Try to get the real workspace, fall back to a dummy one if it doesn't exist
|
||||
const ws =
|
||||
hypr.workspaces.find((w) => w.id === id) ??
|
||||
Hyprland.Workspace.dummy(id, null);
|
||||
|
||||
return (
|
||||
<button
|
||||
className={fw.id === id ? "focused" : ""}
|
||||
onClick={() => ws.focus()}
|
||||
>
|
||||
{id}
|
||||
</button>
|
||||
);
|
||||
});
|
||||
})}
|
||||
</box>
|
||||
);
|
||||
}
|
||||
|
||||
function FocusedClient() {
|
||||
const hypr = Hyprland.get_default()
|
||||
const focused = bind(hypr, "focusedClient")
|
||||
|
||||
return <box
|
||||
className="Focused"
|
||||
visible={focused.as(Boolean)}>
|
||||
{focused.as(client => (
|
||||
client && <label label={bind(client, "title").as(String)} />
|
||||
))}
|
||||
</box>
|
||||
}
|
||||
|
||||
function Time({ format = "%H:%M %a %b %e" }) {
|
||||
const time = Variable<string>("").poll(1000, () =>
|
||||
GLib.DateTime.new_now_local().format(format)!)
|
||||
|
||||
return <label
|
||||
className="Time"
|
||||
onDestroy={() => time.drop()}
|
||||
label={time()}
|
||||
/>
|
||||
}
|
||||
|
||||
export default function Bar(monitor: Gdk.Monitor) {
|
||||
const { TOP, LEFT, RIGHT } = Astal.WindowAnchor
|
||||
|
||||
return <window
|
||||
className="Bar"
|
||||
gdkmonitor={monitor}
|
||||
exclusivity={Astal.Exclusivity.EXCLUSIVE}
|
||||
anchor={TOP | LEFT | RIGHT}>
|
||||
<centerbox>
|
||||
<box hexpand halign={Gtk.Align.START}>
|
||||
<Time />
|
||||
</box>
|
||||
<box>
|
||||
<Workspaces />
|
||||
</box>
|
||||
<box hexpand halign={Gtk.Align.END} >
|
||||
<SysTray />
|
||||
<Wifi />
|
||||
<AudioSlider />
|
||||
<BatteryLevel />
|
||||
</box>
|
||||
</centerbox>
|
||||
</window>
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
# add the home manager module
|
||||
imports = [
|
||||
inputs.ags.homeManagerModules.default
|
||||
# inputs.astal.homeManagerModules.default
|
||||
];
|
||||
|
||||
home.packages = [
|
||||
# inputs.astal.packages.${system}.default
|
||||
];
|
||||
|
||||
programs.ags = {
|
||||
enable = true;
|
||||
|
||||
# symlink to ~/.config/ags
|
||||
configDir = ./custom;
|
||||
|
||||
# additional packages to add to gjs's runtime
|
||||
extraPackages = with inputs.ags.packages.${pkgs.system}; [
|
||||
apps
|
||||
auth
|
||||
battery
|
||||
bluetooth
|
||||
hyprland
|
||||
mpris
|
||||
network
|
||||
notifd
|
||||
powerprofiles
|
||||
tray
|
||||
wireplumber
|
||||
|
||||
pkgs.fzf
|
||||
pkgs.dart-sass
|
||||
pkgs.esbuild
|
||||
];
|
||||
};
|
||||
# programs.astal = {
|
||||
# enable = true;
|
||||
# };
|
||||
}
|
||||
Submodule
+1
Submodule packages/ags/epik-shell added at 9002206c8b
@@ -0,0 +1,3 @@
|
||||
{ ... }: {
|
||||
programs.fastfetch.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
#################
|
||||
|
||||
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
# Or execute your favorite apps at launch like this:
|
||||
$terminal = kitty
|
||||
$bar = ags run
|
||||
$cursor = Bibata-Modern-Ice
|
||||
|
||||
exec-once = hyprctl setcursor $cursor 24
|
||||
exec-once = $bar
|
||||
exec-once = [workspace 20 silent] kitty --single-instance --hold fastfetch
|
||||
exec-once = [workspace 20 silent] firefox
|
||||
exec-once = [workspace 1] kitty --single-instance --hold fastfetch
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
env = XCURSOR_SIZE,24
|
||||
env = HYPRCURSOR_SIZE,24
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,191 @@
|
||||
|
||||
################
|
||||
### MONITORS ###
|
||||
################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,highres@highrr,auto,auto
|
||||
|
||||
|
||||
#####################
|
||||
### LOOK AND FEEL ###
|
||||
#####################
|
||||
|
||||
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||
general {
|
||||
gaps_in = 2
|
||||
gaps_out = 5
|
||||
|
||||
border_size = 2
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
|
||||
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
|
||||
layout = dwindle
|
||||
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||
decoration {
|
||||
rounding = 0
|
||||
rounding_power = 2
|
||||
|
||||
# Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0
|
||||
inactive_opacity = 1.0
|
||||
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
|
||||
vibrancy = 0.1696
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||
# animations {
|
||||
# enabled = yes, please :)
|
||||
#
|
||||
# # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
#
|
||||
# bezier = easeOutQuint,0.23,1,0.32,1
|
||||
# bezier = easeInOutCubic,0.65,0.05,0.36,1
|
||||
# bezier = linear,0,0,1,1
|
||||
# bezier = almostLinear,0.5,0.5,0.75,1.0
|
||||
# bezier = quick,0.15,0,0.1,1
|
||||
#
|
||||
# animation = global, 1, 10, default
|
||||
# animation = border, 1, 5.39, easeOutQuint
|
||||
# animation = windows, 1, 4.79, easeOutQuint
|
||||
# animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
|
||||
# animation = windowsOut, 1, 1.49, linear, popin 87%
|
||||
# animation = fadeIn, 1, 1.73, almostLinear
|
||||
# animation = fadeOut, 1, 1.46, almostLinear
|
||||
# animation = fade, 1, 3.03, quick
|
||||
# animation = layers, 1, 3.81, easeOutQuint
|
||||
# animation = layersIn, 1, 4, easeOutQuint, fade
|
||||
# animation = layersOut, 1, 1.5, linear, fade
|
||||
# animation = fadeLayersIn, 1, 1.79, almostLinear
|
||||
# animation = fadeLayersOut, 1, 1.39, almostLinear
|
||||
# animation = workspaces, 1, 1.94, almostLinear, fade
|
||||
# animation = workspacesIn, 1, 1.21, almostLinear, fade
|
||||
# animation = workspacesOut, 1, 1.94, almostLinear, fade
|
||||
# }
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
# Animation curves
|
||||
|
||||
bezier = linear, 0, 0, 1, 1
|
||||
bezier = md3_standard, 0.2, 0, 0, 1
|
||||
bezier = md3_decel, 0.05, 0.7, 0.1, 1
|
||||
bezier = md3_accel, 0.3, 0, 0.8, 0.15
|
||||
bezier = overshot, 0.05, 0.9, 0.1, 1.1
|
||||
bezier = crazyshot, 0.1, 1.5, 0.76, 0.92
|
||||
bezier = hyprnostretch, 0.05, 0.9, 0.1, 1.0
|
||||
bezier = menu_decel, 0.1, 1, 0, 1
|
||||
bezier = menu_accel, 0.38, 0.04, 1, 0.07
|
||||
bezier = easeInOutCirc, 0.85, 0, 0.15, 1
|
||||
bezier = easeOutCirc, 0, 0.55, 0.45, 1
|
||||
bezier = easeOutExpo, 0.16, 1, 0.3, 1
|
||||
bezier = softAcDecel, 0.26, 0.26, 0.15, 1
|
||||
bezier = md2, 0.4, 0, 0.2, 1 # use with .2s duration
|
||||
# Animation configs
|
||||
animation = windows, 1, 3, md3_decel, popin 60%
|
||||
animation = windowsIn, 1, 3, md3_decel, popin 60%
|
||||
animation = windowsOut, 1, 3, md3_accel, popin 60%
|
||||
animation = border, 1, 10, default
|
||||
animation = fade, 1, 3, md3_decel
|
||||
# animation = layers, 1, 2, md3_decel, slide
|
||||
animation = layersIn, 1, 3, menu_decel, slide
|
||||
animation = layersOut, 1, 1.6, menu_accel
|
||||
animation = fadeLayersIn, 1, 2, menu_decel
|
||||
animation = fadeLayersOut, 1, 0.5, menu_accel
|
||||
animation = workspaces, 1, 7, menu_decel, slide
|
||||
# animation = workspaces, 1, 2.5, softAcDecel, slide
|
||||
# animation = workspaces, 1, 7, menu_decel, slidefade 15%
|
||||
# animation = specialWorkspace, 1, 3, md3_decel, slidefadevert 15%
|
||||
animation = specialWorkspace, 1, 3, md3_decel, slidevert
|
||||
}
|
||||
|
||||
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
||||
# "Smart gaps" / "No gaps when only"
|
||||
# uncomment all if you wish to use that.
|
||||
# workspace = w[tv1], gapsout:0, gapsin:0
|
||||
# workspace = f[1], gapsout:0, gapsin:0
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:w[tv1]
|
||||
# windowrule = bordersize 0, floating:0, onworkspace:f[1]
|
||||
# windowrule = rounding 0, floating:0, onworkspace:f[1]
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
}
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
master {
|
||||
new_status = master
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||
misc {
|
||||
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||
}
|
||||
|
||||
|
||||
#############
|
||||
### INPUT ###
|
||||
#############
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||
input {
|
||||
kb_layout = us
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad {
|
||||
natural_scroll = false
|
||||
}
|
||||
|
||||
numlock_by_default = true
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
name = epic-mouse-v1
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
###################
|
||||
### KEYBINDINGS ###
|
||||
###################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||
$terminal = kitty --single-instance
|
||||
$browser = firefox
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, Return, exec, $terminal
|
||||
bind = $mainMod, Q, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, B, togglesplit, # dwindle
|
||||
bind = $mainMod, W, exec, $browser
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, H, movefocus, l
|
||||
bind = $mainMod, L, movefocus, r
|
||||
bind = $mainMod, K, movefocus, u
|
||||
bind = $mainMod, J, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, S, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness
|
||||
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||
|
||||
# Requires playerctl
|
||||
bindl = , XF86AudioNext, exec, playerctl next
|
||||
bindl = , XF86AudioPause, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
##############################
|
||||
### WINDOWS AND WORKSPACES ###
|
||||
##############################
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||
|
||||
# Example windowrule
|
||||
# windowrule = float,class:^(kitty)$,title:^(kitty)$
|
||||
|
||||
# Ignore maximize requests from apps. You'll probably like this.
|
||||
windowrule = suppressevent maximize, class:.*
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
@@ -0,0 +1,13 @@
|
||||
{ pkgs, ... }: {
|
||||
|
||||
home.file.".config/hypr/hyprland.conf" = {
|
||||
source = builtins.toPath ./hyprland.conf;
|
||||
force = true;
|
||||
};
|
||||
|
||||
home.file.".config/hypr/hyprland" = {
|
||||
source = builtins.toPath ./custom;
|
||||
recursive = true;
|
||||
force = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
source=./hyprland/keybinds.conf
|
||||
source=./hyprland/autostart.conf
|
||||
source=./hyprland/env.conf
|
||||
source=./hyprland/general.conf
|
||||
source=./hyprland/rules.conf
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.kitty
|
||||
];
|
||||
|
||||
programs.kitty.enable = true;
|
||||
programs.kitty.settings = {
|
||||
confirm_os_window_close = 0;
|
||||
window_padding_width = 10;
|
||||
font_size = 12.0;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
nvimSource = pkgs.fetchFromGitea {
|
||||
domain = "git.sakamoto.dev";
|
||||
owner = "kenji";
|
||||
repo = "nvim";
|
||||
rev = "5fc3341ac43b35fd4032c07925927d7f1e82886c";
|
||||
sha256 = "sha256-YbP814fKOFuCWBRwlccd4nx/h8sdMgiJQu54thRLsK8=";
|
||||
};
|
||||
in {
|
||||
home.packages = [
|
||||
pkgs.lazygit
|
||||
pkgs.ripgrep
|
||||
];
|
||||
home.file.".config/nvim" = {
|
||||
# BUG requires --impure
|
||||
source = /home/biscuit/Nixos/packages/nvim/nvchad;
|
||||
# source = nvimSource;
|
||||
recursive = true;
|
||||
force = true;
|
||||
};
|
||||
# Example use: provide it as a source
|
||||
# You could pass `nvimSource` to a program, or maybe use it in home.file, etc.
|
||||
}
|
||||
|
||||
Submodule
+1
Submodule packages/nvim/nvchad added at 2b4293a4c1
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 45,
|
||||
"spacing": 0,
|
||||
"modules-left": [
|
||||
"hyprland/workspaces",
|
||||
"tray",
|
||||
"custom/lock",
|
||||
"custom/reboot",
|
||||
"custom/power",
|
||||
"clock"
|
||||
],
|
||||
"modules-center": ["hyprland/window"],
|
||||
"modules-right": [
|
||||
"network",
|
||||
"battery",
|
||||
"bluetooth",
|
||||
"pulseaudio",
|
||||
"backlight",
|
||||
"custom/temperature",
|
||||
"memory",
|
||||
"cpu"
|
||||
],
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"on-click": "activate",
|
||||
"persistent-workspaces": {
|
||||
"*":[1,2,3,4,5,6,7]
|
||||
},
|
||||
"format-icons":{
|
||||
"1": "",
|
||||
"2": "",
|
||||
"3": "",
|
||||
"4": "",
|
||||
"5": "",
|
||||
"6": "",
|
||||
"7": "",
|
||||
"active": ""
|
||||
}
|
||||
},
|
||||
"custom/lock": {
|
||||
"format": " ",
|
||||
"on-click": "hyprlock",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "锁屏"
|
||||
},
|
||||
"custom/reboot": {
|
||||
"format": " ",
|
||||
"on-click": "systemctl reboot",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "重启"
|
||||
},
|
||||
"custom/power": {
|
||||
"format": " ",
|
||||
"on-click": "systemctl poweroff",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "关机"
|
||||
},
|
||||
"network": {
|
||||
"format-wifi": " {essid} ",
|
||||
"format-ethernet": " Wired ",
|
||||
"tooltip-format": "<span color='#FF1493'> </span>{bandwidthUpBytes} <span color='#00BFFF'> </span>{bandwidthDownBytes}",
|
||||
"format-linked": " {ifname} (No IP) ",
|
||||
"format-disconnected": " Disconnected ",
|
||||
"format-alt": " {signalStrength}% ",
|
||||
"interval": 1
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": " {icon} {capacity}% ",
|
||||
"format-charging": " {capacity}%",
|
||||
"interval": 1,
|
||||
"format-icons": ["", "", "", "", ""],
|
||||
"tooltip": true
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": "{icon}{volume}% ",
|
||||
"format-muted": " 0% ",
|
||||
"format-icons": {
|
||||
"headphone": " ",
|
||||
"hands-free": " ",
|
||||
"headset": " ",
|
||||
"phone": " ",
|
||||
"portable": " ",
|
||||
"car": " ",
|
||||
"default": [
|
||||
" ",
|
||||
" ",
|
||||
" "
|
||||
]
|
||||
},
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-click": "pactl -- set-sink-mute 0 toggle",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "当前系统声音: {volume}%"
|
||||
},
|
||||
"custom/temperature": {
|
||||
"exec": "sensors | awk '/^Package id 0:/ {print int($4)}'",
|
||||
"format": " {}°C ",
|
||||
"interval": 5,
|
||||
"tooltip": true,
|
||||
"tooltip-format": "当前 CPU 温度: {}°C"
|
||||
},
|
||||
"memory": {
|
||||
"format": " {used:0.1f}G/{total:0.1f}G ",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "当前内存占比: {used:0.2f}G/{total:0.2f}G"
|
||||
},
|
||||
"cpu": {
|
||||
"format": " {usage}% ",
|
||||
"tooltip": true
|
||||
},
|
||||
"clock": {
|
||||
"interval": 1,
|
||||
"timezone": "Asia/Chengdu",
|
||||
"format": " {:%H:%M} ",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{:L%Y 年 %m 月 %d 日, %A}"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 17,
|
||||
"spacing": 6
|
||||
},
|
||||
"backlight": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{icon}{percent}% ",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "当前屏幕亮度: {percent}%",
|
||||
"format-icons": [
|
||||
" ", // 暗 - 深灰
|
||||
" ", // 中 - 灰
|
||||
" ", // 亮 - 柠檬黄
|
||||
" " // 最亮 - 金色
|
||||
]
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": " {status} ",
|
||||
"format-connected": " {device_alias} ",
|
||||
"format-connected-battery": " {device_alias}{device_battery_percentage}% ",
|
||||
"tooltip-format": "{controller_alias}\t{controller_address}\n\n{num_connections} connected",
|
||||
"tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
|
||||
"tooltip-format-enumerate-connected-battery": "{device_alias}\t{device_address}\t{device_battery_percentage}%"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
* {
|
||||
font-family: "CaskaydiaCove Nerd Font", "Font Awesome 6 Free", "Font Awesome 6 Free Solid";
|
||||
font-size: 16px;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
border: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#workspaces{
|
||||
background-color: rgba(24,24,37,1.0);
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#tray{
|
||||
margin: 6px 3px;
|
||||
background-color: rgba(36, 36, 52, 1.0);
|
||||
padding: 6px 12px; /* 保持内部间距 */
|
||||
border-radius: 6px;
|
||||
border-width: 0px;
|
||||
}
|
||||
|
||||
#waybar {
|
||||
background-color: #181825;
|
||||
transition-property: background-color;
|
||||
transition-duration: 0.5s;
|
||||
}
|
||||
|
||||
#window,
|
||||
#clock,
|
||||
#custom-power,
|
||||
#custom-reboot,
|
||||
#bluetooth,
|
||||
#battery,
|
||||
#pulseaudio,
|
||||
#backlight,
|
||||
#custom-temperature,
|
||||
#memory,
|
||||
#cpu,
|
||||
#network,
|
||||
#custom-lock{
|
||||
border-radius: 4px;
|
||||
margin: 6px 3px;
|
||||
padding: 6px 12px;
|
||||
background-color: #1e1e2e;
|
||||
color: #181825;
|
||||
}
|
||||
|
||||
#clock {
|
||||
background-color: #89b4fa;
|
||||
}
|
||||
#custom-power{
|
||||
background-color: #f38ba8;
|
||||
}
|
||||
#custom-reboot{
|
||||
background-color: #a6e3a1;
|
||||
}
|
||||
#bluetooth{
|
||||
background-color: #f9e2af;
|
||||
}
|
||||
#battery{
|
||||
background-color: #cba6f7;
|
||||
}
|
||||
#pulseaudio{
|
||||
background-color: #89dceb;
|
||||
}
|
||||
#backlight{
|
||||
background-color: #a6a3a1;
|
||||
}
|
||||
#custom-temperature{
|
||||
background-color: #74c7ec;
|
||||
}
|
||||
#memory{
|
||||
background-color: #f7768e;
|
||||
}
|
||||
#cpu{
|
||||
background-color: #f38ba8;
|
||||
}
|
||||
#network{
|
||||
background-color: #fab387;
|
||||
}
|
||||
#custom-lock{
|
||||
background-color: #94e2d5;
|
||||
}
|
||||
#window{
|
||||
background-color: #74c7ec;
|
||||
}
|
||||
|
||||
#waybar.hidden {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
all: initial;
|
||||
/* Remove GTK theme values (waybar #1351) */
|
||||
min-width: 0;
|
||||
/* Fix weird spacing in materia (waybar #450) */
|
||||
box-shadow: inset 0 -3px transparent;
|
||||
/* Use box-shadow instead of border so the text isn't offset */
|
||||
padding: 6px 18px;
|
||||
margin: 6px 3px;
|
||||
border-radius: 4px;
|
||||
background-color: rgba(36, 36, 52, 1.0);
|
||||
color: #cdd6f4;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
color: #1e1e2e;
|
||||
background-color: #cdd6f4;
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
color: #1e1e2e;
|
||||
background-color: #cdd6f4;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
border-radius: 8px;
|
||||
padding: 16px;
|
||||
background-color: #131822;
|
||||
color: #C0C0C0;
|
||||
}
|
||||
|
||||
tooltip label {
|
||||
padding: 5px;
|
||||
background-color: #131822;
|
||||
color: #C0C0C0;
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{ ... }: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
home.file.".config/waybar" = {
|
||||
source = builtins.toPath ./custom;
|
||||
recursive = true;
|
||||
force = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||
"blocks": [
|
||||
{
|
||||
"alignment": "left",
|
||||
"segments": [
|
||||
{
|
||||
"foreground": "#ffdd86",
|
||||
"style": "plain",
|
||||
"template": "{{ .UserName }}@{{ .HostName }} ",
|
||||
"type": "session"
|
||||
},
|
||||
{
|
||||
"foreground": "#42a9ff",
|
||||
"style": "plain",
|
||||
"properties": {
|
||||
"style": "full"
|
||||
},
|
||||
"template": "{{ .Path }} ",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"branch_icon": "",
|
||||
"fetch_status": true
|
||||
},
|
||||
"style": "plain",
|
||||
"template": "git:{{ if or (.Working.Changed) (.Staging.Changed) (gt .StashCount 0) }}<#ffdd86>{{ .HEAD }}</>{{ else }}{{ .HEAD }}{{ end }}{{ if .Staging.Changed }} <#98c379>{{ .Staging.String }}</>{{ end }}{{ if .Working.Changed }} <#d16971>{{ .Working.String }}</>{{ end }}",
|
||||
"type": "git"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
},
|
||||
{
|
||||
"alignment": "left",
|
||||
"newline": true,
|
||||
"segments": [
|
||||
{
|
||||
"foreground": "#ffdd86",
|
||||
"foreground_templates": [
|
||||
"{{ if gt .Code 0 }}#42a9ff{{ end }}"
|
||||
],
|
||||
"properties": {
|
||||
"always_enabled": true
|
||||
},
|
||||
"style": "plain",
|
||||
"template": "> ",
|
||||
"type": "status"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
}
|
||||
],
|
||||
"version": 3
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
{ pkgs, ... }: {
|
||||
home.packages = [
|
||||
pkgs.zoxide
|
||||
pkgs.oh-my-posh
|
||||
];
|
||||
|
||||
programs.zoxide.enable = true;
|
||||
programs.oh-my-posh.enable = true;
|
||||
|
||||
home.file.".config/oh-my-posh/config.omp.json" = {
|
||||
source = ./custom/config.omp.json;
|
||||
force = true;
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
# {
|
||||
# name = "zsh-autocomplete"; # completes history, commands, etc.
|
||||
# src = pkgs.fetchFromGitHub {
|
||||
# owner = "marlonrichert";
|
||||
# repo = "zsh-autocomplete";
|
||||
# rev = "762afacbf227ecd173e899d10a28a478b4c84a3f";
|
||||
# sha256 = "1357hygrjwj5vd4cjdvxzrx967f1d2dbqm2rskbz5z1q6jri1hm3";
|
||||
# }; # e.g., nix-prefetch-url --unpack https://github.com/marlonrichert/zsh-autocomplete/archive/762afacbf227ecd173e899d10a28a478b4c84a3f.tar.gz
|
||||
# }
|
||||
{
|
||||
name = "vi-mode";
|
||||
src = pkgs.zsh-vi-mode;
|
||||
file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh";
|
||||
}
|
||||
{
|
||||
name = "autosuggestion";
|
||||
src = pkgs.zsh-autosuggestions;
|
||||
file = "share/zsh-autosuggestions/zsh-autosuggestions.zsh";
|
||||
}
|
||||
];
|
||||
enableCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
shellAliases = {
|
||||
ll = "ls -l";
|
||||
upd = "sudo nixos-rebuild switch --flake ~/Nixos/#biscuit";
|
||||
hupd = "home-manager switch --flake ~/Nixos/#biscuit --impure";
|
||||
agu = "pkill gjs & ags run ~/Nixos/packages/ags/custom/app.ts &";
|
||||
};
|
||||
history.size = 10000;
|
||||
oh-my-zsh = {
|
||||
plugins = [ ];
|
||||
enable = true;
|
||||
theme = "robbyrussell";
|
||||
extraConfig = ''
|
||||
zstyle ':completion:*' completer _expand _complete _ignored _approximate _expand_alias
|
||||
zstyle ':autocomplete:*' default-context curcontext
|
||||
zstyle ':autocomplete:*' min-input 0
|
||||
|
||||
setopt HIST_FIND_NO_DUPS
|
||||
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
|
||||
# setopt autocd # cd without writing 'cd'
|
||||
setopt globdots # show dotfiles in autocomplete list
|
||||
'';
|
||||
};
|
||||
initContent = ''
|
||||
# Oh-My-Posh initialization for Zsh
|
||||
eval "$(oh-my-posh init zsh --config ~/.config/oh-my-posh/config.omp.json)"
|
||||
|
||||
# zsh-autocomplete
|
||||
bindkey -M menuselect '^M' .accept-line # run code when selected completion
|
||||
'';
|
||||
|
||||
};
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
hardware.amdgpu.initrd.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
astal.io
|
||||
astal.gjs
|
||||
astal.hyprland
|
||||
astal.apps
|
||||
];
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot";
|
||||
};
|
||||
|
||||
# grub = {
|
||||
# enable = false;
|
||||
# device = "nodev";
|
||||
# };
|
||||
};
|
||||
|
||||
initrd = {
|
||||
systemd.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{ pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
hyprcursor
|
||||
bibata-cursors
|
||||
];
|
||||
}
|
||||
@@ -1,5 +1,10 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
gcc
|
||||
rustc
|
||||
cargo
|
||||
nodejs
|
||||
python313
|
||||
busybox
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{ pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
firefox
|
||||
];
|
||||
|
||||
programs.firefox.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{ pkgs, ... }: {
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts.fira-code
|
||||
];
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
hardware = {
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
};
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [22 80];
|
||||
allowedUDPPorts = [53];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
specialArgs,
|
||||
myConfig,
|
||||
...
|
||||
}: {
|
||||
home-manager = {
|
||||
backupFileExtension = "backup";
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = specialArgs;
|
||||
users.${myConfig.nixos.username} = import ../home/hakase.nix;
|
||||
};
|
||||
|
||||
imports = [
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{ ... }: {
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
# package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
# portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
ssh.extraConfig = myConfig.ssh.extraConfig;
|
||||
bash.interactiveShellInit = ''
|
||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]; then
|
||||
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||
fi
|
||||
'';
|
||||
fish.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
services = {
|
||||
# essentials
|
||||
openssh.enable = true;
|
||||
blueman.enable = true;
|
||||
# Complements printer support
|
||||
printing.enable = true;
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = [
|
||||
pkgs.adw-gtk3
|
||||
pkgs.colloid-icon-theme
|
||||
pkgs.colloid-gtk-theme
|
||||
];
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
myConfig,
|
||||
...
|
||||
}: {
|
||||
users = {
|
||||
users = {
|
||||
${myConfig.nixos.username} = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel" "networkmanager" "input" "video"];
|
||||
useDefaultShell = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
system.stateVersion = "25.05";
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix = {
|
||||
distributedBuilds = true;
|
||||
settings = {
|
||||
builders-use-substitutes = true;
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user