208 Commits

Author SHA1 Message Date
lsoriano-mcm b4f4b67a8b test 2025-07-03 16:49:45 -05:00
lsoriano-mcm f59110c87e renamed to home.nix 2025-07-03 16:34:49 -05:00
lsoriano-mcm 3dd4f2783e test 2025-07-03 15:30:58 -05:00
biscuit d8657c7eeb added heroic launcher 2025-06-25 22:24:55 -05:00
biscuit 3c4ed456cf upd 2025-06-25 11:02:03 -05:00
biscuit 551302a00e removed other configs 2025-06-25 09:18:25 -05:00
lsoriano-mcm 9aaffe2677 test 2025-06-20 19:54:34 -05:00
lsoriano-mcm 11cee2638a test 2025-06-20 19:47:25 -05:00
lsoriano-mcm e35dc3d28e test 2025-06-20 18:08:36 -05:00
biscuit b686cf7751 test 2025-06-20 11:22:25 -05:00
biscuit 7fd7cfac70 test 2025-06-20 11:19:11 -05:00
biscuit 2023828364 teset 2025-06-20 11:18:26 -05:00
biscuit 2d8ba9f7ea q 2025-06-20 08:58:14 -05:00
biscuit bc70242a99 test 2025-06-19 18:19:05 -05:00
biscuit 0eabcc4fc1 test 2025-06-19 18:13:35 -05:00
biscuit 1e301b958e update 2025-06-19 17:47:42 -05:00
biscuit 4a4f66c08e test 2025-06-19 17:38:29 -05:00
biscuit e33dbea82e test 2025-06-19 17:18:02 -05:00
biscuit 50813851cb nix: added LOGIOPS 2025-06-19 17:06:05 -05:00
biscuit b3c502fdf3 king 2025-06-19 13:59:35 -05:00
biscuit 3587a7042d test 2025-06-19 13:46:17 -05:00
biscuit cfc2f01e57 test 2025-06-19 13:38:31 -05:00
biscuit ebef97f84b test 2025-06-19 13:36:11 -05:00
biscuit 3740928c70 test 2025-06-19 13:21:32 -05:00
biscuit 435742f29c fastfetch: changed 2025-06-19 12:58:05 -05:00
biscuit 0ebe999f92 test 2025-06-19 12:39:23 -05:00
biscuit 005c744cb6 FIXED 2025-06-18 13:21:08 -05:00
biscuit a2b4b0d8ea test 2025-06-18 13:06:36 -05:00
biscuit e8c6cb073f kitty test 2025-06-18 12:54:46 -05:00
biscuit 17b01cbf1c remove kitty-catppuccin 2025-06-18 12:45:06 -05:00
biscuit 6d5cd6d78e test 2025-06-18 12:38:27 -05:00
biscuit c48d1543a4 upd 2025-06-18 12:32:05 -05:00
biscuit ac41162a6e terst 2025-06-18 12:25:27 -05:00
biscuit 74f26f5997 test 2025-06-18 12:05:52 -05:00
biscuit 0a1acae08a matugen 2025-06-18 11:37:23 -05:00
biscuit 54f2f1e8f9 test 2025-06-18 11:32:32 -05:00
biscuit a25d41100a cleaned up 2025-06-12 09:23:12 -05:00
biscuit 381830a767 cleaned up 2025-06-12 09:21:55 -05:00
biscuit d1c11014de fix 2025-06-12 09:01:15 -05:00
biscuit b41a820dcc ags: MASSIVE REVAMP 2025-06-11 20:57:02 -05:00
biscuit 38ba3a2fdb kitty: changed theme file to kanagawa 2025-06-11 19:54:08 -05:00
biscuit 998f4905b0 ags: moved pos of workspace and time 2025-06-11 19:53:59 -05:00
biscuit 9cc45e426d ags: now only shows BAR in primary monitor 2025-06-11 19:46:09 -05:00
biscuit 7053adc718 fixed swww 2025-06-11 07:24:45 -05:00
biscuit 8d6af2f936 fixed the firefox 2025-06-11 07:19:04 -05:00
biscuit f4788f863e Revert "nix: added firefox"
This reverts commit b6911bc045.
2025-06-11 07:04:30 -05:00
biscuit 2ba8639dfd testtest 2025-06-11 07:03:36 -05:00
biscuit a609216012 test 2025-06-11 06:57:42 -05:00
biscuit b6911bc045 nix: added firefox 2025-06-11 06:54:24 -05:00
biscuit 09fbbec45e test 2025-06-11 06:47:18 -05:00
biscuit b697c89aae nix: added steam
yeety mcspanky
2025-06-11 06:34:45 -05:00
biscuit 0e0b8a40c7 added hyprconf 2025-06-10 22:00:01 -05:00
lsoriano-mcm 555fea04b4 pud 2025-06-09 10:18:05 -05:00
lsoriano-mcm fee08ad3d2 add fishAliases 2025-06-09 10:07:38 -05:00
lsoriano-mcm b3e0e3e76f test 2025-06-09 10:01:57 -05:00
lsoriano-mcm 4dee2bf44f test 2025-06-09 09:58:14 -05:00
lsoriano-mcm f23d023551 test 2025-06-07 14:09:34 -05:00
lsoriano-mcm 61ac2f71d5 ignores config.local 2025-06-07 14:05:33 -05:00
lsoriano-mcm ca9e487111 changed info.nix to config.nix 2025-06-07 14:03:34 -05:00
lsoriano-mcm f8e327d46d termsize 2025-06-07 14:01:25 -05:00
lsoriano-mcm 835a7fdad3 test 2025-06-07 13:56:23 -05:00
lsoriano-mcm 6034a9797c optimize: replaced omz to antidote 2025-06-07 13:49:32 -05:00
lsoriano-mcm c204eed76e test 2025-06-07 12:18:35 -05:00
lsoriano-mcm 0abf1447af test 2025-06-07 11:24:52 -05:00
lsoriano-mcm 73ece504c9 organized better 2025-06-07 08:11:17 -05:00
lsoriano-mcm 30f2178b6f RE 2025-06-06 20:25:13 -05:00
lsoriano-mcm 5b0a8b3c49 READ 2025-06-06 20:17:01 -05:00
lsoriano-mcm da0db9551c README 2025-06-06 20:04:42 -05:00
lsoriano-mcm f1b1dcdd9e Ignore info.local.nix 2025-06-06 19:28:16 -05:00
lsoriano-mcm b3bcc0f058 Remove info.local.nix from version control 2025-06-06 19:28:05 -05:00
lsoriano-mcm 2b1bc85514 added user override configuration 2025-06-06 19:26:24 -05:00
lsoriano-mcm 6517af5889 organized 2025-06-06 16:57:47 -05:00
lsoriano-mcm 43f8d827f6 macos: neovim 2025-06-06 16:47:12 -05:00
biscuit f7d3c7a7c4 MOCHA 2025-06-06 10:28:29 -05:00
biscuit 7f7cbe74f7 t 2025-06-06 09:10:36 -05:00
biscuit e3c5d8c166 upd 2025-06-06 09:02:22 -05:00
biscuit 8957622879 upd 2025-06-06 08:38:11 -05:00
biscuit 657fde7545 test 2025-06-06 08:15:41 -05:00
biscuit f757369821 fixed 2025-06-06 07:50:10 -05:00
biscuit e623b83d68 cleaned up 2025-06-06 07:46:05 -05:00
biscuit 2b8d4a1dce upd 2025-06-06 07:41:01 -05:00
lsoriano-mcm e6103c3153 upd 2025-06-06 07:39:53 -05:00
lsoriano-mcm 6b0a342cdd added DARWIN 2025-06-06 06:50:54 -05:00
biscuit 280a2da2db cleaned up xserver 2025-06-05 16:35:58 -05:00
biscuit 363d470386 upd 2025-06-05 16:35:01 -05:00
biscuit f715f08831 uses flakes for hyprland 2025-06-05 14:54:13 -05:00
biscuit c4e0681c33 workspace now can work back and forth 2025-06-05 14:21:17 -05:00
biscuit a3121c0ce0 a 2025-06-05 13:49:30 -05:00
biscuit 6af25e5453 test 2025-06-05 09:01:04 -05:00
biscuit fd8da098ed upd 2025-06-05 08:55:54 -05:00
biscuit e83c8ded35 abc 2025-06-05 08:53:00 -05:00
biscuit 229b0041a6 fix 2025-06-05 07:52:31 -05:00
biscuit 128e6a04c2 test 2025-06-04 15:17:24 -05:00
biscuit a92159168c changed date 2025-06-04 14:32:51 -05:00
biscuit 1fb2d40aa8 added bluetooth 2025-06-03 19:31:08 -05:00
biscuit 7ec496be3d upd 2025-06-03 19:10:59 -05:00
biscuit 35a794a648 cleaned up 2025-06-03 17:19:06 -05:00
biscuit b8dfddd2e8 test 2025-06-03 17:17:03 -05:00
biscuit 4a49aba2ba MAJOR FIX: neovim now works well 2025-06-03 17:13:13 -05:00
biscuit d1bffc3952 upd 2025-06-03 17:06:27 -05:00
biscuit 8b2e901680 test 2025-06-03 17:01:20 -05:00
biscuit a5db5cc54d test 2025-06-03 11:55:29 -05:00
biscuit efede58a6d upd 2025-06-03 11:29:36 -05:00
biscuit 7df80623d5 test 2025-06-03 04:21:36 -05:00
biscuit 028df1fd35 NEO added 2025-06-03 03:55:42 -05:00
biscuit 12e64d34e6 fix 2025-06-02 15:12:37 -05:00
biscuit ba7174224c upd 2025-06-02 14:05:20 -05:00
biscuit c794974b20 fx 2025-06-02 13:32:32 -05:00
biscuit d9fdab315c test 2025-05-27 17:36:09 -05:00
biscuit b3d37d7b20 test 2025-05-27 17:22:13 -05:00
biscuit 88076292de add git 2025-05-27 16:44:19 -05:00
biscuit 25c0a328e6 fix 2025-05-27 08:15:59 -05:00
biscuit ab855f18ea removed 2025-05-26 19:30:56 -05:00
biscuit b7659157fa starship & fastfetch replaced home conf with settings 2025-05-26 19:29:10 -05:00
biscuit 608df0bd38 fix: hypridle home already exists 2025-05-26 19:15:48 -05:00
biscuit 1871ca6ef6 upd 2025-05-26 19:12:14 -05:00
biscuit d7eed2ecf6 yeet 2025-05-26 18:59:25 -05:00
biscuit 789e6786cc fix font 2025-05-26 18:54:59 -05:00
biscuit 8e9bfe9522 added rubik font 2025-05-26 18:53:15 -05:00
biscuit 0c99dfefbb organize 2025-05-21 17:57:59 -05:00
biscuit c16cedf981 upde 2025-05-21 17:54:30 -05:00
biscuit 4f0c6d3e46 README revamp 2025-05-21 17:54:27 -05:00
biscuit 752a6ad1de upd 2025-05-21 17:43:56 -05:00
biscuit 802c2aa6bf added MarkdownPreview 2025-05-21 17:28:57 -05:00
biscuit 2a6b5bc2c7 upd 2025-05-21 17:21:05 -05:00
biscuit e986b99ce7 test 2025-05-21 12:58:53 -05:00
biscuit c17dabdbd8 added users (MAJOR FIX) 2025-05-21 12:58:39 -05:00
biscuit 0ab12aabff cleaned up even more 2025-05-21 12:24:41 -05:00
biscuit 30ecca57ba cleaned up drastically 2025-05-21 12:20:32 -05:00
biscuit cd734937c0 changed biscuit to desktop 2025-05-21 11:25:59 -05:00
biscuit 477b592b06 cleaned up 2025-05-21 11:20:30 -05:00
biscuit fda9681b84 upd 2025-05-21 11:11:45 -05:00
biscuit 694042f027 changed everything to default.nix 2025-05-21 11:11:26 -05:00
biscuit 7e77b1acd4 upd 2025-05-21 11:06:24 -05:00
biscuit 6b765f1b54 organized wl 2025-05-21 11:06:09 -05:00
biscuit 97d65f2f7e added opt 2025-05-21 11:05:22 -05:00
biscuit 9186f2cc28 organized shellAliases 2025-05-21 10:56:53 -05:00
biscuit 6ae2221007 upd 2025-05-21 10:51:10 -05:00
biscuit e862ce8f9b nix: added commercial fonts 2025-05-21 09:01:53 -05:00
biscuit 6dbe009076 purge 2025-05-21 08:45:46 -05:00
biscuit 598abbf308 upd 2025-05-21 08:45:04 -05:00
biscuit 17ccf2ba8c nix 2025-05-21 08:35:48 -05:00
biscuit ca5b15b377 a 2025-05-21 00:55:15 -05:00
biscuit a11926ee85 upd 2025-05-21 00:25:39 -05:00
biscuit f19b7ab674 upd 2025-05-21 00:22:15 -05:00
biscuit 306e540a67 upd 2025-05-21 00:07:43 -05:00
biscuit 5185edce48 upd 2025-05-20 23:34:47 -05:00
biscuit b3f9882c7e upd 2025-05-20 23:20:32 -05:00
biscuit ee7b59c521 upd 2025-05-20 23:19:27 -05:00
biscuit 113a15cd69 upd 2025-05-20 23:04:23 -05:00
biscuit 2ea4f6631c upd 2025-05-20 23:00:24 -05:00
biscuit e21cf63216 upd 2025-05-20 22:55:43 -05:00
biscuit f31387ab12 upd 2025-05-20 22:43:37 -05:00
biscuit 4ec339c53b upd 2025-05-20 22:41:52 -05:00
hakase eb70a6dd52 added Monolisa font 2025-05-20 22:37:33 -05:00
biscuit a9aef32984 upd 2025-05-20 22:33:12 -05:00
biscuit 58d575ebeb added monolisa 2025-05-20 21:56:13 -05:00
biscuit be57946347 upd 2025-05-20 21:47:13 -05:00
biscuit 63c2f887db upd 2025-05-20 21:38:02 -05:00
biscuit 36222bdb63 upd 2025-05-20 21:36:34 -05:00
biscuit de69800662 upd file name 2025-05-20 21:29:10 -05:00
biscuit f2a1604009 upd 2025-05-20 21:27:50 -05:00
biscuit dfec0bc5da upd 2025-05-20 21:23:55 -05:00
biscuit 45ce1678d1 updd 2025-05-20 21:22:46 -05:00
biscuit 5022c31815 wofi 2025-05-20 18:53:30 -05:00
biscuit 2534d83bdd upd 2025-05-20 18:19:55 -05:00
biscuit 3e7917aee3 hypr: removes redundant delays 2025-05-20 14:32:32 -05:00
biscuit 530a7c9777 upd 2025-05-20 14:22:02 -05:00
biscuit a3b195da1f fixed cursor not appearing 2025-05-20 14:04:26 -05:00
biscuit fa1a376d85 removed plymouth 2025-05-20 12:25:37 -05:00
biscuit 25d034d7dc cleaned up 2025-05-20 12:20:52 -05:00
biscuit a0572f8a95 added variable 2025-05-20 12:02:26 -05:00
biscuit 6e32ac5ceb added waybar 2025-05-20 11:53:30 -05:00
biscuit 5278908420 added vpn wg 2025-05-20 11:35:53 -05:00
biscuit 6044c4e063 added vpn 2025-05-20 11:28:28 -05:00
biscuit d0532495e0 added cursor 2025-05-20 11:05:33 -05:00
biscuit 3339960062 add cursor 2025-05-20 11:00:22 -05:00
biscuit 77854b1c69 upd 2025-05-20 10:58:07 -05:00
biscuit b1ca82da64 upd 2025-05-20 10:56:16 -05:00
biscuit 72bc56a934 upd 2025-05-20 10:49:41 -05:00
biscuit aac77be6ec upd 2025-05-20 10:42:30 -05:00
biscuit 6404fbd36d upd 2025-05-20 10:27:15 -05:00
biscuit f442452a2e added tldr 2025-05-20 07:56:58 -05:00
biscuit 35f515e828 upd fastfetch 2025-05-20 07:41:30 -05:00
biscuit 3215644a87 added btop 2025-05-20 07:30:55 -05:00
biscuit 05198ddeab upd 2025-05-20 07:29:53 -05:00
biscuit 67402c3e54 upd 2025-05-20 07:23:25 -05:00
biscuit 78abaed26f upd 2025-05-20 07:08:13 -05:00
biscuit 64a56ea346 added starship 2025-05-20 06:57:18 -05:00
biscuit 453bc1f249 upd 2025-05-20 06:31:39 -05:00
biscuit 7fc61d7d27 cleaned up 2025-05-20 05:56:07 -05:00
biscuit d9edf3f389 added gdm 2025-05-19 21:40:20 -05:00
biscuit 4a29a676b5 hypr: added moving via keyboard 2025-05-19 21:37:21 -05:00
biscuit 6a61e05ae7 added modules for ags 2025-05-19 21:29:23 -05:00
biscuit ce1301af38 added ags 2025-05-19 21:13:58 -05:00
biscuit dd3caf07d2 added fastfetch 2025-05-19 20:52:42 -05:00
biscuit c62421cfb6 added jetbrainsmono-nerdfont 2025-05-19 20:48:36 -05:00
biscuit d4026e1559 added firacode font family 2025-05-19 20:38:46 -05:00
biscuit 53346c17ea added fonts 2025-05-19 20:33:56 -05:00
biscuit 52356a4a87 upd 2025-05-19 20:30:17 -05:00
biscuit c603389ebc upd 2025-05-19 20:27:33 -05:00
biscuit 2d8e528b6f added clipboard 2025-05-19 19:22:42 -05:00
biscuit 87dea595d3 nix: changed sha256 2025-05-19 19:17:54 -05:00
biscuit 9629dd0ba0 up 2025-05-19 19:14:18 -05:00
biscuit 9a722c915a u 2025-05-19 19:08:25 -05:00
biscuit 65e7e86739 (hypr) more configs added 2025-05-19 18:42:40 -05:00
biscuit 1b0dcd2863 nix: removed impure 2025-05-19 18:12:57 -05:00
biscuit c1e4ef47f3 initialization 2025-05-19 17:53:19 -05:00
64 changed files with 136 additions and 1882 deletions
-1
View File
@@ -1 +0,0 @@
hosts/desktop/hardware-configuration.nix
-58
View File
@@ -1,58 +0,0 @@
# Sakamoto NixOS
Sakamoto NixOS is built with various profiles intended for reproducibility.
## Available Hosts
- MacBook M series
- Linux
## Installation
1. Install [Nix](https://nixos.org/download/).
2. Ensure Nix is installed properly by running the following (this also gives you `nano` for editing later):
```sh
nix-shell -p nano
```
3. Clone the git repository:
```sh
git clone https://git.sakamoto.dev/kenji/nixos.git ~/.config/nixos && cd ~/.config/nixos/
```
4. Copy `info.default.nix` and rename it to `info.local.nix`:
```sh
cp ~/.config/nixos/info.default.nix ~/.config/nixos/info.local.nix
```
🚨 **CRITICAL STEP:** Edit `info.local.nix`:
```sh
nano ~/.config/nixos/info.local.nix
```
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 `Your-generic-password`.**
5. Execute the following command based on your host:
- **MacBook M series:**
```sh
sudo nix run nix-darwin --extra-experimental-features "nix-command flakes" -- switch --flake ~/.config/nixos#macos
```
- **Linux:**
```sh
sudo nixos-rebuild --flake ~/.config/nixos#desktop --impure
sudo nix run home-manager -- init --switch
home-manager switch --flake ~/.config/nixos#desktop --impure
nix-channel --add https://nixos.org/channels/nixos-unstable nixos nix-channel --update
reboot
```
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

+48 -73
View File
@@ -1,91 +1,66 @@
{
myConfig = {
general = {
Hostname = "hakase";
essentials = {
# !!! replace it with your own, else system might malfunction.
Username = "kenji";
Timezone = "America/Chicago";
allowUnfree = true; # allows installation of commercial apps.
terminal = {
Font = "JetBrainsMono Nerd Font"; # e.g., JetBrainsMono Nerd Font
Size = "18";
Shell = "fish";
Aliases = {
};
general = {
Terminal = {
font = "JetBrainsMono Nerd Font";
size = "12";
shell = "fish"; # or zsh
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/packages/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
'';
};
};
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"];
}
];
nixos = {
Hostname = "nixos";
Timezone = "America/Chicago";
Boot = {
mode = "grub"; # systemd or grub
};
};
linux = {
system = "x86_64";
gaming = true;
vpn = {
Enable = false;
secretFile = builtins.toPath ./secrets/.vpn.yaml;
Gaming = {
enable = true;
};
touchpadSupport = false;
logitech-hardware.enable = true;
# Custom Applications
apps = {
gaming = true;
apps = pkgs:
Apps = {
packages = 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"
"HDMI-A-1, preferred, 20000x20000,1"
Hyprland = {
monitors = [];
};
Git = {
user = "";
email = "";
defaultBranch = "master";
};
};
optionals = {
Builds = {
trustedUsers = [
"@groups"
];
buildMachines = [
{
hostName = "";
sshUser = "";
sshKey = "";
system = "";
supportedFeatures = ["big-parallel" "kvm" "nixos-test"];
}
];
};
Ssh = {
extraConfig = ''
Host macair
User biscuit
HostName 192.168.68.81
'';
};
};
};
Generated
-1105
View File
File diff suppressed because it is too large Load Diff
+55 -102
View File
@@ -1,117 +1,70 @@
{
description = "Sakamoto's NixOS Configuration";
description = "A rewrite of the original Sakamoto NixOS config.";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; # `follows` ensure it follows nixpkgs versiona. Avoids breaking updates.
darwin.url = "github:lnl7/nix-darwin";
darwin.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
ags.url = "github:aylur/ags";
ags.inputs.nixpkgs.follows = "nixpkgs";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";
hyprland.inputs.nixpkgs.follows = "nixpkgs";
flake-utils = {
url = "github:numtide/flake-utils";
inputs.nixpkgs.follows = "nixpkgs";
};
unlisted-fonts.url = "git+https://git.sakamoto.dev/kenji/nix-fonts.git";
unlisted-fonts.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";
darwin = {
url = "github:lnl7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
flake-utils,
home-manager,
darwin,
ags,
hyprland,
unlisted-fonts,
nixovim,
...
} @ inputs: let
config = import ./config.nix;
lib = nixpkgs.lib;
system = "x86_64-linux";
# pkgs = nixpkgs.legacyPackages.${system}; # alternative, without overlays. Unused.
args =
{
inherit inputs system;
} @ inputs:
flake-utils.lib.eachDefaultSystem (
system: let
config = import ./config.nix;
lib = nixpkgs.lib;
pkgs = nixpkgs.legacyPackages.${system};
args = {inherit inputs system;} // config;
in {
nixosConfigurations = {
desktop = lib.nixosSystem {
inherit system;
specialArgs = args;
modules = [];
};
};
homeConfigurations = {
desktop = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
inherit system;
extraSpecialArgs = args;
modules = [];
};
};
};
darwinConfigurations = {
macos = darwin.lib.darwinSystem {
inherit system;
specialArgs = args;
modules = [
./hosts/macos/darwin.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = args;
}
];
};
};
}
// config;
in {
# nixosConfiguration for linux system
nixosConfigurations = {
desktop = lib.nixosSystem {
inherit system;
specialArgs = args;
modules = [
./hosts/desktop/configuration.nix
];
};
};
homeConfigurations = {
desktop = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
inherit system;
overlays = [
# (final: prev: {
# ags_1 = prev.ags_1.overrideAttrs (old: {
# buildInputs = old.buildInputs ++ [pkgs.libdbusmenu-gtk3];
# });
# })
];
};
extraSpecialArgs = args;
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];
};
};
# darwinConfiguration for macOS M series
darwinConfigurations = {
macos = darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs = args;
modules = [
./hosts/macos/darwin.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = args;
}
];
};
};
};
);
}
+1 -1
View File
@@ -5,7 +5,7 @@
...
}: {
imports = [
../modules/terminal.nix
../modules/home/terminal.nix
];
programs.home-manager.enable = true;
-22
View File
@@ -1,22 +0,0 @@
{
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";
}
-36
View File
@@ -1,36 +0,0 @@
{
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) [
../../modules/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";
}
+7 -9
View File
@@ -5,13 +5,11 @@
...
}: {
imports = [
../../modules/macosDev.nix
inputs.sops-nix.darwinModules.sops
../../modules/default/darwin.nix
];
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs; [
];
environment.systemPackages = [];
# Auto upgrade nix package and the daemon service.
# services.nix-daemon.enable = true;
@@ -20,7 +18,7 @@
# Necessary for using flakes on this system.
nix.settings.experimental-features = "nix-command flakes";
nix.settings.trusted-users = myConfig.builds.builder.trustedUsers;
nix.settings.trusted-users = myConfig.optionals.Builds.trustedUsers;
# Create /etc/zshrc that loads the nix-darwin environment.
programs.zsh.enable = true; # default shell on catalina
@@ -33,11 +31,11 @@
nixpkgs.hostPlatform = "aarch64-darwin";
security.pam.services.sudo_local.touchIdAuth = true;
users.users.${myConfig.general.Username} = {
name = "${myConfig.general.Username}";
home = "/Users/${myConfig.general.Username}";
users.users.${myConfig.esssentials.Username} = {
name = "${myConfig.essentials.Username}";
home = "/Users/${myConfig.essentials.Username}";
# shell = pkgs.${myConfig.general.terminal.Shell}; # no support for nix-darwin, but can be changed via chsh.
};
home-manager.users.${myConfig.general.Username} = import ../../home/macos.nix;
home-manager.users.${myConfig.essentials.Username} = import ../../home/macos.nix;
}
View File
-19
View File
@@ -1,19 +0,0 @@
{
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) [
];
}
-20
View File
@@ -1,20 +0,0 @@
{
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
../packages/ags/default.nix
]
++ lib.optionals (myConfig.linux.gaming == true) [
../packages/mangohud/default.nix
];
}
-7
View File
@@ -1,7 +0,0 @@
{
imports = [
../system/stream.nix
../system/gaming.nix
../system/appimage.nix
];
}
+9
View File
@@ -0,0 +1,9 @@
{
imports = [
../../packages/zsh/home.nix
../../packages/fish/home.nix
../../packages/kitty/home.nix
../../packages/neovim/home.nix
../../packages/starship/home.nix
];
}
-7
View File
@@ -1,7 +0,0 @@
{...}: {
imports = [
../system/dev/tools.nix
../system/dev/python.nix
../system/dev/linux.nix
];
}
-6
View File
@@ -1,6 +0,0 @@
{...}: {
imports = [
../system/dev/tools.nix
../system/dev/python.nix
];
}
-13
View File
@@ -1,13 +0,0 @@
{...}: {
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
];
}
-11
View File
@@ -1,11 +0,0 @@
{...}: {
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
];
}
@@ -12,7 +12,7 @@
zoxide init fish | source
'';
shellAliases = myConfig.general.terminal.Aliases;
shellAliases = myConfig.general.Terminal.aliases;
plugins = with pkgs.fishPlugins; [
];
-10
View File
@@ -1,10 +0,0 @@
{myConfig, ...}: {
programs.git = {
enable = true;
extraConfig = {
user.name = "${myConfig.general.gitProfile.User}";
user.email = "${myConfig.general.gitProfile.Email}";
init.defaultBranch = "${myConfig.general.gitProfile.defaultBranch}";
};
};
}
+10
View File
@@ -0,0 +1,10 @@
{myConfig, ...}: {
programs.git = {
enable = true;
extraConfig = {
user.name = "${myConfig.linux.Git.user}";
user.email = "${myConfig.linux.Git.email}";
init.defaultBranch = "${myConfig.linux.Git.defaultBranch}";
};
};
}
@@ -7,12 +7,14 @@
confirm_os_window_close = 0;
window_padding_width = 10;
font_size = myConfig.general.terminal.Size;
font_family = myConfig.general.terminal.Font;
font_size = myConfig.general.Terminal.size;
font_family = myConfig.general.Terminal.font;
bold_font = "auto";
italic_font = "auto";
bold_italic_font = "auto";
shell = myConfig.general.Terminal.shell;
# optimization
input_delay = 0;
repaint_delay = 2;
@@ -13,7 +13,7 @@
programs.zsh = {
enableCompletion = false;
syntaxHighlighting.enable = false;
shellAliases = myConfig.general.terminal.Aliases;
shellAliases = myConfig.general.Terminal.aliases;
history.size = 10000;
antidote = {
enable = true;
-11
View File
@@ -1,11 +0,0 @@
keys:
- &admin_kenji age19pf5unuk3hcap0vrrlqr9lkh5eg24aw7z3skf0kverpjdqsltdxsdx88r8
creation_rules:
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
key_groups:
age:
- *admin_kenji
- path_regex: secrets/azmidi/[^/]+\.(yaml|json|env|ini)$
key_groups:
age:
- *admin_kenji
-1
View File
@@ -1 +0,0 @@
abcd: hello-world
-14
View File
@@ -1,14 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
glxinfo
vulkan-tools
lact
];
systemd.packages = with pkgs; [
lact
];
systemd.services.lactd = {
enable = true;
wantedBy = ["multi-user.target"];
};
}
-15
View File
@@ -1,15 +0,0 @@
{
programs.appimage = {
enable = true;
binfmt = true;
# If moondeck-buddy.AppImage requires specific libraries not included by default
# you might need to add them here. For example:
# package = pkgs.appimage-run.override {
# extraPkgs = pkgs: with pkgs; [
# # Add any missing libraries here, e.g.,
# # libthai
# # qt5.full
# ];
# };
};
}
-14
View File
@@ -1,14 +0,0 @@
{...}: {
boot.loader = {
systemd-boot = {
enable = false;
};
efi = {
canTouchEfiVariables = true;
};
grub = {
enable = true;
device = "nodev";
};
};
}
-107
View File
@@ -1,107 +0,0 @@
{
config,
pkgs,
...
}: let
lock-false = {
Value = false;
Status = "locked";
};
lock-true = {
Value = true;
Status = "locked";
};
in {
programs = {
firefox = {
enable = true;
languagePacks = ["en-US"];
/*
---- POLICIES ----
*/
# Check about:policies#documentation for options.
policies = {
DisableTelemetry = true;
DisableFirefoxStudies = true;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
DisablePocket = true;
DisableFirefoxAccounts = true;
DisableAccounts = true;
DisableFirefoxScreenshots = true;
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
DontCheckDefaultBrowser = true;
DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
SearchBar = "unified"; # alternative: "separate"
/*
---- EXTENSIONS ----
*/
# Check about:support for extension/add-on ID strings.
# Valid strings for installation_mode are "allowed", "blocked",
# "force_installed" and "normal_installed".
ExtensionSettings = {
"*".installation_mode = "blocked"; # blocks all addons except the ones specified below
# uBlock Origin:
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
};
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/file/4493940/bitwarden_password_manager-2025.5.0.xpi";
installation_mode = "force_installed";
};
"tridactyl.vim@cmcaine.co.uk" = {
install_url = "https://addons.mozilla.org/firefox/downloads/file/4405615/tridactyl_vim-1.24.2.xpi";
installation_mode = "force_installed";
};
# Privacy Badger:
# "jid1-MnnxcxisBPnSXQ@jetpack" = {
# install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
# installation_mode = "force_installed";
# };
# 1Password:
# "{d634138d-c276-4fc8-924b-40a0ea21d284}" = {
# install_url = "https://addons.mozilla.org/firefox/downloads/latest/1password-x-password-manager/latest.xpi";
# installation_mode = "force_installed";
};
};
/*
---- PREFERENCES ----
*/
# Check about:config for options.
preferences = {
# "browser.contentblocking.category" = {
# Value = "strict";
# Status = "locked";
# };
"browser.contentblocking.category" = "strict";
"extensions.pocket.enabled" = false;
"extensions.screenshots.disabled" = true;
"browser.topsites.contile.enabled" = false;
"browser.formfill.enable" = false;
"browser.search.suggest.enabled" = false;
"browser.search.suggest.enabled.private" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.showSearchSuggestionsFirst" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.feeds.snippets" = false;
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.system.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
};
};
};
}
-5
View File
@@ -1,5 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
busybox
];
}
-8
View File
@@ -1,8 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
python3Full
python3Packages.build
python3Packages.pip
python3Packages.installer
];
}
-12
View File
@@ -1,12 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
git
p7zip
tldr
jq
btop
rar
cloudflared
];
}
-9
View File
@@ -1,9 +0,0 @@
{...}: {
# 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";
}
-13
View File
@@ -1,13 +0,0 @@
{
pkgs,
inputs,
...
}: let
unlisted-fonts = inputs.unlisted-fonts.packages.${pkgs.system};
in {
fonts.packages = with pkgs; [
unlisted-fonts.rubik
nerd-fonts.jetbrains-mono
material-symbols
];
}
-16
View File
@@ -1,16 +0,0 @@
{
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;
}
-6
View File
@@ -1,6 +0,0 @@
{pkgs, ...}: {
hardware.graphics = {
enable = true;
enable32Bit = true; # Crucial for 32-bit games
};
}
-20
View File
@@ -1,20 +0,0 @@
{
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
];
}
-4
View File
@@ -1,4 +0,0 @@
{myConfig, ...}: {
i18n.defaultLocale = "en_US.UTF-8";
time.timeZone = "${myConfig.general.Timezone}";
}
-4
View File
@@ -1,4 +0,0 @@
{myConfig, ...}: {
networking.hostName = "${myConfig.general.Hostname}";
networking.networkmanager.enable = true;
}
-16
View File
@@ -1,16 +0,0 @@
{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;
};
}
-12
View File
@@ -1,12 +0,0 @@
{...}: {
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;
}
});
'';
}
-9
View File
@@ -1,9 +0,0 @@
{...}: {
services = {
openssh.enable = true;
libinput.enable = true;
blueman.enable = true;
printing.enable = true;
# sensors.enable = true;
};
}
-22
View File
@@ -1,22 +0,0 @@
{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;
}
-11
View File
@@ -1,11 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
sunshine
];
services.sunshine = {
enable = true;
autoStart = true;
capSysAdmin = true;
openFirewall = true;
};
}
-6
View File
@@ -1,6 +0,0 @@
{...}: {
console = {
font = "Lat2-Terminus16";
useXkbConfig = true;
};
}
-19
View File
@@ -1,19 +0,0 @@
{
pkgs,
myConfig,
...
}: {
users = {
defaultUserShell = pkgs.${myConfig.general.terminal.Shell};
users = {
${myConfig.general.Username} = {
isNormalUser = true;
extraGroups = ["wheel" "networkmanager" "input" "corectrl" "video"];
initialHashedPassword = "$y$j9T$NHFtSwF4NJtEmgMjy4Xdg.$9WQltjEx3eEfZ7GbpGLW8lBhJtiXPOeIawrxdmx0.vB";
useDefaultShell = true;
packages = [
];
};
};
};
}
-24
View File
@@ -1,24 +0,0 @@
{
pkgs,
inputs,
...
}: {
environment.systemPackages = with pkgs; [
wl-clipboard
hypridle
hyprlock
brightnessctl
];
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;
};
hardware = {
graphics.enable = true;
};
services = {
# displayManager.sddm.wayland = true;
displayManager.gdm.enable = true;
};
}