Compare commits
208 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b4f4b67a8b | |||
| f59110c87e | |||
| 3dd4f2783e | |||
| d8657c7eeb | |||
| 3c4ed456cf | |||
| 551302a00e | |||
| 9aaffe2677 | |||
| 11cee2638a | |||
| e35dc3d28e | |||
| b686cf7751 | |||
| 7fd7cfac70 | |||
| 2023828364 | |||
| 2d8ba9f7ea | |||
| bc70242a99 | |||
| 0eabcc4fc1 | |||
| 1e301b958e | |||
| 4a4f66c08e | |||
| e33dbea82e | |||
| 50813851cb | |||
| b3c502fdf3 | |||
| 3587a7042d | |||
| cfc2f01e57 | |||
| ebef97f84b | |||
| 3740928c70 | |||
| 435742f29c | |||
| 0ebe999f92 | |||
| 005c744cb6 | |||
| a2b4b0d8ea | |||
| e8c6cb073f | |||
| 17b01cbf1c | |||
| 6d5cd6d78e | |||
| c48d1543a4 | |||
| ac41162a6e | |||
| 74f26f5997 | |||
| 0a1acae08a | |||
| 54f2f1e8f9 | |||
| a25d41100a | |||
| 381830a767 | |||
| d1c11014de | |||
| b41a820dcc | |||
| 38ba3a2fdb | |||
| 998f4905b0 | |||
| 9cc45e426d | |||
| 7053adc718 | |||
| 8d6af2f936 | |||
| f4788f863e | |||
| 2ba8639dfd | |||
| a609216012 | |||
| b6911bc045 | |||
| 09fbbec45e | |||
| b697c89aae | |||
| 0e0b8a40c7 | |||
| 555fea04b4 | |||
| fee08ad3d2 | |||
| b3e0e3e76f | |||
| 4dee2bf44f | |||
| f23d023551 | |||
| 61ac2f71d5 | |||
| ca9e487111 | |||
| f8e327d46d | |||
| 835a7fdad3 | |||
| 6034a9797c | |||
| c204eed76e | |||
| 0abf1447af | |||
| 73ece504c9 | |||
| 30f2178b6f | |||
| 5b0a8b3c49 | |||
| da0db9551c | |||
| f1b1dcdd9e | |||
| b3bcc0f058 | |||
| 2b1bc85514 | |||
| 6517af5889 | |||
| 43f8d827f6 | |||
| f7d3c7a7c4 | |||
| 7f7cbe74f7 | |||
| e3c5d8c166 | |||
| 8957622879 | |||
| 657fde7545 | |||
| f757369821 | |||
| e623b83d68 | |||
| 2b8d4a1dce | |||
| e6103c3153 | |||
| 6b0a342cdd | |||
| 280a2da2db | |||
| 363d470386 | |||
| f715f08831 | |||
| c4e0681c33 | |||
| a3121c0ce0 | |||
| 6af25e5453 | |||
| fd8da098ed | |||
| e83c8ded35 | |||
| 229b0041a6 | |||
| 128e6a04c2 | |||
| a92159168c | |||
| 1fb2d40aa8 | |||
| 7ec496be3d | |||
| 35a794a648 | |||
| b8dfddd2e8 | |||
| 4a49aba2ba | |||
| d1bffc3952 | |||
| 8b2e901680 | |||
| a5db5cc54d | |||
| efede58a6d | |||
| 7df80623d5 | |||
| 028df1fd35 | |||
| 12e64d34e6 | |||
| ba7174224c | |||
| c794974b20 | |||
| d9fdab315c | |||
| b3d37d7b20 | |||
| 88076292de | |||
| 25c0a328e6 | |||
| ab855f18ea | |||
| b7659157fa | |||
| 608df0bd38 | |||
| 1871ca6ef6 | |||
| d7eed2ecf6 | |||
| 789e6786cc | |||
| 8e9bfe9522 | |||
| 0c99dfefbb | |||
| c16cedf981 | |||
| 4f0c6d3e46 | |||
| 752a6ad1de | |||
| 802c2aa6bf | |||
| 2a6b5bc2c7 | |||
| e986b99ce7 | |||
| c17dabdbd8 | |||
| 0ab12aabff | |||
| 30ecca57ba | |||
| cd734937c0 | |||
| 477b592b06 | |||
| fda9681b84 | |||
| 694042f027 | |||
| 7e77b1acd4 | |||
| 6b765f1b54 | |||
| 97d65f2f7e | |||
| 9186f2cc28 | |||
| 6ae2221007 | |||
| e862ce8f9b | |||
| 6dbe009076 | |||
| 598abbf308 | |||
| 17ccf2ba8c | |||
| ca5b15b377 | |||
| a11926ee85 | |||
| f19b7ab674 | |||
| 306e540a67 | |||
| 5185edce48 | |||
| b3f9882c7e | |||
| ee7b59c521 | |||
| 113a15cd69 | |||
| 2ea4f6631c | |||
| e21cf63216 | |||
| f31387ab12 | |||
| 4ec339c53b | |||
| eb70a6dd52 | |||
| a9aef32984 | |||
| 58d575ebeb | |||
| be57946347 | |||
| 63c2f887db | |||
| 36222bdb63 | |||
| de69800662 | |||
| f2a1604009 | |||
| dfec0bc5da | |||
| 45ce1678d1 | |||
| 5022c31815 | |||
| 2534d83bdd | |||
| 3e7917aee3 | |||
| 530a7c9777 | |||
| a3b195da1f | |||
| fa1a376d85 | |||
| 25d034d7dc | |||
| a0572f8a95 | |||
| 6e32ac5ceb | |||
| 5278908420 | |||
| 6044c4e063 | |||
| d0532495e0 | |||
| 3339960062 | |||
| 77854b1c69 | |||
| b1ca82da64 | |||
| 72bc56a934 | |||
| aac77be6ec | |||
| 6404fbd36d | |||
| f442452a2e | |||
| 35f515e828 | |||
| 3215644a87 | |||
| 05198ddeab | |||
| 67402c3e54 | |||
| 78abaed26f | |||
| 64a56ea346 | |||
| 453bc1f249 | |||
| 7fc61d7d27 | |||
| d9edf3f389 | |||
| 4a29a676b5 | |||
| 6a61e05ae7 | |||
| ce1301af38 | |||
| dd3caf07d2 | |||
| c62421cfb6 | |||
| d4026e1559 | |||
| 53346c17ea | |||
| 52356a4a87 | |||
| c603389ebc | |||
| 2d8e528b6f | |||
| 87dea595d3 | |||
| 9629dd0ba0 | |||
| 9a722c915a | |||
| 65e7e86739 | |||
| 1b0dcd2863 | |||
| c1e4ef47f3 |
@@ -1 +0,0 @@
|
|||||||
hosts/desktop/hardware-configuration.nix
|
|
||||||
|
|||||||
@@ -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
@@ -1,91 +1,66 @@
|
|||||||
{
|
{
|
||||||
myConfig = {
|
myConfig = {
|
||||||
general = {
|
essentials = {
|
||||||
Hostname = "hakase";
|
# !!! replace it with your own, else system might malfunction.
|
||||||
Username = "kenji";
|
Username = "kenji";
|
||||||
Timezone = "America/Chicago";
|
};
|
||||||
|
general = {
|
||||||
allowUnfree = true; # allows installation of commercial apps.
|
Terminal = {
|
||||||
|
font = "JetBrainsMono Nerd Font";
|
||||||
terminal = {
|
size = "12";
|
||||||
Font = "JetBrainsMono Nerd Font"; # e.g., JetBrainsMono Nerd Font
|
shell = "fish"; # or zsh
|
||||||
Size = "18";
|
aliases = {
|
||||||
Shell = "fish";
|
|
||||||
Aliases = {
|
|
||||||
ls = "ls --color=auto";
|
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 = {
|
nixos = {
|
||||||
builder = {
|
Hostname = "nixos";
|
||||||
trustedUsers = [
|
Timezone = "America/Chicago";
|
||||||
"@groups"
|
|
||||||
"biscuit"
|
Boot = {
|
||||||
];
|
mode = "grub"; # systemd or grub
|
||||||
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"];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
Gaming = {
|
||||||
|
enable = true;
|
||||||
linux = {
|
|
||||||
system = "x86_64";
|
|
||||||
gaming = true;
|
|
||||||
|
|
||||||
vpn = {
|
|
||||||
Enable = false;
|
|
||||||
secretFile = builtins.toPath ./secrets/.vpn.yaml;
|
|
||||||
};
|
};
|
||||||
|
Apps = {
|
||||||
touchpadSupport = false;
|
packages = pkgs:
|
||||||
logitech-hardware.enable = true;
|
|
||||||
|
|
||||||
# Custom Applications
|
|
||||||
apps = {
|
|
||||||
gaming = true;
|
|
||||||
apps = pkgs:
|
|
||||||
with pkgs; [
|
with pkgs; [
|
||||||
jellyfin-media-player
|
jellyfin-media-player
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
hyprconf = {
|
Hyprland = {
|
||||||
Monitor = [
|
monitors = [];
|
||||||
# hyprctl monitors all
|
};
|
||||||
# monitor, resolution@refreshrate, position (e.g., 0x0 is middle, 0x1080 is top), scale
|
Git = {
|
||||||
"DP-1,highres@165,0x1080,auto"
|
user = "";
|
||||||
"DP-2,highres@highrr,0x0,auto"
|
email = "";
|
||||||
"HDMI-A-1, preferred, 20000x20000,1"
|
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
File diff suppressed because it is too large
Load Diff
@@ -1,117 +1,70 @@
|
|||||||
{
|
{
|
||||||
description = "Sakamoto's NixOS Configuration";
|
description = "A rewrite of the original Sakamoto NixOS config.";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/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";
|
|
||||||
|
|
||||||
ags.url = "github:aylur/ags";
|
home-manager = {
|
||||||
ags.inputs.nixpkgs.follows = "nixpkgs";
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
flake-utils = {
|
||||||
hyprland.inputs.nixpkgs.follows = "nixpkgs";
|
url = "github:numtide/flake-utils";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
unlisted-fonts.url = "git+https://git.sakamoto.dev/kenji/nix-fonts.git";
|
darwin = {
|
||||||
unlisted-fonts.inputs.nixpkgs.follows = "nixpkgs";
|
url = "github:lnl7/nix-darwin";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
nixovim.url = "git+https://git.sakamoto.dev/kenji/nixovim.git";
|
};
|
||||||
nixovim.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
matugen.url = "github:/InioX/Matugen";
|
|
||||||
matugen.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
|
||||||
nix-gaming.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
|
||||||
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
|
|
||||||
quickshell.url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
|
||||||
quickshell.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = {
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
flake-utils,
|
||||||
home-manager,
|
home-manager,
|
||||||
darwin,
|
darwin,
|
||||||
ags,
|
|
||||||
hyprland,
|
|
||||||
unlisted-fonts,
|
|
||||||
nixovim,
|
|
||||||
...
|
...
|
||||||
} @ inputs: let
|
} @ inputs:
|
||||||
config = import ./config.nix;
|
flake-utils.lib.eachDefaultSystem (
|
||||||
lib = nixpkgs.lib;
|
system: let
|
||||||
system = "x86_64-linux";
|
config = import ./config.nix;
|
||||||
# pkgs = nixpkgs.legacyPackages.${system}; # alternative, without overlays. Unused.
|
lib = nixpkgs.lib;
|
||||||
args =
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
{
|
args = {inherit inputs system;} // config;
|
||||||
inherit inputs system;
|
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;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../modules/terminal.nix
|
../modules/home/terminal.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
@@ -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";
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
}
|
|
||||||
@@ -5,13 +5,11 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/macosDev.nix
|
../../modules/default/darwin.nix
|
||||||
inputs.sops-nix.darwinModules.sops
|
|
||||||
];
|
];
|
||||||
# List packages installed in system profile. To search by name, run:
|
# List packages installed in system profile. To search by name, run:
|
||||||
# $ nix-env -qaP | grep wget
|
# $ nix-env -qaP | grep wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = [];
|
||||||
];
|
|
||||||
|
|
||||||
# Auto upgrade nix package and the daemon service.
|
# Auto upgrade nix package and the daemon service.
|
||||||
# services.nix-daemon.enable = true;
|
# services.nix-daemon.enable = true;
|
||||||
@@ -20,7 +18,7 @@
|
|||||||
|
|
||||||
# Necessary for using flakes on this system.
|
# 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.builds.builder.trustedUsers;
|
nix.settings.trusted-users = myConfig.optionals.Builds.trustedUsers;
|
||||||
|
|
||||||
# Create /etc/zshrc that loads the nix-darwin environment.
|
# 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
|
||||||
@@ -33,11 +31,11 @@
|
|||||||
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.general.Username} = {
|
users.users.${myConfig.esssentials.Username} = {
|
||||||
name = "${myConfig.general.Username}";
|
name = "${myConfig.essentials.Username}";
|
||||||
home = "/Users/${myConfig.general.Username}";
|
home = "/Users/${myConfig.essentials.Username}";
|
||||||
# shell = pkgs.${myConfig.general.terminal.Shell}; # no support for nix-darwin, but can be changed via chsh.
|
# 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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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) [
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
../system/stream.nix
|
|
||||||
../system/gaming.nix
|
|
||||||
../system/appimage.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -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
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
imports = [
|
|
||||||
../system/dev/tools.nix
|
|
||||||
../system/dev/python.nix
|
|
||||||
../system/dev/linux.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
imports = [
|
|
||||||
../system/dev/tools.nix
|
|
||||||
../system/dev/python.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -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
|
zoxide init fish | source
|
||||||
|
|
||||||
'';
|
'';
|
||||||
shellAliases = myConfig.general.terminal.Aliases;
|
shellAliases = myConfig.general.Terminal.aliases;
|
||||||
|
|
||||||
plugins = with pkgs.fishPlugins; [
|
plugins = with pkgs.fishPlugins; [
|
||||||
];
|
];
|
||||||
@@ -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}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
confirm_os_window_close = 0;
|
||||||
window_padding_width = 10;
|
window_padding_width = 10;
|
||||||
|
|
||||||
font_size = myConfig.general.terminal.Size;
|
font_size = myConfig.general.Terminal.size;
|
||||||
font_family = myConfig.general.terminal.Font;
|
font_family = myConfig.general.Terminal.font;
|
||||||
bold_font = "auto";
|
bold_font = "auto";
|
||||||
italic_font = "auto";
|
italic_font = "auto";
|
||||||
bold_italic_font = "auto";
|
bold_italic_font = "auto";
|
||||||
|
|
||||||
|
shell = myConfig.general.Terminal.shell;
|
||||||
|
|
||||||
# optimization
|
# optimization
|
||||||
input_delay = 0;
|
input_delay = 0;
|
||||||
repaint_delay = 2;
|
repaint_delay = 2;
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enableCompletion = false;
|
enableCompletion = false;
|
||||||
syntaxHighlighting.enable = false;
|
syntaxHighlighting.enable = false;
|
||||||
shellAliases = myConfig.general.terminal.Aliases;
|
shellAliases = myConfig.general.Terminal.aliases;
|
||||||
history.size = 10000;
|
history.size = 10000;
|
||||||
antidote = {
|
antidote = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -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 +0,0 @@
|
|||||||
abcd: hello-world
|
|
||||||
@@ -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"];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
boot.loader = {
|
|
||||||
systemd-boot = {
|
|
||||||
enable = false;
|
|
||||||
};
|
|
||||||
efi = {
|
|
||||||
canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
grub = {
|
|
||||||
enable = true;
|
|
||||||
device = "nodev";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
busybox
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
python3Full
|
|
||||||
python3Packages.build
|
|
||||||
python3Packages.pip
|
|
||||||
python3Packages.installer
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
git
|
|
||||||
p7zip
|
|
||||||
tldr
|
|
||||||
jq
|
|
||||||
btop
|
|
||||||
rar
|
|
||||||
|
|
||||||
cloudflared
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
hardware.graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true; # Crucial for 32-bit games
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{myConfig, ...}: {
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
time.timeZone = "${myConfig.general.Timezone}";
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{myConfig, ...}: {
|
|
||||||
networking.hostName = "${myConfig.general.Hostname}";
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
services = {
|
|
||||||
openssh.enable = true;
|
|
||||||
libinput.enable = true;
|
|
||||||
blueman.enable = true;
|
|
||||||
printing.enable = true;
|
|
||||||
# sensors.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
sunshine
|
|
||||||
];
|
|
||||||
services.sunshine = {
|
|
||||||
enable = true;
|
|
||||||
autoStart = true;
|
|
||||||
capSysAdmin = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
console = {
|
|
||||||
font = "Lat2-Terminus16";
|
|
||||||
useXkbConfig = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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 = [
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user