Compare commits
43 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 357b9a4f04 | |||
| 2d69f55eba | |||
| c7787f3d27 | |||
| b37edeed36 | |||
| 945ed455c9 | |||
| 8f4de3964f | |||
| d7489f811a | |||
| ed24c8eaea | |||
| d2baeeba6d | |||
| 6cdfd4c169 | |||
| 30a55ac796 | |||
| 277e7a1191 | |||
| 59a18fbe85 | |||
| 31d4628955 | |||
| 39162c5ead | |||
| 2cee6724c8 | |||
| 080f4ec678 | |||
| 4271d20f44 | |||
| 71c6d75ff7 | |||
| 571645a2e6 | |||
| f52a8923fd | |||
| 1fdd8f51fe | |||
| 8c4c69b5dd | |||
| 79a22e0041 | |||
| fba74facdc | |||
| bdab858be2 | |||
| 37e982c983 | |||
| 6fc18f11a5 | |||
| d9128fcf06 | |||
| b7d0583aaf | |||
| 2d5f115468 | |||
| 306ee40129 | |||
| f7b315be25 | |||
| d00c9836d6 | |||
| ea86b6f7e5 | |||
| 1e19f865de | |||
| 3ebe0c9fca | |||
| f214789d22 | |||
| fe79d7a2c4 | |||
| cc7aa6df6a | |||
| e8e7b3dd4f | |||
| 1d5dd8ac1f | |||
| b631cb20a4 |
@@ -37,7 +37,7 @@ Sakamoto NixOS is built with various profiles intended for reproducibility.
|
||||
|
||||
Modify it to fit your system — especially your **username**.
|
||||
If you accidentally leave the default `biscuit`, that user will be created.
|
||||
**Login password for `biscuit` is `<PLACEHOLDER>`.**
|
||||
**Login password for `biscuit` is `Your-generic-password`.**
|
||||
|
||||
5. Execute the following command based on your host:
|
||||
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 42 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.6 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 246 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 14 MiB |
+84
-75
@@ -1,82 +1,91 @@
|
||||
{
|
||||
hostname = "hakase";
|
||||
username = "kenji";
|
||||
timezone = "America/Chicago";
|
||||
myConfig = {
|
||||
general = {
|
||||
Hostname = "hakase";
|
||||
Username = "kenji";
|
||||
Timezone = "America/Chicago";
|
||||
|
||||
vpn = {
|
||||
vpnEnable = false;
|
||||
vpnSecretFile = "/home/kenji/Wireguard/secret";
|
||||
};
|
||||
allowUnfree = true; # allows installation of commercial apps.
|
||||
|
||||
gitProfile = {
|
||||
user = "biscuit";
|
||||
email = "biscuit@sakamoto.dev";
|
||||
defaultBranch = "master";
|
||||
};
|
||||
terminal = {
|
||||
Font = "JetBrainsMono Nerd Font"; # e.g., JetBrainsMono Nerd Font
|
||||
Size = "18";
|
||||
Shell = "fish";
|
||||
Aliases = {
|
||||
ls = "ls --color=auto";
|
||||
update = ''
|
||||
sh -c '
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
sudo darwin-rebuild switch --flake ~/.config/nixos#macos
|
||||
else
|
||||
sudo nixos-rebuild switch --flake ~/.config/nixos#desktop && home-manager switch --flake ~/.config/nixos#desktop
|
||||
fi
|
||||
'
|
||||
'';
|
||||
agu = "pkill gjs & ags run ~/.config/nixos/pkgs/ags/biscuit/app.ts & disown (jobs -p) &";
|
||||
};
|
||||
};
|
||||
gitProfile = {
|
||||
User = "kenji";
|
||||
Email = "kenji@sakamoto.dev";
|
||||
defaultBranch = "master";
|
||||
};
|
||||
ssh = {
|
||||
extraConfig = ''
|
||||
Host gitea.sakamoto.dev
|
||||
User kenji
|
||||
ProxyCommand cloudflared access ssh --hostname %h
|
||||
HostName gitea.sakamoto.dev
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
terminal = {
|
||||
termFont = "JetBrainsMono Nerd Font"; # e.g., JetBrainsMono Nerd Font
|
||||
termSize = "20";
|
||||
termShell = "fish";
|
||||
shellAliases = {
|
||||
ls = "ls --color=auto";
|
||||
update = ''
|
||||
sh -c '
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
sudo darwin-rebuild switch --flake ~/.config/nixos#macos
|
||||
else
|
||||
sudo nixos-rebuild switch --flake ~/.config/nixos#desktop && home-manager switch --flake ~/.config/nixos#desktop
|
||||
fi
|
||||
'
|
||||
'';
|
||||
agu = "pkill gjs & ags run ~/.config/nixos/pkgs/ags/biscuit/app.ts & disown (jobs -p) &";
|
||||
builds = {
|
||||
builder = {
|
||||
trustedUsers = [
|
||||
"@groups"
|
||||
"biscuit"
|
||||
];
|
||||
buildMachines = [
|
||||
{
|
||||
hostName = "192.168.68.81";
|
||||
sshUser = "biscuit";
|
||||
sshKey = "/home/biscuit/.ssh/id_rsa.pub";
|
||||
system = "x86_64-linux";
|
||||
supportedFeatures = ["big-parallel" "kvm" "nixos-test"];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
linux = {
|
||||
system = "x86_64";
|
||||
gaming = true;
|
||||
|
||||
vpn = {
|
||||
Enable = false;
|
||||
secretFile = builtins.toPath ./secrets/.vpn.yaml;
|
||||
};
|
||||
|
||||
touchpadSupport = false;
|
||||
logitech-hardware.enable = true;
|
||||
|
||||
# Custom Applications
|
||||
apps = {
|
||||
gaming = true;
|
||||
apps = pkgs:
|
||||
with pkgs; [
|
||||
jellyfin-media-player
|
||||
];
|
||||
};
|
||||
hyprconf = {
|
||||
Monitor = [
|
||||
# hyprctl monitors all
|
||||
# monitor, resolution@refreshrate, position (e.g., 0x0 is middle, 0x1080 is top), scale
|
||||
"DP-1,highres@165,0x1080,auto"
|
||||
"DP-2,highres@highrr,0x0,auto"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
allowUnfree = true; # allows installation of commercial apps.
|
||||
touchpadSupport = false;
|
||||
|
||||
logitech-hardware = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# Custom Applications
|
||||
linux-apps = {
|
||||
gamingDesktop = true; # adds steam
|
||||
my-apps = pkgs:
|
||||
with pkgs; [
|
||||
jellyfin-media-player
|
||||
mangohud
|
||||
];
|
||||
};
|
||||
|
||||
hyprconf = {
|
||||
monitor = [
|
||||
"DP-1,highres@165,0x1080,auto"
|
||||
"DP-2,highres@highrr,0x0,auto"
|
||||
];
|
||||
};
|
||||
|
||||
sshExtraConfig = ''
|
||||
Host macair
|
||||
User biscuit
|
||||
HostName 192.168.68.81
|
||||
'';
|
||||
|
||||
# BUILD (optional), you can remove these blocks.
|
||||
builder = {
|
||||
trustedUsers = [
|
||||
"@groups"
|
||||
"biscuit"
|
||||
];
|
||||
buildMachines = [
|
||||
{
|
||||
hostName = "192.168.68.81";
|
||||
sshUser = "biscuit";
|
||||
sshKey = "/home/biscuit/.ssh/id_rsa.pub";
|
||||
system = "x86_64-linux";
|
||||
supportedFeatures = ["big-parallel" "kvm" "nixos-test"];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
Generated
+330
-227
@@ -3,7 +3,9 @@
|
||||
"ags": {
|
||||
"inputs": {
|
||||
"astal": "astal",
|
||||
"nixpkgs": ["nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744557573,
|
||||
@@ -21,10 +23,22 @@
|
||||
},
|
||||
"aquamarine": {
|
||||
"inputs": {
|
||||
"hyprutils": ["hyprland", "hyprutils"],
|
||||
"hyprwayland-scanner": ["hyprland", "hyprwayland-scanner"],
|
||||
"nixpkgs": ["hyprland", "nixpkgs"],
|
||||
"systems": ["hyprland", "systems"]
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747864449,
|
||||
@@ -42,7 +56,10 @@
|
||||
},
|
||||
"astal": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["ags", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"ags",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742571008,
|
||||
@@ -60,7 +77,9 @@
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749194393,
|
||||
@@ -78,7 +97,11 @@
|
||||
},
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735644329,
|
||||
@@ -129,11 +152,11 @@
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738453229,
|
||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -144,7 +167,7 @@
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": ["nix-neovim", "nixvim", "nixpkgs"]
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738453229,
|
||||
@@ -162,14 +185,18 @@
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": ["nixvim", "nixpkgs"]
|
||||
"nixpkgs-lib": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743550720,
|
||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||
"lastModified": 1738453229,
|
||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -180,7 +207,7 @@
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
@@ -214,47 +241,19 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_7"
|
||||
},
|
||||
"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": ["nix-neovim", "nixvim", "flake-compat"],
|
||||
"flake-compat": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore_2",
|
||||
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737465171,
|
||||
@@ -272,7 +271,11 @@
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["hyprland", "pre-commit-hooks", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
@@ -290,7 +293,12 @@
|
||||
},
|
||||
"gitignore_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["nix-neovim", "nixvim", "git-hooks", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
@@ -308,7 +316,9 @@
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748979197,
|
||||
@@ -326,7 +336,11 @@
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738878603,
|
||||
@@ -344,9 +358,18 @@
|
||||
},
|
||||
"hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": ["hyprland", "hyprlang"],
|
||||
"nixpkgs": ["hyprland", "nixpkgs"],
|
||||
"systems": ["hyprland", "systems"]
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745948457,
|
||||
@@ -364,9 +387,18 @@
|
||||
},
|
||||
"hyprgraphics": {
|
||||
"inputs": {
|
||||
"hyprutils": ["hyprland", "hyprutils"],
|
||||
"nixpkgs": ["hyprland", "nixpkgs"],
|
||||
"systems": ["hyprland", "systems"]
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745015490,
|
||||
@@ -392,7 +424,9 @@
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": ["nixpkgs"],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems",
|
||||
"xdph": "xdph"
|
||||
@@ -413,8 +447,14 @@
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["hyprland", "nixpkgs"],
|
||||
"systems": ["hyprland", "systems"]
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743714874,
|
||||
@@ -432,9 +472,21 @@
|
||||
},
|
||||
"hyprland-qt-support": {
|
||||
"inputs": {
|
||||
"hyprlang": ["hyprland", "hyprland-qtutils", "hyprlang"],
|
||||
"nixpkgs": ["hyprland", "hyprland-qtutils", "nixpkgs"],
|
||||
"systems": ["hyprland", "hyprland-qtutils", "systems"]
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737634706,
|
||||
@@ -453,10 +505,24 @@
|
||||
"hyprland-qtutils": {
|
||||
"inputs": {
|
||||
"hyprland-qt-support": "hyprland-qt-support",
|
||||
"hyprlang": ["hyprland", "hyprlang"],
|
||||
"hyprutils": ["hyprland", "hyprland-qtutils", "hyprlang", "hyprutils"],
|
||||
"nixpkgs": ["hyprland", "nixpkgs"],
|
||||
"systems": ["hyprland", "systems"]
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprland-qtutils",
|
||||
"hyprlang",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745951494,
|
||||
@@ -474,9 +540,18 @@
|
||||
},
|
||||
"hyprlang": {
|
||||
"inputs": {
|
||||
"hyprutils": ["hyprland", "hyprutils"],
|
||||
"nixpkgs": ["hyprland", "nixpkgs"],
|
||||
"systems": ["hyprland", "systems"]
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747484975,
|
||||
@@ -494,8 +569,14 @@
|
||||
},
|
||||
"hyprutils": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["hyprland", "nixpkgs"],
|
||||
"systems": ["hyprland", "systems"]
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746635225,
|
||||
@@ -513,8 +594,14 @@
|
||||
},
|
||||
"hyprwayland-scanner": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["hyprland", "nixpkgs"],
|
||||
"systems": ["hyprland", "systems"]
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747584298,
|
||||
@@ -533,12 +620,17 @@
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nix-neovim",
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": ["nix-neovim", "nixvim", "nuschtosSearch", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729958008,
|
||||
@@ -555,30 +647,12 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx_2": {
|
||||
"inputs": {
|
||||
"flake-utils": ["nixvim", "nuschtosSearch", "flake-utils"],
|
||||
"nixpkgs": ["nixvim", "nuschtosSearch", "nixpkgs"]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748294338,
|
||||
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.8",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"matugen": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["nixpkgs"],
|
||||
"systems": "systems_3"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745334376,
|
||||
@@ -596,7 +670,11 @@
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738743987,
|
||||
@@ -612,10 +690,33 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-neovim": {
|
||||
"nix-gaming": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": ["nixpkgs"],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751075759,
|
||||
"narHash": "sha256-MNAlH/IlSkg5ODfLEgYuDvs4XrM8n3Ukmh6OqQxoJ6s=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "622e26d86942642483e1a49d4f0dea2cbb80e6c1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixovim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixvim": "nixvim",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
@@ -626,11 +727,11 @@
|
||||
"rev": "be2e51f4ddec2389d282280871ca484f3f1f0892",
|
||||
"revCount": 60,
|
||||
"type": "git",
|
||||
"url": "https://git.sakamoto.dev/kenji/nix-neovim.git"
|
||||
"url": "https://git.sakamoto.dev/kenji/nixovim.git"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.sakamoto.dev/kenji/nix-neovim.git"
|
||||
"url": "https://git.sakamoto.dev/kenji/nixovim.git"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
@@ -650,6 +751,21 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1748740939,
|
||||
"narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "656a64127e9d791a334452c6b6606d17539476e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1738452942,
|
||||
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
|
||||
@@ -697,7 +813,7 @@
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"git-hooks": "git-hooks",
|
||||
"home-manager": "home-manager_2",
|
||||
"nix-darwin": "nix-darwin",
|
||||
@@ -719,32 +835,15 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim_2": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": ["nixpkgs"],
|
||||
"nuschtosSearch": "nuschtosSearch_2",
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748942960,
|
||||
"narHash": "sha256-gJf3WxvDbvCpzIBVju/5GY/olW7zs/B1zDmB52AWMUM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "9328f4437d5f788d1c066b274a0aea492dc5fde2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738508923,
|
||||
@@ -760,31 +859,14 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch_2": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"ixx": "ixx_2",
|
||||
"nixpkgs": ["nixvim", "nixpkgs"]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748298102,
|
||||
"narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": ["hyprland", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747372754,
|
||||
@@ -800,6 +882,26 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"quickshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751354716,
|
||||
"narHash": "sha256-bLMNn3gh09gtkIEwZW3USt4ehLrmwmfnb3rqahYBI+4=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "f681e2016fd71b42985bd520b3a20c62488582e9",
|
||||
"revCount": 599,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"ags": "ags",
|
||||
@@ -807,9 +909,11 @@
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"matugen": "matugen",
|
||||
"nix-neovim": "nix-neovim",
|
||||
"nix-gaming": "nix-gaming",
|
||||
"nixovim": "nixovim",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixvim": "nixvim_2",
|
||||
"quickshell": "quickshell",
|
||||
"sops-nix": "sops-nix",
|
||||
"unlisted-fonts": "unlisted-fonts"
|
||||
}
|
||||
},
|
||||
@@ -831,6 +935,26 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750119275,
|
||||
"narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
@@ -847,21 +971,6 @@
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
@@ -876,6 +985,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
@@ -891,54 +1015,13 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_6": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_7": {
|
||||
"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": ["nix-neovim", "nixvim", "nixpkgs"]
|
||||
"nixpkgs": [
|
||||
"nixovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738680491,
|
||||
@@ -956,8 +1039,10 @@
|
||||
},
|
||||
"unlisted-fonts": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": ["nixpkgs"]
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748987994,
|
||||
@@ -975,12 +1060,30 @@
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": ["hyprland", "hyprland-protocols"],
|
||||
"hyprlang": ["hyprland", "hyprlang"],
|
||||
"hyprutils": ["hyprland", "hyprutils"],
|
||||
"hyprwayland-scanner": ["hyprland", "hyprwayland-scanner"],
|
||||
"nixpkgs": ["hyprland", "nixpkgs"],
|
||||
"systems": ["hyprland", "systems"]
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"hyprutils": [
|
||||
"hyprland",
|
||||
"hyprutils"
|
||||
],
|
||||
"hyprwayland-scanner": [
|
||||
"hyprland",
|
||||
"hyprwayland-scanner"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1745871725,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
description = "A very basic flake";
|
||||
description = "Sakamoto's NixOS Configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
@@ -17,17 +17,20 @@
|
||||
unlisted-fonts.url = "git+https://git.sakamoto.dev/kenji/nix-fonts.git";
|
||||
unlisted-fonts.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nixvim.url = "github:nix-community/nixvim";
|
||||
nixvim.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nix-neovim.url = "git+https://git.sakamoto.dev/kenji/nix-neovim.git";
|
||||
nix-neovim.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# kitty-catppuccin.url = "git+https://git.sakamoto.dev/kenji/nix-kitty-catppuccin.git";
|
||||
# kitty-catppuccin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nixovim.url = "git+https://git.sakamoto.dev/kenji/nixovim.git";
|
||||
nixovim.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
matugen.url = "github:/InioX/Matugen";
|
||||
matugen.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
||||
nix-gaming.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
quickshell.url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
||||
quickshell.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
@@ -38,7 +41,7 @@
|
||||
ags,
|
||||
hyprland,
|
||||
unlisted-fonts,
|
||||
nix-neovim,
|
||||
nixovim,
|
||||
...
|
||||
} @ inputs: let
|
||||
config = import ./config.nix;
|
||||
@@ -51,13 +54,13 @@
|
||||
}
|
||||
// config;
|
||||
in {
|
||||
# linux only
|
||||
# nixosConfiguration for linux system
|
||||
nixosConfigurations = {
|
||||
desktop = lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = args;
|
||||
modules = [
|
||||
./nixos/desktop/configuration.nix
|
||||
./hosts/desktop/configuration.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
@@ -74,16 +77,33 @@
|
||||
];
|
||||
};
|
||||
extraSpecialArgs = args;
|
||||
modules = [./home/desktop/home.nix];
|
||||
modules = [./home/desktop.nix];
|
||||
};
|
||||
|
||||
gaming = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [];
|
||||
};
|
||||
extraSpecialArgs = args;
|
||||
modules = [./home/gaming.nix];
|
||||
};
|
||||
headless = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [];
|
||||
};
|
||||
extraSpecialArgs = args;
|
||||
modules = [./home/headless.nix];
|
||||
};
|
||||
};
|
||||
# exclusive to macos M series
|
||||
# darwinConfiguration for macOS M series
|
||||
darwinConfigurations = {
|
||||
macos = darwin.lib.darwinSystem {
|
||||
system = "aarch64-darwin";
|
||||
specialArgs = args;
|
||||
modules = [
|
||||
./nixos/macos/darwin.nix
|
||||
./hosts/macos/darwin.nix
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
myConfig,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../modules/terminal.nix
|
||||
../modules/desktop.nix
|
||||
];
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
home = {
|
||||
username = "${myConfig.general.Username}";
|
||||
homeDirectory = "/home/${myConfig.general.Username}";
|
||||
packages = [];
|
||||
sessionVariables = {};
|
||||
};
|
||||
|
||||
systemd.user.startServices = "sd-switch";
|
||||
home.stateVersion = "23.05";
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{username, ...}: {
|
||||
imports = [
|
||||
../../modules/editor.nix
|
||||
../../modules/desktop/display-manager.nix
|
||||
../../modules/desktop/misc.nix
|
||||
../../modules/desktop/app.nix
|
||||
];
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "/home/${username}";
|
||||
packages = [];
|
||||
sessionVariables = {};
|
||||
};
|
||||
|
||||
systemd.user.startServices = "sd-switch";
|
||||
home.stateVersion = "23.05";
|
||||
}
|
||||
@@ -5,7 +5,7 @@
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../../modules/editor.nix
|
||||
../modules/terminal.nix
|
||||
];
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
pkgs,
|
||||
myConfig,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports =
|
||||
[
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
./hardware-configuration.nix
|
||||
../../modules/linuxDev.nix
|
||||
../../modules/system.nix
|
||||
../../modules/de.nix
|
||||
]
|
||||
++ lib.optionals (myConfig.linux.apps.gaming == true) [
|
||||
../../system/gaming.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = [];
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = myConfig.builds.builder.trustedUsers;
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
};
|
||||
|
||||
programs.ssh.extraConfig = myConfig.general.ssh.extraConfig;
|
||||
|
||||
nix.distributedBuilds = true;
|
||||
nix.settings.builders-use-substitutes = true;
|
||||
|
||||
# nix.buildMachines = builder.buildMachines;
|
||||
system.stateVersion = "25.05";
|
||||
}
|
||||
@@ -39,7 +39,6 @@
|
||||
# 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.biscuit-default.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp11s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp10s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
{
|
||||
pkgs,
|
||||
builder,
|
||||
terminal,
|
||||
username,
|
||||
myConfig,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../../modules/macosDev.nix
|
||||
inputs.sops-nix.darwinModules.sops
|
||||
];
|
||||
# List packages installed in system profile. To search by name, run:
|
||||
# $ nix-env -qaP | grep wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
python313
|
||||
];
|
||||
|
||||
# Auto upgrade nix package and the daemon service.
|
||||
@@ -18,7 +20,7 @@
|
||||
|
||||
# Necessary for using flakes on this system.
|
||||
nix.settings.experimental-features = "nix-command flakes";
|
||||
nix.settings.trusted-users = builder.trustedUsers;
|
||||
nix.settings.trusted-users = myConfig.builds.builder.trustedUsers;
|
||||
|
||||
# Create /etc/zshrc that loads the nix-darwin environment.
|
||||
programs.zsh.enable = true; # default shell on catalina
|
||||
@@ -29,12 +31,13 @@
|
||||
|
||||
# The platform the configuration will be used on.
|
||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
security.pam.services.sudo_local.touchIdAuth = true;
|
||||
|
||||
users.users.${username} = {
|
||||
name = "${username}";
|
||||
home = "/Users/${username}";
|
||||
shell = pkgs.${terminal.termShell};
|
||||
users.users.${myConfig.general.Username} = {
|
||||
name = "${myConfig.general.Username}";
|
||||
home = "/Users/${myConfig.general.Username}";
|
||||
# shell = pkgs.${myConfig.general.terminal.Shell}; # no support for nix-darwin, but can be changed via chsh.
|
||||
};
|
||||
|
||||
home-manager.users.${username} = import ../../home/macos/home.nix;
|
||||
home-manager.users.${myConfig.general.Username} = import ../../home/macos.nix;
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
linux-apps,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports =
|
||||
[
|
||||
]
|
||||
++ lib.optionals (linux-apps.gamingDesktop == true) [
|
||||
../pkgs/steam/default.nix
|
||||
../pkgs/heroic/default.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
lib,
|
||||
myConfig,
|
||||
...
|
||||
}: {
|
||||
imports =
|
||||
[
|
||||
../system/font.nix
|
||||
../system/browser.nix
|
||||
../system/wayland.nix
|
||||
../system/graphics.nix
|
||||
../system/security.nix
|
||||
|
||||
# FIXME
|
||||
../system/amd.nix
|
||||
]
|
||||
++ lib.optionals (myConfig.linux.gaming == true) [
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
lib,
|
||||
myConfig,
|
||||
...
|
||||
}: {
|
||||
imports =
|
||||
[
|
||||
../packages/hyprland/default.nix
|
||||
../packages/hypridle/default.nix
|
||||
../packages/hyprlock/default.nix
|
||||
../packages/rofi/default.nix
|
||||
../packages/matugen/default.nix
|
||||
../packages/swww/default.nix
|
||||
../packages/quickshell/default.nix
|
||||
]
|
||||
++ lib.optionals (myConfig.linux.gaming == true) [
|
||||
../packages/mangohud/default.nix
|
||||
];
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{pkgs, ...}: let
|
||||
info = import ../../config.nix;
|
||||
in {
|
||||
home.packages = info.linux-apps.my-apps pkgs;
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
../../pkgs/hyprland/default.nix
|
||||
../../pkgs/ags/default.nix
|
||||
../../pkgs/swww/default.nix
|
||||
../../pkgs/waybar/default.nix
|
||||
../../pkgs/rofi/default.nix
|
||||
../../pkgs/hypridle/default.nix
|
||||
../../pkgs/hyprlock/default.nix
|
||||
];
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
../../pkgs/btop/default.nix
|
||||
../../pkgs/matugen/default.nix
|
||||
];
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
../system/desktop/wayland.nix
|
||||
../system/desktop/sound.nix
|
||||
../system/desktop/misc.nix
|
||||
../system/desktop/browser.nix
|
||||
../system/desktop/font.nix
|
||||
../system/desktop/theme.nix
|
||||
../system/desktop/cursor.nix
|
||||
];
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
../pkgs/fastfetch/default.nix
|
||||
../pkgs/git/default.nix
|
||||
../pkgs/kitty/default.nix
|
||||
../pkgs/neovim/default.nix
|
||||
../pkgs/fish/default.nix
|
||||
../pkgs/starship/default.nix
|
||||
../pkgs/zsh/default.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
../system/dev/tools.nix
|
||||
../system/dev/python.nix
|
||||
../system/dev/linux.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
../system/dev/tools.nix
|
||||
../system/dev/python.nix
|
||||
];
|
||||
}
|
||||
+12
-13
@@ -1,14 +1,13 @@
|
||||
{
|
||||
vpn,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports =
|
||||
[
|
||||
../system/default.nix
|
||||
../system/users.nix
|
||||
]
|
||||
++ lib.optionals (vpn.vpnEnable == true) [
|
||||
../system/vpn.nix
|
||||
];
|
||||
{...}: {
|
||||
imports = [
|
||||
../system/users.nix
|
||||
../system/hardware.nix
|
||||
../system/locale.nix
|
||||
../system/network.nix
|
||||
../system/programs.nix
|
||||
../system/services.nix
|
||||
../system/tty.nix
|
||||
../system/firewall.nix
|
||||
../system/boot.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
{...}: {
|
||||
imports = [
|
||||
../packages/git/default.nix
|
||||
../packages/fish/default.nix
|
||||
../packages/kitty/default.nix
|
||||
../packages/neovim/default.nix
|
||||
../packages/starship/default.nix
|
||||
../packages/fastfetch/default.nix
|
||||
../packages/zsh/default.nix
|
||||
];
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
allowUnfree,
|
||||
builder,
|
||||
sshExtraConfig,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
/etc/nixos/hardware-configuration.nix
|
||||
../../modules/system.nix
|
||||
../../modules/display-manager.nix
|
||||
../../modules/app.nix
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
wget
|
||||
];
|
||||
|
||||
nixpkgs.config.allowUnfree = allowUnfree;
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = builder.trustedUsers;
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
};
|
||||
|
||||
programs.ssh.extraConfig = sshExtraConfig;
|
||||
|
||||
nix.distributedBuilds = true;
|
||||
nix.settings.builders-use-substitutes = true;
|
||||
|
||||
# nix.buildMachines = builder.buildMachines;
|
||||
system.stateVersion = "25.05";
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
pkgs,
|
||||
terminal,
|
||||
myConfig,
|
||||
...
|
||||
}: {
|
||||
programs.zoxide.enable = true;
|
||||
@@ -12,7 +12,7 @@
|
||||
zoxide init fish | source
|
||||
|
||||
'';
|
||||
shellAliases = terminal.shellAliases;
|
||||
shellAliases = myConfig.general.terminal.Aliases;
|
||||
|
||||
plugins = with pkgs.fishPlugins; [
|
||||
];
|
||||
@@ -0,0 +1,10 @@
|
||||
{myConfig, ...}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
user.name = "${myConfig.general.gitProfile.User}";
|
||||
user.email = "${myConfig.general.gitProfile.Email}";
|
||||
init.defaultBranch = "${myConfig.general.gitProfile.defaultBranch}";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,9 +1,4 @@
|
||||
{
|
||||
hyprconf,
|
||||
username,
|
||||
terminal,
|
||||
...
|
||||
}: {
|
||||
{myConfig, ...}: {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
@@ -12,7 +7,7 @@
|
||||
"$term" = "kitty --single-instance";
|
||||
"$browser" = "firefox";
|
||||
|
||||
monitor = hyprconf.monitor;
|
||||
monitor = myConfig.linux.hyprconf.Monitor;
|
||||
|
||||
exec-once = [
|
||||
"[workspace 20 silent] kitty --single-insance --hold fastfetch"
|
||||
Executable → Regular
+4
-3
@@ -1,4 +1,4 @@
|
||||
{terminal, ...}: {
|
||||
{myConfig, ...}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
@@ -7,11 +7,12 @@
|
||||
confirm_os_window_close = 0;
|
||||
window_padding_width = 10;
|
||||
|
||||
font_size = terminal.termSize;
|
||||
font_family = terminal.termFont;
|
||||
font_size = myConfig.general.terminal.Size;
|
||||
font_family = myConfig.general.terminal.Font;
|
||||
bold_font = "auto";
|
||||
italic_font = "auto";
|
||||
bold_italic_font = "auto";
|
||||
|
||||
# optimization
|
||||
input_delay = 0;
|
||||
repaint_delay = 2;
|
||||
@@ -0,0 +1,23 @@
|
||||
{...}: {
|
||||
programs.mangohud = {
|
||||
enable = true;
|
||||
enableSessionWide = true;
|
||||
settings = {
|
||||
toggle_hud = "Shift_R+F12";
|
||||
|
||||
full = true;
|
||||
gpu_temp = true;
|
||||
cpu_temp = true;
|
||||
fps_only = false;
|
||||
|
||||
blacklist = [
|
||||
"pamac-manager"
|
||||
"lact"
|
||||
"ghb"
|
||||
"bitwig-studio"
|
||||
"ptyxis"
|
||||
"yumex"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
nixovim = inputs.nixovim.packages.${pkgs.system}.default;
|
||||
in {
|
||||
home.packages = [
|
||||
nixovim
|
||||
pkgs.lazygit
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
pkgs,
|
||||
terminal,
|
||||
myConfig,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
@@ -13,7 +13,7 @@
|
||||
programs.zsh = {
|
||||
enableCompletion = false;
|
||||
syntaxHighlighting.enable = false;
|
||||
shellAliases = terminal.shellAliases;
|
||||
shellAliases = myConfig.general.terminal.Aliases;
|
||||
history.size = 10000;
|
||||
antidote = {
|
||||
enable = true;
|
||||
@@ -1,2 +0,0 @@
|
||||
node_modules/
|
||||
@girs/
|
||||
@@ -1,17 +0,0 @@
|
||||
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: () => {
|
||||
const monitors = App.get_monitors()
|
||||
const primary = monitors.find(m => m.primary) || monitors[0]
|
||||
return Bar(primary)
|
||||
}
|
||||
})
|
||||
@@ -1,3 +0,0 @@
|
||||
$background: #131318;
|
||||
$foreground: #e4e1e9;
|
||||
$primary: #bec2ff;
|
||||
Vendored
-21
@@ -1,21 +0,0 @@
|
||||
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
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"name": "astal-shell",
|
||||
"dependencies": {
|
||||
"astal": "/home/biscuit/.local/share/ags"
|
||||
}
|
||||
}
|
||||
@@ -1,143 +0,0 @@
|
||||
@use "sass:color";
|
||||
@use "./colors" as *;
|
||||
|
||||
// default
|
||||
// $bg: #212223;
|
||||
// $fg: #f1f1f1;
|
||||
// $accent: #378DF7;
|
||||
// $radius: 7px;
|
||||
|
||||
// Kanagawa Theme
|
||||
// $bg: #1F1F28;
|
||||
// $fg: #DCD7BA;
|
||||
// $accent: #C0A36E;
|
||||
// $radius: 7px;
|
||||
|
||||
// mstcl
|
||||
// $bg: #121212;
|
||||
// $fg: #f1f1f1;
|
||||
// $accent: #C0A36E;
|
||||
// $radius: 7px;
|
||||
|
||||
$bg: $background;
|
||||
$fg: $foreground;
|
||||
$accent: $primary;
|
||||
$radius: 7px;
|
||||
|
||||
window.Bar {
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
background-color: $bg;
|
||||
color: $fg;
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
.Time {
|
||||
.TimeHM {
|
||||
font-weight: bold;
|
||||
color: $accent;
|
||||
}
|
||||
|
||||
.TimeDate {
|
||||
// color: color.adjust($fg, $lightness: -10%);
|
||||
color: $fg;
|
||||
opacity: 0.85;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.FocusedClient {
|
||||
color: color.adjust($fg, $lightness: -30%);
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"$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",
|
||||
}
|
||||
}
|
||||
@@ -1,189 +0,0 @@
|
||||
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="FocusedClient" visible={focused.as(Boolean)}>
|
||||
{focused.as(client => {
|
||||
if (!client) return null;
|
||||
|
||||
return (
|
||||
<label
|
||||
label={bind(client, "title").as(title => {
|
||||
return title.length > 40
|
||||
? title.slice(0, 37) + "..."
|
||||
: title;
|
||||
})}
|
||||
/>
|
||||
);
|
||||
})}
|
||||
</box>
|
||||
);
|
||||
}
|
||||
function Time({ format = "%H:%M|%a %b %d" }) {
|
||||
const time = Variable<string>("").poll(1000, () =>
|
||||
GLib.DateTime.new_now_local().format(format)!
|
||||
);
|
||||
|
||||
return bind(time).as(str => {
|
||||
const [hm, date] = str.split("|");
|
||||
|
||||
return (
|
||||
<box className="Time">
|
||||
<label className="TimeHM" label={hm} />
|
||||
<label className="TimeDate" label={date} />
|
||||
</box>
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
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}>
|
||||
<Workspaces />
|
||||
<FocusedClient />
|
||||
</box>
|
||||
<box>
|
||||
<Time />
|
||||
</box>
|
||||
<box hexpand halign={Gtk.Align.END} >
|
||||
<SysTray />
|
||||
<Wifi />
|
||||
<AudioSlider />
|
||||
<BatteryLevel />
|
||||
</box>
|
||||
</centerbox>
|
||||
</window>
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
imports = [inputs.ags.homeManagerModules.default];
|
||||
|
||||
programs.ags = {
|
||||
enable = true;
|
||||
configDir = ./biscuit;
|
||||
|
||||
extraPackages = let
|
||||
agsPkgs = inputs.ags.packages.${system};
|
||||
in
|
||||
with pkgs; [
|
||||
agsPkgs.battery
|
||||
agsPkgs.hyprland
|
||||
agsPkgs.mpris
|
||||
agsPkgs.wireplumber
|
||||
agsPkgs.notifd
|
||||
agsPkgs.apps
|
||||
agsPkgs.network
|
||||
agsPkgs.tray
|
||||
fzf
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{...}: {
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
vim_keys = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{gitProfile, ...}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
user.name = "${gitProfile.user}";
|
||||
user.email = "${gitProfile.email}";
|
||||
init.defaultBranch = "${gitProfile.defaultBranch}";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,174 +0,0 @@
|
||||
{
|
||||
plugins = {
|
||||
alpha = {
|
||||
enable = true;
|
||||
layout = [
|
||||
{
|
||||
type = "padding";
|
||||
val = 2;
|
||||
}
|
||||
{
|
||||
type = "text";
|
||||
val = [
|
||||
" █████ █ ██"
|
||||
" ██████ ██ ████ █ █"
|
||||
" ██ █ █ ██ ████ ██ ███"
|
||||
" █ █ █ ██ █ █ ██ █"
|
||||
" █ █ ██ █ ████ ██ ███"
|
||||
" ██ ██ ██ █ ███ █ ███ █ ██ ███ ███ ███ ████ ████"
|
||||
" ██ ██ ██ █ █ ███ █ ████ ██ ███ ███ ███ ████ ███ █"
|
||||
" ██ ██ ██ █ █ ███ ██ ██ ██ ██ ██ ██ ████ ████"
|
||||
" ██ ██ ██ █ ██ █████ ██ ██ ██ ██ ██ ██ ██"
|
||||
" ██ ██ ██ █ ████████ ██ ██ ██ ██ ██ ██ ██ ██"
|
||||
" █ ██ ███ ███████ ██ ██ ██ ██ ██ ██ ██ ██"
|
||||
" █ ███ ██ ██ ██ ██ █ ██ ██ ██ ██"
|
||||
" ████ ██ ████ █ ██████ ███████ ██ ██ ██ ██"
|
||||
" █ █████ ███████ ████ █████ ███ █ ███ ███ ███"
|
||||
" █ ██ █████ ███ ███ ███ ███"
|
||||
" █"
|
||||
" █"
|
||||
" ██"
|
||||
];
|
||||
opts = {
|
||||
position = "center";
|
||||
hl = "Type";
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "padding";
|
||||
val = 4;
|
||||
}
|
||||
{
|
||||
type = "group";
|
||||
val = [
|
||||
{
|
||||
type = "button";
|
||||
val = " New File ";
|
||||
on_press.__raw = "function() vim.cmd[[ene]] end";
|
||||
opts = {
|
||||
shortcut = "n";
|
||||
keymap = [
|
||||
"n"
|
||||
"n"
|
||||
"<cmd>ene<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
position = "center";
|
||||
width = 50;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "padding";
|
||||
val = 2;
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
val = " Find File ";
|
||||
opts = {
|
||||
shortcut = "f";
|
||||
keymap = [
|
||||
"n"
|
||||
"f"
|
||||
"<cmd>lua require('fzf-lua').files({ cwd = vim.loop.cwd() })<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
position = "center";
|
||||
width = 50;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "padding";
|
||||
val = 2;
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
val = " Recent Files ";
|
||||
on_press.__raw = "function() require('telescope.builtin').oldfiles() end";
|
||||
opts = {
|
||||
shortcut = "r";
|
||||
keymap = [
|
||||
"n"
|
||||
"r"
|
||||
"<cmd>lua require('fzf-lua').oldfiles({ cwd = vim.loop.cwd() })<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
position = "center";
|
||||
width = 50;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "padding";
|
||||
val = 2;
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
val = " Find Text ";
|
||||
on_press.__raw = "function() require('telescope.builtin').live_grep() end";
|
||||
opts = {
|
||||
shortcut = "g";
|
||||
keymap = [
|
||||
"n"
|
||||
"g"
|
||||
"<cmd>lua require('fzf-lua').live_grep()<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
position = "center";
|
||||
width = 50;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
{
|
||||
type = "padding";
|
||||
val = 2;
|
||||
}
|
||||
{
|
||||
type = "button";
|
||||
val = " Quit Neovim ";
|
||||
on_press.__raw = "function() vim.cmd[[qa]] end";
|
||||
opts = {
|
||||
shortcut = "q";
|
||||
keymap = [
|
||||
"n"
|
||||
"q"
|
||||
"<cmd>qa<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
position = "center";
|
||||
width = 50;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# `plugins.mini.enable` with `plugins.mini.modules.icons` and `plugins.mini.mockDevIcons`.
|
||||
# plugins.web-devicons.enable = true;
|
||||
plugins.mini = {
|
||||
enable = true;
|
||||
mockDevIcons = true;
|
||||
modules = [
|
||||
];
|
||||
};
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
nix-neovim = inputs.nix-neovim.packages.${pkgs.system}.default;
|
||||
in {
|
||||
programs.neovim.enable = false;
|
||||
home.packages = [
|
||||
nix-neovim
|
||||
pkgs.lazygit
|
||||
# ripgrep
|
||||
];
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Colors
|
||||
**/
|
||||
|
||||
* {
|
||||
background: #1E2127FF;
|
||||
background-alt: #282B31FF;
|
||||
foreground: #FFFFFFFF;
|
||||
selected: #61AFEFFF;
|
||||
active: #98C379FF;
|
||||
urgent: #E06C75FF;
|
||||
}
|
||||
@@ -1,171 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
modi: "drun";
|
||||
show-icons: true;
|
||||
display-drun: "";
|
||||
drun-display-format: "{name}";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
@import "shared/colors.rasi"
|
||||
@import "shared/fonts.rasi"
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 400px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 12px;
|
||||
border-color: @selected;
|
||||
background-color: @background;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 15px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: @selected;
|
||||
text-color: @background;
|
||||
children: [ "prompt", "entry" ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "::";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
cursor: text;
|
||||
placeholder: "Search...";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 1;
|
||||
lines: 6;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 5px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
scrollbar {
|
||||
handle-width: 5px ;
|
||||
handle-color: @selected;
|
||||
border-radius: 0px;
|
||||
background-color: @background-alt;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 8px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 32px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
error-message {
|
||||
padding: 15px;
|
||||
border: 2px solid;
|
||||
border-radius: 12px;
|
||||
border-color: @selected;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
textbox {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
highlight: none;
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
## Author : Aditya Shakya (adi1090x)
|
||||
## Github : @adi1090x
|
||||
#
|
||||
## Rofi : Launcher (Modi Drun, Run, File Browser, Window)
|
||||
#
|
||||
## Available Styles
|
||||
#
|
||||
## style-1 style-2 style-3 style-4 style-5
|
||||
## style-6 style-7 style-8 style-9 style-10
|
||||
## style-11 style-12 style-13 style-14 style-15
|
||||
|
||||
dir="$HOME/.config/wofi/launcher/config.rasi"
|
||||
theme='style-1'
|
||||
|
||||
## Run
|
||||
wofi \
|
||||
-show drun \
|
||||
-theme ${dir}/${theme}.rasi
|
||||
@@ -1,18 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Colors
|
||||
*
|
||||
* Available Colors Schemes
|
||||
*
|
||||
* adapta catppuccin everforest navy paper
|
||||
* arc cyberpunk gruvbox nord solarized
|
||||
* black dracula lovelace onedark yousai
|
||||
*
|
||||
**/
|
||||
|
||||
/* Import color-scheme from `colors` directory */
|
||||
|
||||
@import "~/.config/wofi/colors/onedark.rasi"
|
||||
@@ -1,12 +0,0 @@
|
||||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Fonts
|
||||
*
|
||||
**/
|
||||
|
||||
* {
|
||||
font: "Iosevka Nerd Font 10";
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 42 KiB |
@@ -1,229 +0,0 @@
|
||||
{ username, hostname, ... }: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
settings = [
|
||||
{
|
||||
margin-top = 10;
|
||||
margin-left = 10;
|
||||
margin-right = 10;
|
||||
layer = "top";
|
||||
position = "top";
|
||||
|
||||
modules-left = [
|
||||
"custom/start"
|
||||
"hyprland/submap"
|
||||
"hyprland/workspaces"
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-right = [
|
||||
"tray"
|
||||
"temperature"
|
||||
"cpu"
|
||||
"memory"
|
||||
"disk"
|
||||
"network"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"power-profiles-daemon"
|
||||
"clock"
|
||||
];
|
||||
"cpu" = {
|
||||
states = {
|
||||
critical = 85;
|
||||
};
|
||||
interval = 1;
|
||||
format = " {usage:2}%";
|
||||
on-click = "kitty btop";
|
||||
};
|
||||
"memory" = {
|
||||
states = {
|
||||
critical = 85;
|
||||
};
|
||||
interval = 1;
|
||||
format = " {percentage}%";
|
||||
on-click = "kitty btop";
|
||||
};
|
||||
"disk" = {
|
||||
states = {
|
||||
critical = 85;
|
||||
};
|
||||
interval = 5;
|
||||
format = " {percentage_used}%";
|
||||
on-click = "kitty btop";
|
||||
};
|
||||
"network" = {
|
||||
format-ethernet = " {bandwidthDownOctets}";
|
||||
format-wifi = " {signalStrength}%";
|
||||
format-disconnected = "";
|
||||
format-disabled = "";
|
||||
tooltip = false;
|
||||
on-click = "rofi-network-manager";
|
||||
};
|
||||
"temperature" = {
|
||||
critical-threshold = 80;
|
||||
format = " {temperatureC}°C";
|
||||
interval = 1;
|
||||
on-click = "kitty btop";
|
||||
};
|
||||
"power-profiles-daemon" = {
|
||||
format = "{icon} {profile}";
|
||||
format-icons = {
|
||||
performance = "";
|
||||
power-saver = "";
|
||||
balanced = "";
|
||||
};
|
||||
};
|
||||
"hyprland/workspaces" = {
|
||||
format = "{name}";
|
||||
format-icons = {
|
||||
default = " ";
|
||||
active = " ";
|
||||
urgent = " ";
|
||||
};
|
||||
on-scroll-down = "hyprctl dispatch workspace e+1";
|
||||
on-scroll-up = "hyprctl dispatch workspace e-1";
|
||||
};
|
||||
"hyprland/window" = {
|
||||
icon = true;
|
||||
max-length = 45;
|
||||
separate-outputs = false;
|
||||
rewrite = {
|
||||
"" = "${username}@${hostname}";
|
||||
"~" = "${username}@${hostname}";
|
||||
};
|
||||
on-click-right = "hyprctl dispatch fullscreen 0";
|
||||
on-click-middle = "hyprctl dispatch killactive";
|
||||
on-click = "hyprctl dispatch fullscreen 1";
|
||||
};
|
||||
"hyprland/submap" = {
|
||||
format = " {}";
|
||||
on-click = "hyprctl dispatch submap reset";
|
||||
};
|
||||
"clock" = {
|
||||
format = "{:%b %d, %I:%M %p}";
|
||||
};
|
||||
"tray" = {
|
||||
spacing = 12;
|
||||
};
|
||||
"taskbar" = {
|
||||
icon-size = 10;
|
||||
icon-theme = "Papirus-Dark";
|
||||
on-click = "activate";
|
||||
on-click-right = "fullscreen";
|
||||
on-click-middle = "close";
|
||||
on-scroll-up = "maximize";
|
||||
on-scroll-down = "minimize";
|
||||
};
|
||||
"pulseaudio" = {
|
||||
format = "{icon} {volume}% {format_source}";
|
||||
format-bluetooth = "{volume}% {icon} {format_source}";
|
||||
format-bluetooth-muted = " {icon} {volume}% {format_source_muted}";
|
||||
format-muted = " {volume}% {format_source_muted}";
|
||||
format-source = "";
|
||||
format-source-muted = "";
|
||||
format-icons = {
|
||||
headphone = "";
|
||||
hands-free = "";
|
||||
headset = "";
|
||||
phone = "";
|
||||
portable = "";
|
||||
car = "";
|
||||
default = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
on-click = "pavucontrol";
|
||||
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
|
||||
};
|
||||
"battery" = {
|
||||
states = {
|
||||
warning = 30;
|
||||
critical = 15;
|
||||
};
|
||||
format = "{icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
interval = 1;
|
||||
on-click = "";
|
||||
};
|
||||
"custom/start" = {
|
||||
format = "";
|
||||
on-click-right = "rofi -show power-menu -modi power-menu:rofi-power-menu";
|
||||
on-click = "rofi -show drun";
|
||||
};
|
||||
}
|
||||
];
|
||||
style = ''
|
||||
* {
|
||||
font-size: 12px;
|
||||
font-family: Font Awesome, monospace;
|
||||
font-weight: bold;
|
||||
color: @text;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: rgba(0,0,0,0);
|
||||
border: none;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
border-radius: 0px;
|
||||
margin: 0px;
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#workspaces button:hover, #custom-start:hover, #window:hover {
|
||||
border: none;
|
||||
outline: none;
|
||||
background: none;
|
||||
color: @text;
|
||||
background-size: 300% 300%;
|
||||
background: @surface0;
|
||||
}
|
||||
|
||||
#workspaces button.active, #submap {
|
||||
background: @surface1;
|
||||
}
|
||||
|
||||
#custom-start {
|
||||
padding: 0px 5px;
|
||||
color: @sky;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
#window, #submap {
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.modules-left, .modules-right {
|
||||
background-color: @crust;
|
||||
border: 2px solid @surface1;
|
||||
border-radius: 10px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
#submap, #workspaces, #cpu, #memory, #disk, #clock, #window, #tray, #pulseaudio, #battery, #network, #temperature, #power-profiles-daemon, #custom-exit, #custom-start {
|
||||
margin: 0 5px;
|
||||
}
|
||||
.critical, .muted, .performance {
|
||||
color: @red;
|
||||
}
|
||||
.warning, .urgent {
|
||||
color: @yellow;
|
||||
}
|
||||
.charging, .plugged, .power-saver {
|
||||
color: @green;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
{
|
||||
"$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 @@
|
||||
VPN_HAKASE_DEFAULT_PRIVATE_KEY: aa
|
||||
@@ -0,0 +1,14 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
glxinfo
|
||||
vulkan-tools
|
||||
lact
|
||||
];
|
||||
systemd.packages = with pkgs; [
|
||||
lact
|
||||
];
|
||||
systemd.services.lactd = {
|
||||
enable = true;
|
||||
wantedBy = ["multi-user.target"];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{...}: {
|
||||
boot.loader = {
|
||||
systemd-boot = {
|
||||
enable = false;
|
||||
};
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
grub = {
|
||||
enable = true;
|
||||
device = "nodev";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,119 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
hostname,
|
||||
timezone,
|
||||
touchpadSupport,
|
||||
inputs,
|
||||
logitech-hardware,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
python313Full
|
||||
|
||||
gobject-introspection
|
||||
gtk3
|
||||
libxml2
|
||||
|
||||
git
|
||||
|
||||
cargo
|
||||
gcc
|
||||
rustc
|
||||
nodejs
|
||||
yarn
|
||||
|
||||
busybox
|
||||
|
||||
p7zip
|
||||
|
||||
btop
|
||||
tldr
|
||||
|
||||
jq
|
||||
lm_sensors
|
||||
gparted
|
||||
|
||||
notify
|
||||
|
||||
mangohud
|
||||
]
|
||||
++ [
|
||||
inputs.matugen.packages.${pkgs.system}.default
|
||||
]
|
||||
++ lib.optionals (logitech-hardware.enable == true) [
|
||||
solaar
|
||||
];
|
||||
boot.loader = {
|
||||
systemd-boot = {
|
||||
enable = false;
|
||||
};
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
};
|
||||
grub = {
|
||||
enable = true;
|
||||
device = "nodev";
|
||||
};
|
||||
};
|
||||
|
||||
hardware = {
|
||||
logitech.wireless.enable = logitech-hardware.enable;
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
};
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
useXkbConfig = true; # use xkb.options in tty.
|
||||
};
|
||||
|
||||
networking.hostName = "${hostname}";
|
||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||
|
||||
time.timeZone = "${timezone}";
|
||||
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
ports = [22];
|
||||
settings = {
|
||||
PasswordAuthentication = true;
|
||||
};
|
||||
};
|
||||
libinput.enable = touchpadSupport;
|
||||
blueman.enable = true;
|
||||
};
|
||||
|
||||
programs.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
|
||||
'';
|
||||
};
|
||||
|
||||
programs = {
|
||||
zsh.enable = true;
|
||||
fish.enable = true;
|
||||
};
|
||||
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Copy the NixOS configuration file and link it from the resulting system
|
||||
# (/run/current-system/configuration.nix). This is useful in case you
|
||||
# accidentally delete configuration.nix.
|
||||
# ONLY WORKS non-flake
|
||||
# system.copySystemConfiguration = true;
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
bibata-cursors
|
||||
hyprcursor
|
||||
];
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
services.printing.enable = true;
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{ pkgs, ... }: {
|
||||
# Enable sound.
|
||||
# services.pulseaudio.enable = true;
|
||||
# OR
|
||||
environment.systemPackages = with pkgs; [
|
||||
pavucontrol
|
||||
];
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
busybox
|
||||
];
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
heroic
|
||||
python313
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
p7zip
|
||||
tldr
|
||||
jq
|
||||
btop
|
||||
rar
|
||||
|
||||
cloudflared
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{...}: {
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
}
|
||||
@@ -1,16 +1,13 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: let
|
||||
unlisted-fonts = inputs.unlisted-fonts.packages.${pkgs.system};
|
||||
in {
|
||||
fonts.packages = with pkgs; [
|
||||
unlisted-fonts.monolisa
|
||||
unlisted-fonts.rubik
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.jetbrains-mono
|
||||
nerd-fonts.iosevka
|
||||
];
|
||||
material-symbols
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
};
|
||||
environment.systemPackages = [
|
||||
# inputs.nix-gaming.packages.${pkgs.system}.default
|
||||
pkgs.protonup-qt
|
||||
pkgs.geekbench
|
||||
];
|
||||
# programs.steam.platformOptimizations.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{pkgs, ...}: {
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true; # Crucial for 32-bit games
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
myConfig,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
hardware = {
|
||||
logitech.wireless.enable = myConfig.linux.logitech-hardware.enable;
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
]
|
||||
++ lib.optionals (myConfig.linux.logitech-hardware.enable == true) [
|
||||
solaar
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{myConfig, ...}: {
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
time.timeZone = "${myConfig.general.Timezone}";
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{myConfig, ...}: {
|
||||
networking.hostName = "${myConfig.general.Hostname}";
|
||||
networking.networkmanager.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{pkgs, ...}: {
|
||||
programs.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
|
||||
'';
|
||||
};
|
||||
|
||||
programs = {
|
||||
zsh.enable = true;
|
||||
fish.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{...}: {
|
||||
security.polkit.enable = true;
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if ((action.id == "org.corectrl.helper.gpu.set" ||
|
||||
action.id == "org.corectrl.helper.gpu.apply") &&
|
||||
subject.isInGroup("wheel")) {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
||||
'';
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{...}: {
|
||||
services = {
|
||||
openssh.enable = true;
|
||||
libinput.enable = true;
|
||||
blueman.enable = true;
|
||||
printing.enable = true;
|
||||
# sensors.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = [
|
||||
pkgs.pavucontrol
|
||||
];
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
|
||||
lowLatency = {
|
||||
# enable this module
|
||||
enable = true;
|
||||
# defaults (no need to be set unless modified)
|
||||
quantum = 64;
|
||||
rate = 48000;
|
||||
};
|
||||
};
|
||||
|
||||
# make pipewire realtime-capable
|
||||
security.rtkit.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{...}: {
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
useXkbConfig = true;
|
||||
};
|
||||
}
|
||||
+5
-6
@@ -1,16 +1,15 @@
|
||||
{
|
||||
pkgs,
|
||||
username,
|
||||
terminal,
|
||||
myConfig,
|
||||
...
|
||||
}: {
|
||||
users = {
|
||||
defaultUserShell = pkgs.${terminal.termShell};
|
||||
defaultUserShell = pkgs.${myConfig.general.terminal.Shell};
|
||||
users = {
|
||||
${username} = {
|
||||
${myConfig.general.Username} = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel" "networkmanager" "input"];
|
||||
initialHashedPassword = "$6$Qab6SSvEJM2YRtVA$7Oyl7E3pp/FKtCC.2Tb2tyzp3yp7BFHFAKngUYJssQJ.v1Q2mqsgW9m7njpaKNcka2vyCwrnmw1R.YPlFqR0p1";
|
||||
extraGroups = ["wheel" "networkmanager" "input" "corectrl" "video"];
|
||||
initialHashedPassword = "$y$j9T$NHFtSwF4NJtEmgMjy4Xdg.$9WQltjEx3eEfZ7GbpGLW8lBhJtiXPOeIawrxdmx0.vB";
|
||||
useDefaultShell = true;
|
||||
packages = [
|
||||
];
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
vpn,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
networking.wg-quick.interfaces = {
|
||||
biscuit-default = {
|
||||
address = ["10.2.0.2/32"];
|
||||
# listenPort = 51820;
|
||||
# FIXME change privateKey to variable and add env (make sure it is inaccessible!)
|
||||
privateKeyFile = vpn.vpnSecretFile;
|
||||
dns = ["10.2.0.1"];
|
||||
peers = [
|
||||
{
|
||||
publicKey = "GbuOJ8Dho0iXlS0+ma2teQ4RxhBALWK6RB94qA1GZDA=";
|
||||
allowedIPs = ["0.0.0.0/0"];
|
||||
endpoint = "79.127.147.2:51820";
|
||||
# persistentKeepAlive = 25;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user