30 Commits

Author SHA1 Message Date
kenji 0f17915e8c updated illogical-impulse 2025-08-11 19:30:26 -05:00
kenji 171564d6dc added solaar 2025-08-11 19:30:12 -05:00
kenji 4920a65aa2 upd 2025-08-11 17:23:25 -05:00
kenji fc71417bc7 uses apps.nix for firefox installation 2025-08-11 16:38:14 -05:00
lsoriano-mcm 1aa742d2b2 added illogical impulse 2025-08-09 13:26:38 -05:00
lsoriano-mcm d0339032fa cleaned up a lot 2025-08-09 12:29:57 -05:00
lsoriano-mcm 4f7a30197a major fix macos 2025-08-07 16:03:52 -05:00
lsoriano-mcm 2dcdd0b29a upd 2025-08-07 15:10:14 -05:00
lsoriano-mcm 638b2e54dc organized 2025-08-07 14:51:45 -05:00
lsoriano-mcm c11b7205bd reorganized boot 2025-08-07 14:43:11 -05:00
kenji caada5a969 added flatpak on conf 2025-08-03 15:55:09 -05:00
kenji ceb17c3a34 enable steam os conf 2025-08-03 14:20:35 -05:00
kenji e619754e92 test 2025-08-03 11:37:24 -05:00
kenji 068a46a9bf added mkOverride 2025-07-31 07:07:46 -05:00
kenji 2cbe32f561 t 2025-07-31 06:41:23 -05:00
kenji e90d182cde added virtualbox 2025-07-23 19:47:13 -05:00
kenji 2bede8d2bc test 2025-07-23 17:55:04 -05:00
kenji 1bb5ea283f a 2025-07-23 17:51:25 -05:00
kenji 173f9a08ca added vrr 2025-07-23 16:35:47 -05:00
kenji 61e3f29db2 test 2025-07-23 16:30:20 -05:00
kenji 9a44776d59 added config file for nixos 2025-07-23 16:30:16 -05:00
kenji c83ad31922 monitor fix 2025-07-23 15:35:53 -05:00
kenji 990b154250 enabled HDR 2025-07-23 14:10:58 -05:00
kenji 4cb03bcbbb fixed quickshell 2025-07-23 12:56:32 -05:00
kenji 5f6dbaac10 minor fixes 2025-07-23 12:46:36 -05:00
kenji 9a24848f21 fixed sunshine not installed 2025-07-22 20:08:29 -05:00
kenji 10e9e6e426 added more support 2025-07-22 20:03:46 -05:00
kenji e11b3547d4 fix unmatched sha 2025-07-22 20:03:39 -05:00
kenji d80c5c1074 added alternative to qs main menu 2025-07-22 20:03:27 -05:00
kenji 954407bfa0 modified hardware 2025-07-22 20:03:15 -05:00
47 changed files with 921 additions and 1308 deletions
+9 -5
View File
@@ -1,5 +1,8 @@
{ {
myConfig = { myConfig = {
macos = {
Username = "lsoriano";
};
essentials = { essentials = {
# !!! replace it with your own, else system might malfunction. # !!! replace it with your own, else system might malfunction.
Username = "kenji"; Username = "kenji";
@@ -17,7 +20,7 @@
nixos = { nixos = {
Hostname = "hakase"; Hostname = "hakase";
Timezone = "America/Chicago"; Timezone = "America/Chicago";
enableSteamOS = true; enableSteamOS = false;
Boot = { Boot = {
mode = "systemd"; # systemd or grub mode = "systemd"; # systemd or grub
@@ -39,10 +42,11 @@
]; ];
}; };
Hyprland = { Hyprland = {
enable = false;
monitors = [ monitors = [
"DP-1, highres@165,0x1080,1,vrr,1" # "DP-2, highres@165,0x1080,1,vrr,1"
"DP-2, highres@highrr,0x0,1" # "DP-2, highres@180,0x1080,1,cm,hdr, sdrbrightness, 1.5, sdrsaturation, 0.98"
"DP-2, highres@180,0x1080,1,bitdepth,10,cm,hdr,sdrbrightness,1.4,sdrsaturation,0.98"
"DP-1, highres@highrr,0x0,1"
"HDMI-A-1, 1920x1080@120, 20000x20000,1" "HDMI-A-1, 1920x1080@120, 20000x20000,1"
# "HDMI-A-1, disabled" # "HDMI-A-1, disabled"
]; ];
@@ -64,7 +68,7 @@
sshUser = ""; sshUser = "";
sshKey = ""; sshKey = "";
system = ""; system = "";
supportedFeatures = ["big-parallel" "kvm" "nixos-test"]; supportedFeatures = ["apple-virt" "big-parallel" "kvm" "nixos-test"];
} }
]; ];
}; };
Generated
+544 -191
View File
@@ -1,21 +1,5 @@
{ {
"nodes": { "nodes": {
"app2unit-src": {
"flake": false,
"locked": {
"lastModified": 1751917736,
"narHash": "sha256-TjePNU9Wu9kaXSczMAZcMV0HSC9zqzLcgKXdbkyLSAU=",
"owner": "Vladimir-csp",
"repo": "app2unit",
"rev": "6a2fe29210fd939571fdfcd78581965ef479c749",
"type": "github"
},
"original": {
"owner": "Vladimir-csp",
"repo": "app2unit",
"type": "github"
}
},
"aquamarine": { "aquamarine": {
"inputs": { "inputs": {
"hyprutils": [ "hyprutils": [
@@ -49,61 +33,41 @@
"type": "github" "type": "github"
} }
}, },
"caelestia-cli-src": { "aquamarine_2": {
"flake": false,
"locked": {
"lastModified": 1752705650,
"narHash": "sha256-+XPGBYwjvbsPx7HhST9QTliDWl2HG43l2mvV7bjHqr4=",
"ref": "refs/heads/main",
"rev": "4a0bd16dd50587343a2b95b2817608d2d5c47c3e",
"revCount": 268,
"type": "git",
"url": "https://git.sakamoto.dev/kenji/caelestia-cli"
},
"original": {
"type": "git",
"url": "https://git.sakamoto.dev/kenji/caelestia-cli"
}
},
"caelestia-shell": {
"inputs": { "inputs": {
"app2unit-src": "app2unit-src", "hyprutils": [
"caelestia-cli-src": "caelestia-cli-src", "illogical-impulse",
"caelestia-shell-src": "caelestia-shell-src", "hyprland",
"flake-utils": "flake-utils", "hyprutils"
],
"hyprwayland-scanner": [
"illogical-impulse",
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [ "nixpkgs": [
"illogical-impulse",
"hyprland",
"nixpkgs" "nixpkgs"
], ],
"quickshell": "quickshell" "systems": [
"illogical-impulse",
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1752705685, "lastModified": 1753216019,
"narHash": "sha256-0lh61BB1wR555O239wdf2wHeWn2xwbZxVxqF+nln5V4=", "narHash": "sha256-zik7WISrR1ks2l6T1MZqZHb/OqroHdJnSnAehkE0kCk=",
"ref": "refs/heads/master", "owner": "hyprwm",
"rev": "418754a149d692b3efd43dfb5cc3586c4d07d07f", "repo": "aquamarine",
"revCount": 14, "rev": "be166e11d86ba4186db93e10c54a141058bdce49",
"type": "git", "type": "github"
"url": "https://git.sakamoto.dev/kenji/caelestia-nix"
}, },
"original": { "original": {
"type": "git", "owner": "hyprwm",
"url": "https://git.sakamoto.dev/kenji/caelestia-nix" "repo": "aquamarine",
} "type": "github"
},
"caelestia-shell-src": {
"flake": false,
"locked": {
"lastModified": 1751355641,
"narHash": "sha256-GDarX9uOlXGc2NstZmCFXBl1g5iWvchL1QA9zuWKw4Q=",
"ref": "refs/heads/main",
"rev": "4b341ca16fda528987e5ac2745945d28f422d839",
"revCount": 806,
"type": "git",
"url": "https://git.sakamoto.dev/kenji/caelestia-dots"
},
"original": {
"type": "git",
"url": "https://git.sakamoto.dev/kenji/caelestia-dots"
} }
}, },
"chaotic": { "chaotic": {
@@ -188,6 +152,22 @@
} }
}, },
"flake-compat_2": { "flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
@@ -241,27 +221,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": [
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-schemas": { "flake-schemas": {
"locked": { "locked": {
"lastModified": 1721999734, "lastModified": 1721999734,
@@ -296,25 +255,7 @@
}, },
"flake-utils_2": { "flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_6"
},
"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_3": {
"inputs": {
"systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -337,7 +278,7 @@
"nixvim", "nixvim",
"flake-compat" "flake-compat"
], ],
"gitignore": "gitignore_2", "gitignore": "gitignore_3",
"nixpkgs": [ "nixpkgs": [
"nixovim", "nixovim",
"nixvim", "nixvim",
@@ -381,6 +322,29 @@
} }
}, },
"gitignore_2": { "gitignore_2": {
"inputs": {
"nixpkgs": [
"illogical-impulse",
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_3": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixovim", "nixovim",
@@ -445,6 +409,27 @@
} }
}, },
"home-manager_3": { "home-manager_3": {
"inputs": {
"nixpkgs": [
"illogical-impulse",
"nixpkgs"
]
},
"locked": {
"lastModified": 1754924470,
"narHash": "sha256-asI/or9AcUMydwzodCgpHGytnMSNUlciw3uaycpXm4E=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "67393957c27b4e4c6c48a60108a201413ced7800",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_4": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixovim", "nixovim",
@@ -495,6 +480,38 @@
"type": "github" "type": "github"
} }
}, },
"hyprcursor_2": {
"inputs": {
"hyprlang": [
"illogical-impulse",
"hyprland",
"hyprlang"
],
"nixpkgs": [
"illogical-impulse",
"hyprland",
"nixpkgs"
],
"systems": [
"illogical-impulse",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1753964049,
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": { "hyprgraphics": {
"inputs": { "inputs": {
"hyprutils": [ "hyprutils": [
@@ -524,6 +541,38 @@
"type": "github" "type": "github"
} }
}, },
"hyprgraphics_2": {
"inputs": {
"hyprutils": [
"illogical-impulse",
"hyprland",
"hyprutils"
],
"nixpkgs": [
"illogical-impulse",
"hyprland",
"nixpkgs"
],
"systems": [
"illogical-impulse",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1752149140,
"narHash": "sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7+rbkFpSZLm/62A=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "340494a38b5ec453dfc542c6226481f736cc8a9a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": { "hyprland": {
"inputs": { "inputs": {
"aquamarine": "aquamarine", "aquamarine": "aquamarine",
@@ -538,7 +587,7 @@
"nixpkgs" "nixpkgs"
], ],
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_3", "systems": "systems_2",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
@@ -580,6 +629,33 @@
"type": "github" "type": "github"
} }
}, },
"hyprland-protocols_2": {
"inputs": {
"nixpkgs": [
"illogical-impulse",
"hyprland",
"nixpkgs"
],
"systems": [
"illogical-impulse",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1749046714,
"narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprland-qt-support": { "hyprland-qt-support": {
"inputs": { "inputs": {
"hyprlang": [ "hyprlang": [
@@ -612,6 +688,41 @@
"type": "github" "type": "github"
} }
}, },
"hyprland-qt-support_2": {
"inputs": {
"hyprlang": [
"illogical-impulse",
"hyprland",
"hyprland-qtutils",
"hyprlang"
],
"nixpkgs": [
"illogical-impulse",
"hyprland",
"hyprland-qtutils",
"nixpkgs"
],
"systems": [
"illogical-impulse",
"hyprland",
"hyprland-qtutils",
"systems"
]
},
"locked": {
"lastModified": 1749154592,
"narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"type": "github"
}
},
"hyprland-qtutils": { "hyprland-qtutils": {
"inputs": { "inputs": {
"hyprland-qt-support": "hyprland-qt-support", "hyprland-qt-support": "hyprland-qt-support",
@@ -648,6 +759,78 @@
"type": "github" "type": "github"
} }
}, },
"hyprland-qtutils_2": {
"inputs": {
"hyprland-qt-support": "hyprland-qt-support_2",
"hyprlang": [
"illogical-impulse",
"hyprland",
"hyprlang"
],
"hyprutils": [
"illogical-impulse",
"hyprland",
"hyprland-qtutils",
"hyprlang",
"hyprutils"
],
"nixpkgs": [
"illogical-impulse",
"hyprland",
"nixpkgs"
],
"systems": [
"illogical-impulse",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1753819801,
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"type": "github"
}
},
"hyprland_2": {
"inputs": {
"aquamarine": "aquamarine_2",
"hyprcursor": "hyprcursor_2",
"hyprgraphics": "hyprgraphics_2",
"hyprland-protocols": "hyprland-protocols_2",
"hyprland-qtutils": "hyprland-qtutils_2",
"hyprlang": "hyprlang_2",
"hyprutils": "hyprutils_2",
"hyprwayland-scanner": "hyprwayland-scanner_2",
"nixpkgs": [
"illogical-impulse",
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks_2",
"systems": "systems_3",
"xdph": "xdph_2"
},
"locked": {
"lastModified": 1754662442,
"narHash": "sha256-+nJzzAL+YcU17uuQyfv9KqVIwitbjPf+ZS5P3Qw3E1c=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "00da4450db9bab1abfda169eefec8dab98f63a0b",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprlang": { "hyprlang": {
"inputs": { "inputs": {
"hyprutils": [ "hyprutils": [
@@ -677,6 +860,38 @@
"type": "github" "type": "github"
} }
}, },
"hyprlang_2": {
"inputs": {
"hyprutils": [
"illogical-impulse",
"hyprland",
"hyprutils"
],
"nixpkgs": [
"illogical-impulse",
"hyprland",
"nixpkgs"
],
"systems": [
"illogical-impulse",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1753622892,
"narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": { "hyprutils": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -702,6 +917,33 @@
"type": "github" "type": "github"
} }
}, },
"hyprutils_2": {
"inputs": {
"nixpkgs": [
"illogical-impulse",
"hyprland",
"nixpkgs"
],
"systems": [
"illogical-impulse",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1753800567,
"narHash": "sha256-W0xgXsaqGa/5/7IBzKNhf0+23MqGPymYYfqT7ECqeTE=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "c65d41d4f4e6ded6fdb9d508a73e2fe90e55cdf7",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": { "hyprwayland-scanner": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -727,6 +969,58 @@
"type": "github" "type": "github"
} }
}, },
"hyprwayland-scanner_2": {
"inputs": {
"nixpkgs": [
"illogical-impulse",
"hyprland",
"nixpkgs"
],
"systems": [
"illogical-impulse",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1751897909,
"narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "fcca0c61f988a9d092cbb33e906775014c61579d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"illogical-impulse": {
"inputs": {
"home-manager": "home-manager_3",
"hyprland": "hyprland_2",
"matugen": "matugen",
"nixpkgs": [
"nixpkgs"
],
"oneUI": "oneUI",
"quickshell": "quickshell"
},
"locked": {
"lastModified": 1754958588,
"narHash": "sha256-8H83MTGs9j5JZ+10NesfMG72jkE+0GvTJJsWfkM6Xzs=",
"ref": "refs/heads/main",
"rev": "db7d0a00f0ca0a2297b146323835f81965b8be88",
"revCount": 3683,
"type": "git",
"url": "https://git.sakamoto.dev/kenji/illogical-impulse.git"
},
"original": {
"type": "git",
"url": "https://git.sakamoto.dev/kenji/illogical-impulse.git"
}
},
"ixx": { "ixx": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@@ -803,6 +1097,7 @@
"matugen": { "matugen": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"illogical-impulse",
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_4" "systems": "systems_4"
@@ -821,6 +1116,27 @@
"type": "github" "type": "github"
} }
}, },
"matugen_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_5"
},
"locked": {
"lastModified": 1745334376,
"narHash": "sha256-GZAesQW51EwCEB9w5caxgi87LiAMhVfP6GqZmet9VZc=",
"owner": "InioX",
"repo": "Matugen",
"rev": "4619cca93513470dc2a1833d9a138297cbccaf2e",
"type": "github"
},
"original": {
"owner": "InioX",
"repo": "Matugen",
"type": "github"
}
},
"nix-darwin": { "nix-darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -898,11 +1214,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1751734292, "lastModified": 1754594915,
"narHash": "sha256-AeW333kvHQPHyhF1MH4ogtAuQmReNeCOJmOcvD2IHcM=", "narHash": "sha256-lw3FTqw0189AL0zVIC6Shltb5cfCX2ZGAEwDh7XXQjU=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "13cd454fb30d75a204ed245ec094210635cc22a6", "rev": "24fdf605ce3ec4b9e994297b77371722673f8612",
"revCount": 67, "revCount": 69,
"type": "git", "type": "git",
"url": "https://git.sakamoto.dev/kenji/nixovim.git" "url": "https://git.sakamoto.dev/kenji/nixovim.git"
}, },
@@ -990,10 +1306,10 @@
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"devshell": "devshell", "devshell": "devshell",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_3",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
"git-hooks": "git-hooks", "git-hooks": "git-hooks",
"home-manager": "home-manager_3", "home-manager": "home-manager_4",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nuschtosSearch": "nuschtosSearch", "nuschtosSearch": "nuschtosSearch",
@@ -1013,31 +1329,9 @@
"type": "github" "type": "github"
} }
}, },
"nur": {
"inputs": {
"flake-parts": "flake-parts_3",
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1751596056,
"narHash": "sha256-YYSPbbr900ciunCWYPIvUbSnnchcMWH907w4LY7uyZs=",
"owner": "nix-community",
"repo": "NUR",
"rev": "8062772f4de4a7ce091bfdb88322e236cffcff30",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"nuschtosSearch": { "nuschtosSearch": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_2",
"ixx": "ixx", "ixx": "ixx",
"nixpkgs": [ "nixpkgs": [
"nixovim", "nixovim",
@@ -1059,6 +1353,22 @@
"type": "github" "type": "github"
} }
}, },
"oneUI": {
"flake": false,
"locked": {
"lastModified": 1745612116,
"narHash": "sha256-VWgITEJQFbPqIbiGDfDeD0R74y9tCKEfjO/M/tcO94M=",
"owner": "end-4",
"repo": "OneUI4-Icons",
"rev": "693095d45c67e6b48a9873e36af6283f05080e66",
"type": "github"
},
"original": {
"owner": "end-4",
"repo": "OneUI4-Icons",
"type": "github"
}
},
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@@ -1082,39 +1392,43 @@
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks_2": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore_2",
"nixpkgs": [
"illogical-impulse",
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1750779888,
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"quickshell": { "quickshell": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"caelestia-shell", "illogical-impulse",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1752486994, "lastModified": 1753595452,
"narHash": "sha256-/11zPRDdPPn61GXDyvDes9otFTP5lLqmETAtwMdeYWI=", "narHash": "sha256-vqkSDvh7hWhPvNjMjEDV4KbSCv2jyl2Arh73ZXe274k=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "5ac9096c1c63f6940c6b95f1118b540dfe029278", "rev": "a5431dd02dc23d9ef1680e67777fed00fe5f7cda",
"revCount": 632, "revCount": 665,
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
},
"original": {
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}
},
"quickshell_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1751880110,
"narHash": "sha256-5fQ2cetL3rTHqXe2VM3puawL/8u5j6ujBr6Gdt7Iues=",
"ref": "refs/heads/master",
"rev": "5d7e07508ae3e5487edb1ac5a152120434f091d5",
"revCount": 607,
"type": "git", "type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell" "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}, },
@@ -1125,18 +1439,16 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"caelestia-shell": "caelestia-shell",
"chaotic": "chaotic", "chaotic": "chaotic",
"darwin": "darwin", "darwin": "darwin",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"hyprland": "hyprland", "hyprland": "hyprland",
"illogical-impulse": "illogical-impulse",
"jovian": "jovian_2", "jovian": "jovian_2",
"matugen": "matugen", "matugen": "matugen_2",
"nixovim": "nixovim", "nixovim": "nixovim",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4"
"nur": "nur",
"quickshell": "quickshell_2"
} }
}, },
"rust-overlay": { "rust-overlay": {
@@ -1195,16 +1507,16 @@
}, },
"systems_2": { "systems_2": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1689347949,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "default-linux",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "default-linux",
"type": "github" "type": "github"
} }
}, },
@@ -1239,6 +1551,21 @@
} }
}, },
"systems_5": { "systems_5": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_6": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -1275,27 +1602,6 @@
"type": "github" "type": "github"
} }
}, },
"treefmt-nix_2": {
"inputs": {
"nixpkgs": [
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733222881,
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"xdph": { "xdph": {
"inputs": { "inputs": {
"hyprland-protocols": [ "hyprland-protocols": [
@@ -1336,6 +1642,53 @@
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"type": "github" "type": "github"
} }
},
"xdph_2": {
"inputs": {
"hyprland-protocols": [
"illogical-impulse",
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"illogical-impulse",
"hyprland",
"hyprlang"
],
"hyprutils": [
"illogical-impulse",
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"illogical-impulse",
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"illogical-impulse",
"hyprland",
"nixpkgs"
],
"systems": [
"illogical-impulse",
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1753633878,
"narHash": "sha256-js2sLRtsOUA/aT10OCDaTjO80yplqwOIaLUqEe0nMx0=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "371b96bd11ad2006ed4f21229dbd1be69bed3e8a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",
+56 -65
View File
@@ -6,18 +6,21 @@
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
jovian = { jovian = {
url = "github:Jovian-Experiments/Jovian-NixOS"; url = "github:Jovian-Experiments/Jovian-NixOS";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "github:hyprwm/Hyprland"; matugen = {
hyprland.inputs.nixpkgs.follows = "nixpkgs"; url = "github:/InioX/Matugen";
inputs.nixpkgs.follows = "nixpkgs";
# ref = "refs/tags/matugen-v0.10.0";
};
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
@@ -34,18 +37,8 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
matugen = { illogical-impulse = {
url = "github:/InioX/Matugen"; url = "git+https://git.sakamoto.dev/kenji/illogical-impulse.git";
inputs.nixpkgs.follows = "nixpkgs";
};
quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
caelestia-shell = {
url = "git+https://git.sakamoto.dev/kenji/caelestia-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
@@ -53,61 +46,59 @@
outputs = { outputs = {
self, self,
nixpkgs, nixpkgs,
flake-utils,
home-manager, home-manager,
darwin, darwin,
chaotic,
jovian,
illogical-impulse,
... ...
} @ inputs: let } @ inputs: let
config = import ./config.nix; config = import ./config.nix;
system = "x86_64-linux";
mkArgs = system: args =
{ {
inherit inputs system; inherit inputs system;
} }
// config; // config;
in {
systems = ["x86_64-linux" "aarch64-linux"]; nixosConfigurations = {
in hakase = nixpkgs.lib.nixosSystem {
flake-utils.lib.eachSystem systems (system: let specialArgs = args;
pkgs = import nixpkgs { modules = [
inherit system; chaotic.nixosModules.default
config.allowUnfree = true; home-manager.nixosModules.home-manager
}; jovian.nixosModules.default
args = mkArgs system; ./hosts/hakase/configuration.nix
in { ];
})
// {
nixosConfigurations = {
hakase = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = mkArgs "x86_64-linux";
modules = [
./hosts/hakase/configuration.nix
];
};
};
homeConfigurations = {
hakase = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
system = "x86_64-linux";
config.allowUnfree = true;
extraSpecialArgs = mkArgs "x86_64-linux";
};
modules = [
./home/hakase.nix
];
};
};
darwinConfigurations = {
macos = darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs = mkArgs "aarch64-darwin";
modules = [
./hosts/macos/darwin.nix
];
};
}; };
}; };
homeConfigurations = {
hakase = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
config.allowUnfree = true;
extraSpecialArgs = args;
};
modules = [
home-manager.nixosModules.home-manager
./home/hakase.nix
];
};
};
darwinConfigurations = {
macos = darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs =
{
inherit inputs;
system = "aarch64-darwin";
}
// config;
modules = [
home-manager.darwinModules.home-manager
./hosts/macos/darwin.nix
];
};
};
};
} }
+1
View File
@@ -9,6 +9,7 @@ in {
# inputs.chaotic.homeManagerModules.default # inputs.chaotic.homeManagerModules.default
../modules/home/desktop.nix ../modules/home/desktop.nix
../modules/home/terminal.nix ../modules/home/terminal.nix
../modules/home/apps.nix
]; ];
# nix.package = pkgs.nix; # nix.package = pkgs.nix;
home.packages = info.myConfig.nixos.Apps.packages pkgs; home.packages = info.myConfig.nixos.Apps.packages pkgs;
+99 -138
View File
@@ -7,21 +7,34 @@
... ...
}: { }: {
imports = [ imports = [
inputs.home-manager.nixosModules.home-manager
inputs.chaotic.nixosModules.default
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/default/desktop.nix ../../modules/default/desktop.nix
../../modules/default/dev.nix
../../modules/default/remote.nix ../../modules/default/remote.nix
../../modules/default/gaming.nix
../../modules/default/udev.nix
../../modules/default/boot.nix
../../modules/default/dev.nix
]; ];
system.stateVersion = "25.05";
i18n.defaultLocale = "en_US.UTF-8";
time.timeZone = "${myConfig.nixos.Timezone}";
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
pavucontrol pavucontrol
wl-clipboard wl-clipboard
wget wget
protontricks solaar
]; ];
console = {
earlySetup = false;
font = "${pkgs.terminus_font}/share/consolefonts/ter-132n.psf.gz";
packages = with pkgs; [terminus_font];
useXkbConfig = true;
};
users = { users = {
defaultUserShell = pkgs.${myConfig.general.Terminal.shell}; defaultUserShell = pkgs.${myConfig.general.Terminal.shell};
users = { users = {
@@ -34,6 +47,7 @@
}; };
}; };
}; };
home-manager = { home-manager = {
backupFileExtension = "backup"; backupFileExtension = "backup";
useGlobalPkgs = true; useGlobalPkgs = true;
@@ -44,92 +58,6 @@
nixpkgs.config.allowUnfree = myConfig.general.allowUnfree; nixpkgs.config.allowUnfree = myConfig.general.allowUnfree;
hardware.logitech.wireless.enable = true;
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
hardware.bluetooth.settings = {
General = {
AutoEnable = true;
Experimental = true;
MultiProfile = "multiple";
FastConnectable = true;
};
};
hardware.graphics = {
enable = true;
enable32Bit = true;
};
i18n.defaultLocale = "en_US.UTF-8";
time.timeZone = "${myConfig.nixos.Timezone}";
boot.loader = {
systemd-boot = lib.mkIf (myConfig.nixos.Boot.mode == "systemd") {
enable = true;
};
grub = lib.mkIf (myConfig.nixos.Boot.mode == "grub") {
efiSupport = true;
enable = true;
device = "nodev";
useOSProber = true;
};
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
};
programs.ssh.extraConfig = myConfig.optionals.Ssh.extraConfig;
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;
};
services = {
displayManager.sessionPackages = [inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland];
# getty.autologinUser = "${myConfig.essentials.Username}";
# greetd = {
# enable = true;
# settings.default_session = {
# user = "${myConfig.essentials.Username}";
# command = "Hyprland";
# };
# };
seatd.enable = true;
upower.enable = true;
scx.enable = true; # by default uses scx_rustland scheduler
libinput.enable = true;
blueman.enable = true;
printing.enable = true;
openssh.enable = true;
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# lowLatency = {
# enable = true;
# quantum = 64;
# rate = 48000;
# };
};
};
# make pipewire realtime-capable
security.rtkit.enable = true;
nix = { nix = {
distributedBuilds = true; distributedBuilds = true;
settings = { settings = {
@@ -139,66 +67,99 @@
}; };
}; };
console = { hardware = {
earlySetup = false; logitech.wireless.enable = true;
font = "${pkgs.terminus_font}/share/consolefonts/ter-132n.psf.gz";
packages = with pkgs; [terminus_font]; bluetooth = {
useXkbConfig = true; enable = true;
powerOnBoot = true;
settings = {
General = {
AutoEnable = true;
Experimental = true;
MultiProfile = "multiple";
FastConnectable = true;
};
};
};
graphics = {
enable = true;
enable32Bit = true;
};
xone.enable = true;
}; };
networking = { networking = {
# wakeOnLan.enable = true;
networkmanager.enable = true; networkmanager.enable = true;
firewall = { firewall = {
enable = true; enable = true;
allowedTCPPorts = [22 80]; allowedTCPPorts = [22 80];
allowedUDPPorts = [53]; allowedUDPPorts = [53];
}; };
proxy.default = null; proxy = {
proxy.noProxy = null; default = null;
noProxy = null;
};
}; };
boot.loader.timeout = 0; systemd = {
boot.loader.limine.maxGenerations = 5; network.enable = true;
hardware.amdgpu.initrd.enable = true; extraConfig = "DefaultTimeoutStopSec=5s";
boot.kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"udev.log_priority=3"
"rd.systemd.show_status=auto"
"iommu=pt"
"amd_pstate=active"
];
boot.kernelPackages = pkgs.linuxPackages_cachyos;
boot.kernel.sysctl = {
"kernel.split_lock_mitigate" = 0;
"kernel.nmi_watchdog" = 0;
"kernel.sched_bore" = "1";
}; };
boot.initrd = { security.rtkit.enable = true;
systemd.enable = true;
kernelModules = [];
verbose = false;
};
boot.plymouth.enable = true;
boot.plymouth.theme = "seal";
boot.plymouth.themePackages = with pkgs; [
# By default we would install all themes
(adi1090x-plymouth-themes.override {
selected_themes = ["seal"];
})
];
boot.consoleLogLevel = 0;
systemd.extraConfig = "DefaultTimeoutStopSec=5s";
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# networking.proxy.default = "http://user:password@proxy:port/"; programs = {
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; bash.interactiveShellInit = ''
system.stateVersion = "25.05"; 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
'';
zsh.enable = true;
fish.enable = true;
appimage = {
enable = true;
binfmt = true;
};
ssh.extraConfig = myConfig.optionals.Ssh.extraConfig;
};
services = {
displayManager.sessionPackages = [
inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland
];
getty.autologinUser = lib.mkOverride 10 "${myConfig.essentials.Username}";
greetd = {
enable = true;
settings.default_session = {
user = lib.mkOverride 10 "${myConfig.essentials.Username}";
command = lib.mkOverride 10 "Hyprland";
};
};
flatpak.enable = true;
seatd.enable = true;
upower.enable = true;
scx.enable = true;
libinput.enable = true;
blueman.enable = true;
printing.enable = true;
openssh.enable = true;
pipewire = {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
};
};
} }
+3 -3
View File
@@ -8,19 +8,19 @@
[ (modulesPath + "/installer/scan/not-detected.nix") [ (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" ]; boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ]; boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/532ac73e-1370-4e4d-9d5a-15033de0b96d"; { device = "/dev/disk/by-uuid/9f701bae-3392-4927-b27d-a905dd67edab";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@" ]; options = [ "subvol=@" ];
}; };
fileSystems."/boot" = fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/1368-D3F3"; { device = "/dev/disk/by-uuid/894C-F998";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ]; options = [ "fmask=0077" "dmask=0077" ];
}; };
+7 -20
View File
@@ -3,45 +3,32 @@
myConfig, myConfig,
inputs, inputs,
system, system,
mkArgs, specialArgs,
... ...
}: { }: {
imports = [ imports = [
../../modules/default/darwin.nix ../../modules/default/darwin.nix
inputs.home-manager.darwinModules.home-manager
]; ];
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = []; environment.systemPackages = [];
# Auto upgrade nix package and the daemon service.
# services.nix-daemon.enable = true;
# services.karabiner-elements.enable = true;
# nix.package = pkgs.nix;
# Necessary for using flakes on this system.
nix.settings.experimental-features = "nix-command flakes"; nix.settings.experimental-features = "nix-command flakes";
nix.settings.trusted-users = myConfig.optionals.Builds.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 programs.zsh.enable = true; # default shell on catalina
programs.fish.enable = true; programs.fish.enable = true;
# $ darwin-rebuild changelog
system.stateVersion = 5; system.stateVersion = 5;
# The platform the configuration will be used on.
nixpkgs.hostPlatform = "aarch64-darwin"; nixpkgs.hostPlatform = "aarch64-darwin";
security.pam.services.sudo_local.touchIdAuth = true; security.pam.services.sudo_local.touchIdAuth = true;
users.users.${myConfig.essentials.Username} = { users.users.${myConfig.macos.Username} = {
name = "${myConfig.essentials.Username}"; name = "${myConfig.macos.Username}";
home = "/Users/${myConfig.essentials.Username}"; home = "/Users/${myConfig.macos.Username}";
# shell = pkgs.${myConfig.general.terminal.Shell}; # no support for nix-darwin, but can be changed via chsh.
}; };
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = mkArgs system; home-manager.extraSpecialArgs = specialArgs;
home-manager.users.${myConfig.essentials.Username} = import ../../home/darwin.nix; home-manager.users.${myConfig.macos.Username} = import ../../home/darwin.nix;
} }
-169
View File
@@ -1,169 +0,0 @@
{
config,
pkgs,
lib,
myConfig,
inputs,
...
}: {
imports = [
# Include the results of the hardware scan.
inputs.chaotic.nixosModules.default
./hardware-configuration.nix
];
nix.settings.experimental-features = ["nix-command" "flakes"];
nixpkgs.config.allowUnfree = true;
####################
# Boot & Kernel #
####################
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.timeout = 0;
boot.loader.limine.maxGenerations = 5;
hardware.amdgpu.initrd.enable = true;
boot.kernelParams = ["quiet"];
boot.kernelPackages = pkgs.linuxPackages_cachyos;
boot.kernel.sysctl = {
"kernel.split_lock_mitigate" = 0;
"kernel.nmi_watchdog" = 0;
"kernel.sched_bore" = "1";
};
boot.initrd = {
systemd.enable = true;
kernelModules = [];
verbose = false;
};
boot.plymouth.enable = true;
boot.consoleLogLevel = 0;
systemd.extraConfig = "DefaultTimeoutStopSec=5s";
################
# FileSystems #
################
# fileSystems."/" = {
# options = ["compress=zstd"];
# };
############
# Network #
############
networking = {
networkmanager.enable = true;
firewall.enable = false;
hostName = "nixos";
};
#################
# Bluetooth #
#################
hardware.bluetooth.enable = true;
hardware.bluetooth.settings = {
General = {
MultiProfile = "multiple";
FastConnectable = true;
};
};
#################
# Sound & RTKit #
#################
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
########################
# Graphical & Greetd #
########################
services.xserver.enable = false;
services.getty.autologinUser = "steamos";
services.greetd = {
enable = true;
settings.default_session = {
user = "${myConfig.essentials.Username}";
command = "steam-gamescope > /dev/null 2>&1";
};
};
########################
# Programs & Gaming #
########################
services.automatic-timezoned.enable = true;
services.flatpak.enable = true;
xdg.portal.enable = true;
xdg.portal.config.common.default = "*";
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk];
# programs.steam.gamescopeSession.args = ["-w 1920" "-h 1080" "-r 120" "--xwayland-count 2" "-e" "--hdr-enabled" "--mangoapp"];
programs = {
appimage = {
enable = true;
binfmt = true;
};
fish = {enable = true;};
mosh = {enable = true;};
tmux = {enable = true;};
gamescope.capSysNice = true;
steam = {
enable = true;
gamescopeSession.enable = true;
extraCompatPackages = with pkgs; [proton-ge-bin];
extraPackages = with pkgs; [
mangohud
gamescope-wsi
];
};
};
environment.sessionVariables = {
PROTON_USE_NTSYNC = "1";
ENABLE_HDR_WSI = "1";
DXVK_HDR = "1";
PROTON_ENABLE_AMD_AGS = "1";
PROTON_ENABLE_NVAPI = "1";
ENABLE_GAMESCOPE_WSI = "1";
STEAM_MULTIPLE_XWAYLANDS = "1";
};
###################
# Virtualization #
###################
virtualisation.docker.enable = true;
virtualisation.docker.enableOnBoot = false;
virtualisation.libvirtd.enable = true;
###############
# Users #
###############
users.users.${myConfig.essentials.Username} = {
isNormalUser = true;
description = "SteamOS user";
extraGroups = ["networkmanager" "wheel" "docker" "video" "seat" "audio" "libvirtd"];
# password = "steamos";
};
#################
# Security #
#################
security.sudo.wheelNeedsPassword = false;
security.polkit.enable = true;
services.seatd.enable = true;
services.openssh.enable = true;
######################
######################
########################
# System State Version #
########################
system.stateVersion = "25.05";
}
-47
View File
@@ -1,47 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/532ac73e-1370-4e4d-9d5a-15033de0b96d";
fsType = "btrfs";
options = [ "subvol=@" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/1368-D3F3";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/780aa81f-c4d6-478b-9c51-2d60362fdb07";
fsType = "ext4";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/b02ef55c-4caf-4a24-a6a2-fb8001eafe22"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp11s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp10s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+55
View File
@@ -0,0 +1,55 @@
{
myConfig,
lib,
pkgs,
...
}: {
boot = {
loader = {
timeout = 0;
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
systemd-boot = lib.mkIf (myConfig.nixos.Boot.mode == "systemd") {
enable = true;
};
grub = lib.mkIf (myConfig.nixos.Boot.mode == "grub") {
enable = true;
efiSupport = true;
device = "nodev";
useOSProber = true;
};
limine.maxGenerations = 5;
};
plymouth = {
enable = true;
theme = "seal";
themePackages = with pkgs; [
(adi1090x-plymouth-themes.override {
selected_themes = ["seal"];
})
];
};
kernelPackages = pkgs.linuxPackages_cachyos;
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"udev.log_priority=3"
"rd.systemd.show_status=auto"
"kvm.enable_virt_at_load=0"
];
initrd = {
systemd.enable = true;
kernelModules = [];
verbose = false;
};
consoleLogLevel = 0;
};
hardware.amdgpu.initrd.enable = true;
}
+4 -14
View File
@@ -3,18 +3,8 @@
myConfig, myConfig,
... ...
}: { }: {
imports = imports = [
[ # ../../packages/quickshell/default.nix
../../packages/hyprland/default.nix ../../packages/hyprland/default.nix
../../packages/matugen/default.nix ];
../../packages/quickshell/default.nix
../../packages/udev/default.nix
]
++ [
../../packages/steam/default.nix
../../packages/bottles/default.nix
]
++ lib.optionals (myConfig.nixos.enableSteamOS == true) [
../../packages/steam/jovian.nix
];
} }
+14
View File
@@ -0,0 +1,14 @@
{
lib,
myConfig,
...
}: {
imports =
[
../../packages/steam/default.nix
]
++ lib.optionals (myConfig.nixos.enableSteamOS == true)
[
../../packages/steam/jovian.nix
];
}
+2
View File
@@ -1,4 +1,6 @@
{ {
imports = [ imports = [
../../packages/moondeck-buddy/appimage.nix
../../packages/sunshine/default.nix
]; ];
} }
@@ -1,6 +1,6 @@
{ {
services.udev.extraRules = '' services.udev.extraRules = ''
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="0616", ATTR{power/wakeup}="enabled" SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", ATTR{idProduct}=="0616", ATTR{power/wakeup}="enabled"
''; '';
} }
+5
View File
@@ -0,0 +1,5 @@
{
imports = [
../../packages/firefox/home.nix
];
}
+11 -24
View File
@@ -1,26 +1,13 @@
{ {
imports = inputs,
[ pkgs,
../../packages/fonts/home.nix ...
../../packages/firefox/home.nix }: {
imports = [
../../packages/hyprland/home.nix inputs.illogical-impulse.homeManagerModules.default
../../packages/hyprlock/home.nix ../../packages/fonts/home.nix
../../packages/hypridle/home.nix ];
../../packages/quickshell/home.nix programs.illogical-impulse.enable = true;
../../packages/swww/home.nix home.packages = [
../../packages/hyprsunset/home.nix ];
../../packages/matugen/home.nix
../../packages/rofi/home.nix
../../packages/bibata/home.nix
]
++ [
../../packages/solaar/home.nix
]
++ [
../../packages/mangohud/home.nix
../../packages/protonup/home.nix
../../packages/lutris/home.nix
../../packages/steam/home.nix
];
} }
+1 -1
View File
@@ -3,7 +3,7 @@
../../packages/fish/home.nix ../../packages/fish/home.nix
../../packages/kitty/home.nix ../../packages/kitty/home.nix
../../packages/neovim/home.nix ../../packages/neovim/home.nix
../../packages/starship/home.nix # ../../packages/starship/home.nix
../../packages/fastfetch/home.nix ../../packages/fastfetch/home.nix
../../packages/zsh/home.nix ../../packages/zsh/home.nix
../../packages/zoxide/home.nix ../../packages/zoxide/home.nix
-2
View File
@@ -1,2 +0,0 @@
node_modules/
@girs/
-17
View File
@@ -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)
}
})
-3
View File
@@ -1,3 +0,0 @@
$background: #131318;
$foreground: #e4e1e9;
$primary: #bec2ff;
-21
View File
@@ -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
}
-6
View File
@@ -1,6 +0,0 @@
{
"name": "astal-shell",
"dependencies": {
"astal": "/home/biscuit/.local/share/ags"
}
}
-143
View File
@@ -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;
}
}
}
-14
View File
@@ -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",
}
}
-189
View File
@@ -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>
}
-28
View File
@@ -1,28 +0,0 @@
{
inputs,
pkgs,
system,
...
}: {
imports = [inputs.ags.homeManagerModules.default];
programs.ags = {
enable = true;
configDir = ./custom;
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
];
};
}
-5
View File
@@ -1,5 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
bottles
];
}
+3
View File
@@ -40,6 +40,7 @@
"$mod, D, global, caelestia:launcherInterrupt" "$mod, D, global, caelestia:launcherInterrupt"
"$mod, Escape, global, caelestia:launcherInterrupt" "$mod, Escape, global, caelestia:launcherInterrupt"
"$mod, PERIOD, global, caelestia:launcherInterrupt" "$mod, PERIOD, global, caelestia:launcherInterrupt"
"$mod, SPACE, global, caelestia:launcherInterrupt"
"$mod, E, global, caelestia:launcherInterrupt" "$mod, E, global, caelestia:launcherInterrupt"
"$mod, V, global, caelestia:launcherInterrupt" "$mod, V, global, caelestia:launcherInterrupt"
@@ -69,6 +70,8 @@
"$mod ALT, A, global, caelestia:showall" "$mod ALT, A, global, caelestia:showall"
"$mod ALT, L, global, caelestia:lock" "$mod ALT, L, global, caelestia:lock"
"$mod, SPACE, exec, rofi -show drun"
# Restore lock - these are `bindl` in your original, but `exec` should be fine here. # Restore lock - these are `bindl` in your original, but `exec` should be fine here.
# However, `bindl` is typically for a *release* event. If `caelestia shell -d` is a daemon, # However, `bindl` is typically for a *release* event. If `caelestia shell -d` is a daemon,
# and `caelestia:lock` is a quickshell internal, you might need to reconsider. # and `caelestia:lock` is a quickshell internal, you might need to reconsider.
+9 -9
View File
@@ -44,7 +44,6 @@
"workspace special:music, initialTitle:Spotify( Free)?" "workspace special:music, initialTitle:Spotify( Free)?"
"workspace special:communication, class:discord|equibop|vesktop|whatsapp" "workspace special:communication, class:discord|equibop|vesktop|whatsapp"
"workspace special:todo, class:Todoist" "workspace special:todo, class:Todoist"
"workspace special:steam, class:^(steam_app_.*)$"
"noinitialfocus, class:discord" "noinitialfocus, class:discord"
"focusonactivate 0, class:discord" "focusonactivate 0, class:discord"
@@ -70,6 +69,7 @@
# Steam # Steam
"workspace special:steam, class:steam" "workspace special:steam, class:steam"
"workspace special:gaming, class:^(steam_app_.*)$"
"rounding 10, title:, class:steam" "rounding 10, title:, class:steam"
"float, title:Friends List, class:steam" "float, title:Friends List, class:steam"
"immediate, class:steam_app_[0-9]+" "immediate, class:steam_app_[0-9]+"
@@ -91,15 +91,15 @@
workspace = [ workspace = [
"w[tv1]s[false], gapsout:20, gapsin:20" "w[tv1]s[false], gapsout:20, gapsin:20"
"f[1]s[false], gapsout:20, gapsin:20" "f[1]s[false], gapsout:20, gapsin:20"
"1, monitor:DP-1, default:true" "1, monitor:DP-2, default:true"
"2, monitor:DP-1" "2, monitor:DP-2"
"3, monitor:DP-1" "3, monitor:DP-2"
"4, monitor:DP-2" "4, monitor:DP-1"
"5, monitor:DP-2" "5, monitor:DP-1"
"6, monitor:DP-2" "6, monitor:DP-1"
"special:gaming, monitor:DP-1, persistent:true" "special:gaming, monitor:DP-2, persistent:true"
"special:steam, monitor:DP-1, persistent:true, on-created-empty:steam" "special:steam, monitor:DP-2, persistent:true, on-created-empty:steam"
]; ];
# ######## Layer rules ######## # ######## Layer rules ########
-70
View File
@@ -1,70 +0,0 @@
[config]
# If set to enabled, it will check for updates when you run the matugen command, notifying you that an update is avaiable.
# WARNING: Matugen needs to be compiled with the `update-informer` feature for this to work.
version_check = false
[config.wallpaper]
# The base command to run for applying the wallpaper, shouldn't have spaces in it.
command = "swww"
# The arguments that will be provided to the command.
# Keywords like {{ mode }} or anything that works inside of hooks doesn't work here.
# The last argument will be the image path.
arguments = ["img", "--transition-type", "center", "--transition-fps", "120"]
# For example, killing the wallpaper daemon. Usage is like a normal hook.
# pre_hook = ""
[config.custom_keywords]
test = "aaaa"
[templates.name1]
# Relative paths will be resolved from the path `config.toml` is in.
input_path = "./colors.whatever-extension"
output_path = "./a/colors-generated.whatever-extension"
# This will use a different input path depending on what mode you use.
# input_path_modes = { dark = "./colors.whatever-extension", light = "./colors.whatever-extension" }
# This will compare all of the colors inside the array with the color you set as `compare_to`, and returns the closest color to it.
# You can then use `{{closest_color}}` inside templates and hooks.
colors_to_compare = [
{ name = "black", color = "#000000" },
{ name = "red", color = "#ff0000" },
{ name = "maroon", color = "#800000" },
{ name = "yellow", color = "#ffff00" },
{ name = "olive", color = "#808000" },
{ name = "lime", color = "#00ff00" },
{ name = "green", color = "#008000" },
{ name = "aqua", color = "#00ffff" },
{ name = "teal", color = "#008080" },
{ name = "blue", color = "#0000ff" },
{ name = "navy", color = "#000080" },
{ name = "fuchsia", color = "#ff00ff" },
{ name = "purple", color = "#800080" },
]
compare_to = "{{colors.primary.default.hex}}"
# Runs before the template is exported. You can use keywords here,
pre_hook = 'echo "source color {{colors.source_color.default.hex}}, source image {{image}}, closest color {{closest_color}}"'
# Runs after the template is exported. You can use keywords here.
post_hook = 'echo "after gen"'
# Only hex values
# https://m3.material.io/styles/color/advanced/adjust-existing-colors#1cc12e43-237b-45b9-8fe0-9a3549c1f61e
# Blend is set to true by default.
[config.custom_colors]
green = "#00ff00"
red = "#ff0000"
blue = { color = "#0000ff", blend = false }
### --- my config
[templates.kitty]
input_path = '~/.config/nixos/pkgs/matugen/custom/templates/kitty.conf'
output_path = '~/.config/kitty/colors.conf'
post_hook = "kitty @ set-colors -a -c ~/.config/kitty/colors.conf"
[templates.ags]
input_path = '~/.config/nixos/pkgs/matugen/custom/templates/ags.scss'
output_path = '~/.config/nixos/pkgs/ags/biscuit/colors.scss'
post_hook = "pkill gjs & ags run ~/.config/nixos/pkgs/ags/biscuit/app.ts & disown (jobs -p) &"
@@ -1,3 +0,0 @@
$background: {{colors.surface.dark.hex}};
$foreground: {{colors.on_surface.dark.hex}};
$primary: {{colors.primary.dark.hex}};
@@ -1,41 +0,0 @@
cursor {{colors.on_surface.default.hex}}
cursor_text_color {{colors.on_surface_variant.default.hex}}
foreground {{colors.on_surface.default.hex}}
background {{colors.surface.default.hex}}
selection_foreground {{colors.on_secondary.default.hex}}
selection_background {{colors.secondary_fixed_dim.default.hex}}
url_color {{colors.primary.default.hex}}
# black
color8 #262626
color0 #4c4c4c
# red
color1 #ac8a8c
color9 #c49ea0
# green
color2 #8aac8b
color10 #9ec49f
# yellow
color3 #aca98a
color11 #c4c19e
# blue
/* color4 #8f8aac */
color4 {{colors.primary.default.hex}}
color12 #a39ec4
# magenta
color5 #ac8aac
color13 #c49ec4
# cyan
color6 #8aacab
color14 #9ec3c4
# white
color15 #e7e7e7
color7 #f0f0f0
-10
View File
@@ -1,10 +0,0 @@
{
inputs,
pkgs,
...
}: {
imports = [inputs.matugen.nixosModules.default];
environment.systemPackages = with pkgs; [
inputs.matugen.packages.${system}.default
];
}
-10
View File
@@ -1,10 +0,0 @@
{
pkgs,
inputs,
system,
...
}: {
home.file.".config/matugen/config.toml" = {
source = builtins.toPath ./custom/config.toml;
};
}
+35 -4
View File
@@ -4,6 +4,7 @@
pkgs, pkgs,
lib, lib,
fetchurl, fetchurl,
myConfig,
... ...
}: let }: let
moondeckBuddyWrapped = pkgs.appimageTools.wrapType2 { moondeckBuddyWrapped = pkgs.appimageTools.wrapType2 {
@@ -17,7 +18,8 @@
extraPkgs = pkgs: extraPkgs = pkgs:
with pkgs; [ with pkgs; [
# Your extraPkgs here steam
libappindicator-gtk3
]; ];
desktopItems = [ desktopItems = [
@@ -51,7 +53,36 @@ in {
59999 # Allow Moondeck Buddy to listen on this port 59999 # Allow Moondeck Buddy to listen on this port
]; ];
# If Moondeck Buddy also needs UDP, uncomment and add it here: # If Moondeck Buddy also needs UDP, uncomment and add it here:
# networking.firewall.allowedUDPPorts = [ networking.firewall.allowedUDPPorts = [
# 59999 59999
# ]; ];
systemd.services.moondeck-buddy = {
description = "Moondeck Buddy service for Sunshine/Moonlight integration";
after = ["network-online.target" "display-manager.service"]; # Ensure display manager is up
wantedBy = ["multi-user.target"]; # Still autostart with multi-user target
serviceConfig = {
Type = "simple";
User = "${myConfig.essentials.Username}"; # <--- IMPORTANT: User *must* have access to the display
Group = "users";
ExecStart = "${moondeckBuddyWrapped}/bin/moondeck-buddy";
Restart = "on-failure";
RestartSec = 5;
# Crucial for GUI applications running as system services:
Environment = [
"DISPLAY=:0" # Assuming your main display is :0. This can vary.
# "XAUTHORITY=/home/your-username/.Xauthority" # Needed if using Xauthority
# If using Wayland, you might need XDG_RUNTIME_DIR and WAYLAND_DISPLAY
# "XDG_RUNTIME_DIR=/run/user/$(id -u your-username)"
# "WAYLAND_DISPLAY=wayland-0" # Or specific to your compositor
];
# You might also need to explicitly grant access, e.g., with xhost +
# but that's a security hole. Best is to rely on user authentication.
};
};
} }
+1 -1
View File
@@ -5,6 +5,6 @@
... ...
}: { }: {
home.packages = [ home.packages = [
inputs.nixovim.packages.${system}.default inputs.nixovim.packages.${system}.full
]; ];
} }
-13
View File
@@ -1,13 +0,0 @@
{
pkgs,
myConfig,
...
}: {
home.packages = with pkgs; [
protonup
];
home.sessionVariables = {
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/${myConfig.essentials.Username}/.steam/root/compatibilitytools.d";
};
}
+3 -3
View File
@@ -4,11 +4,12 @@
system, system,
... ...
}: let }: let
caelestia-shell = pkgs.fetchFromGitHub { caelestia-shell = pkgs.fetchFromGitea {
domain = "git.sakamoto.dev";
owner = "caelestia-dots"; owner = "caelestia-dots";
repo = "shell"; repo = "shell";
rev = "main"; rev = "main";
sha256 = "sha256-FHPCSy/Fd9hIpFA2BxhTkbwBtY9vtvsEUYC3+ZX6zNQ="; sha256 = "sha256-y9Wkh+9ND8GcUYhybXdEPTVY6gUb0jclnbbVi70l70Y=";
}; };
in { in {
imports = [ imports = [
@@ -20,7 +21,6 @@ in {
grim grim
foot foot
hyprpicker hyprpicker
heroic-unwrapped
qalculate-qt qalculate-qt
fuzzel fuzzel
inotify-tools inotify-tools
-1
View File
@@ -1,5 +1,4 @@
{pkgs, ...}: { {pkgs, ...}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
solaar
]; ];
} }
-7
View File
@@ -3,13 +3,6 @@
myConfig, myConfig,
... ...
}: { }: {
environment.systemPackages = with pkgs; [
steam-run
];
programs.appimage.enable = true;
programs.appimage.binfmt = true;
programs.steam = { programs.steam = {
enable = true; enable = true;
remotePlay.openFirewall = true; remotePlay.openFirewall = true;
+3 -16
View File
@@ -2,10 +2,10 @@
inputs, inputs,
pkgs, pkgs,
myConfig, myConfig,
lib,
... ...
}: { }: {
imports = [ imports = [
inputs.jovian.nixosModules.default
]; ];
environment.sessionVariables = { environment.sessionVariables = {
DECKY_HOME = "/home/${myConfig.essentials.Username}/homebrew"; DECKY_HOME = "/home/${myConfig.essentials.Username}/homebrew";
@@ -19,23 +19,10 @@
jovian.hardware.has.amd.gpu = true; jovian.hardware.has.amd.gpu = true;
jovian.decky-loader.enable = true; jovian.decky-loader.enable = true;
jovian.decky-loader.user = "kenji"; jovian.decky-loader.user = "${myConfig.essentials.Username}";
# jovian.steamos.enableBluetoothConfig = true; # jovian.steamos.enableBluetoothConfig = true;
# jovian.steamos.enableMesaPatches = true; jovian.steamos.enableMesaPatches = true;
jovian.steamos.useSteamOSConfig = true;
jovian.decky-loader.extraPythonPackages = pythonPackages:
with pythonPackages; [
requests
aiohttp
];
# jovian.devices.steamdeck.enableControllerUdevRules = true; # jovian.devices.steamdeck.enableControllerUdevRules = true;
hardware = {
xone.enable = true;
};
programs.nix-ld = {
enable = true;
libraries = pkgs.steam-run.args.multiPkgs pkgs;
};
} }
+43
View File
@@ -0,0 +1,43 @@
{
config,
lib,
pkgs,
...
}: let
cfg = config.programs.sunshine;
in {
options.programs.sunshine = with lib; {
enable = mkEnableOption "sunshine";
};
config = lib.mkIf cfg.enable {
networking.firewall.allowedTCPPortRanges = [
{
from = 47984;
to = 48010;
}
];
networking.firewall.allowedUDPPortRanges = [
{
from = 47998;
to = 48010;
}
];
security.wrappers.sunshine = {
owner = "root";
group = "root";
capabilities = "cap_sys_admin+p";
source = "${pkgs.sunshine}/bin/sunshine";
};
systemd.user.services.sunshine = {
description = "Sunshine self-hosted game stream host for Moonlight";
startLimitBurst = 5;
startLimitIntervalSec = 500;
serviceConfig = {
ExecStart = "${config.security.wrapperDir}/sunshine";
Restart = "on-failure";
RestartSec = "5s";
};
};
};
}
+6
View File
@@ -0,0 +1,6 @@
{
imports = [
./config.nix
];
programs.sunshine.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;
};
}
-3
View File
@@ -1,3 +0,0 @@
{...}: {
services.swww.enable = true;
}
+5
View File
@@ -0,0 +1,5 @@
{
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = ["user-with-access-to-virtualbox"];
virtualisation.virtualbox.host.enableExtensionPack = true;
}
Symlink
+1
View File
@@ -0,0 +1 @@
/nix/store/bbmjfn520yfij7z284imjm3dcfvs8fkx-nixos-system-nixos-25.11.20250630.3016b4b