41 Commits

Author SHA1 Message Date
kenji ee5165b068 added gitea 2025-07-08 22:05:36 -05:00
kenji 76138fc342 add cloudflared 2025-07-08 22:05:33 -05:00
kenji 2f1b33d070 added cloudflared 2025-07-08 22:05:30 -05:00
kenji bde12c7a04 added hyprland flake 2025-07-08 22:02:02 -05:00
kenji 658d489fd5 hyprland now uses 2025-07-08 22:01:56 -05:00
kenji 95f95e208d removed quickshell 2025-07-08 22:01:49 -05:00
kenji b5eb134f69 fixed home-manager not responding 2025-07-08 22:01:43 -05:00
kenji 6264269817 test 2025-07-08 10:11:12 -05:00
kenji 8151c56cc4 added wsaction 2025-07-08 09:56:59 -05:00
kenji 3a75206afb total revamp!! 2025-07-07 21:01:19 -05:00
kenji b5a542a37c added quickshell 2025-07-07 20:01:00 -05:00
kenji bd2465d356 test 2025-07-07 18:20:12 -05:00
kenji e5bc8801a4 test 2025-07-07 16:39:34 -05:00
kenji c97a5887df test 2025-07-07 16:25:40 -05:00
kenji ec55ac55b2 mionr fix 2025-07-07 14:42:02 -05:00
kenji 65f04a69ae test 2025-07-07 14:27:33 -05:00
kenji ad40c37d1e tret 2025-07-07 13:47:08 -05:00
lsoriano-mcm 4f3fe9be8b t\P 2025-07-05 16:12:54 -05:00
lsoriano-mcm 6f3c0e8f6c a 2025-07-05 14:07:54 -05:00
lsoriano-mcm 481fb8c6c4 re 2025-07-05 14:06:08 -05:00
lsoriano-mcm 94f5d8ba01 resadm 2025-07-05 14:05:02 -05:00
lsoriano-mcm ea18baa039 fixed formatting 2025-07-05 13:57:47 -05:00
lsoriano-mcm 1653fe3eb2 readme 2025-07-05 13:56:33 -05:00
lsoriano-mcm 162321eb28 updated lock 2025-07-05 11:28:35 -05:00
lsoriano-mcm d947870a55 added bashls for nixovim 2025-07-05 11:01:06 -05:00
lsoriano-mcm 6550d6e871 test 2025-07-05 09:22:12 -05:00
lsoriano-mcm 352f2d923b added custom apps 2025-07-04 22:52:23 -05:00
lsoriano-mcm e10deb6ae5 added fonts 2025-07-04 22:28:59 -05:00
lsoriano-mcm 90123ac18d added fonts 2025-07-04 22:25:44 -05:00
lsoriano-mcm 1bd3096d53 fix 2025-07-04 22:06:30 -05:00
lsoriano-mcm ca68b1de73 added HAKASE hostname 2025-07-04 21:46:22 -05:00
lsoriano-mcm f8386beb6c added zoxide 2025-07-04 14:39:20 -05:00
lsoriano-mcm b9f125e76a added eza 2025-07-04 11:41:59 -05:00
lsoriano-mcm 3717ecc642 added btop 2025-07-04 11:36:04 -05:00
lsoriano-mcm 377cd79704 unknown 2025-07-04 11:32:08 -05:00
lsoriano-mcm fea33ada52 fl 2025-07-03 21:13:33 -05:00
lsoriano-mcm a4cf2833bc added python package 2025-07-03 20:50:31 -05:00
lsoriano-mcm 8491971427 FIX: darwin version now works! 2025-07-03 20:45:15 -05:00
lsoriano-mcm b4f4b67a8b test 2025-07-03 16:49:45 -05:00
lsoriano-mcm f59110c87e renamed to home.nix 2025-07-03 16:34:49 -05:00
lsoriano-mcm 3dd4f2783e test 2025-07-03 15:30:58 -05:00
88 changed files with 1221 additions and 1780 deletions
+33 -45
View File
@@ -1,58 +1,46 @@
# Sakamoto NixOS # Nix Sakamoto
A rewrite of the original Sakamoto NixOS configuration.
Sakamoto NixOS is built with various profiles intended for reproducibility.
## Available Hosts
- MacBook M series
- Linux
## Installation ## Installation
Installing Sakamoto Nix configuration may vary on your current operating system.
1. Install [Nix](https://nixos.org/download/). | Hosts | Description |
|----------|--------------|
| hakase | gaming desktop (linux) |
| sakamoto | \[unavailable] server that uses containers (linux) |
| nano | \[unavailable] windows configuration |
| macos | macos configuration |
2. Ensure Nix is installed properly by running the following (this also gives you `nano` for editing later): **Note: Replace `${Hosts}` with one of the options from the table above.**
### Linux Installation
1. Install [Nix](https://nixos.org).
2. Clone this directory.
```sh ```sh
nix-shell -p nano $ git clone https://git.sakamoto.dev/kenji/nixos.git ~/.config/nixos
``` ```
3. Create a hardware-configuration.conf
3. Clone the git repository:
```sh ```sh
git clone https://git.sakamoto.dev/kenji/nixos.git ~/.config/nixos && cd ~/.config/nixos/ $ sudo nixos-generate-config --dir ~/.config/nixos/hosts/${Hosts}/
``` ```
4. ⚠️ Modify `config.nix` that suits your configuration. **Be sure to edit `config.nix`! Most especially `myConfig.essentials.Username`. Otherwise, your OS could break!!!**
4. Copy `info.default.nix` and rename it to `info.local.nix`: 5. Rebuild.
```sh ```sh
cp ~/.config/nixos/info.default.nix ~/.config/nixos/info.local.nix $ sudo nixos-rebuild switch --flake ~/.config/nixos/hosts/#${Hosts}
``` ```
6. Install unstable channel (fixes `pkgs.fish` misconfiguration).
🚨 **CRITICAL STEP:** Edit `info.local.nix`:
```sh ```sh
nano ~/.config/nixos/info.local.nix $ nix-channel --add https://nixos.org/channels/nixos-unstable nixos nix-channel --update
```
### MacOS (Darwin) Installation
1. Install [Nix](https://nixos.org).
2. Clone this directory.
```sh
$ git clone https://git.sakamoto.dev/kenji/nixos.git ~/.config/nixos
```
3. ⚠️ Modify `config.nix` that suits your configuration. **Be sure to edit `config.nix`! Most especially `myConfig.essentials.Username`. Otherwise, configuration would not work!!!**
4. Rebuild.
```sh
$ sudo nix run nix-darwin --extra-experimental-features "nix-command flakes" -- switch --flake ~/.config/nixos#macos
``` ```
Modify it to fit your system — especially your **username**.
If you accidentally leave the default `biscuit`, that user will be created.
**Login password for `biscuit` is `<PLACEHOLDER>`.**
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

+69 -74
View File
@@ -1,81 +1,76 @@
{ {
hostname = "hakase"; myConfig = {
username = "kenji"; essentials = {
timezone = "America/Chicago"; # !!! replace it with your own, else system might malfunction.
Username = "kenji";
};
general = {
Terminal = {
font = "JetBrainsMono Nerd Font";
size = "18";
shell = "fish"; # or zsh
aliases = {
};
};
allowUnfree = true;
};
vpn = { nixos = {
vpnEnable = false; Hostname = "hakase";
vpnSecretFile = "/home/kenji/Wireguard/secret"; Timezone = "America/Chicago";
};
gitProfile = { Boot = {
user = "biscuit"; mode = "systemd"; # systemd or grub
email = "biscuit@sakamoto.dev"; };
defaultBranch = "master"; Gaming = {
}; enable = true;
};
Apps = {
packages = pkgs:
with pkgs; [
jellyfin-media-player
];
};
Hyprland = {
monitors = [
"DP-1, highres@165,0x1080,auto"
"DP-2, highres@highrr, 0x0,auto"
"HDMI-A-1, preferred, 20000x20000,1"
];
};
Git = {
user = "";
email = "";
defaultBranch = "master";
};
};
optionals = {
Builds = {
trustedUsers = [
"@groups"
];
buildMachines = [
{
hostName = "";
sshUser = "";
sshKey = "";
system = "";
supportedFeatures = ["big-parallel" "kvm" "nixos-test"];
}
];
};
Ssh = {
extraConfig = ''
Host macair
User biscuit
HostName 192.168.68.81
terminal = { Host gitea.sakamoto.dev
termFont = "JetBrainsMono Nerd Font"; # e.g., JetBrainsMono Nerd Font User kenji
termSize = "18"; ProxyCommand cloudflared access ssh --hostname %h
termShell = "fish"; HostName gitea.sakamoto.dev
shellAliases = { '';
ls = "ls --color=auto"; };
update = ''
sh -c '
if [ "$(uname)" = "Darwin" ]; then
sudo darwin-rebuild switch --flake ~/.config/nixos#macos
else
sudo nixos-rebuild switch --flake ~/.config/nixos#desktop --impure && home-manager switch --flake ~/.config/nixos#desktop --impure
fi
'
'';
agu = "pkill gjs & ags run ~/.config/nixos/pkgs/ags/biscuit/app.ts & disown (jobs -p) &";
}; };
}; };
allowUnfree = true; # allows installation of commercial apps.
touchpadSupport = false;
logitech-hardware = {
enable = true;
};
# Custom Applications
linux-apps = {
gamingDesktop = true; # adds steam
my-apps = pkgs:
with pkgs; [
jellyfin-media-player
];
};
hyprconf = {
monitor = [
"DP-1,highres@165,0x1080,auto"
"HDMI-A-4,highres@highrr,0x0,auto"
];
};
sshExtraConfig = ''
Host macair
User biscuit
HostName 192.168.68.81
'';
# BUILD (optional), you can remove these blocks.
builder = {
trustedUsers = [
"@groups"
"biscuit"
];
buildMachines = [
{
hostName = "192.168.68.81";
sshUser = "biscuit";
sshKey = "/home/biscuit/.ssh/id_rsa.pub";
system = "x86_64-linux";
supportedFeatures = ["big-parallel" "kvm" "nixos-test"];
}
];
};
} }
Generated
+336 -308
View File
@@ -1,37 +1,30 @@
{ {
"nodes": { "nodes": {
"ags": {
"inputs": {
"astal": "astal",
"nixpkgs": ["nixpkgs"]
},
"locked": {
"lastModified": 1744557573,
"narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=",
"owner": "aylur",
"repo": "ags",
"rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6",
"type": "github"
},
"original": {
"owner": "aylur",
"repo": "ags",
"type": "github"
}
},
"aquamarine": { "aquamarine": {
"inputs": { "inputs": {
"hyprutils": ["hyprland", "hyprutils"], "hyprutils": [
"hyprwayland-scanner": ["hyprland", "hyprwayland-scanner"], "hyprland",
"nixpkgs": ["hyprland", "nixpkgs"], "hyprutils"
"systems": ["hyprland", "systems"] ],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1747864449, "lastModified": 1751740947,
"narHash": "sha256-PIjVAWghZhr3L0EFM2UObhX84UQxIACbON0IC0zzSKA=", "narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "389372c5f4dc1ac0e7645ed29a35fd6d71672ef5", "rev": "dfc1db15a08c4cd234288f66e1199c653495301f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -40,34 +33,18 @@
"type": "github" "type": "github"
} }
}, },
"astal": {
"inputs": {
"nixpkgs": ["ags", "nixpkgs"]
},
"locked": {
"lastModified": 1742571008,
"narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=",
"owner": "aylur",
"repo": "astal",
"rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e",
"type": "github"
},
"original": {
"owner": "aylur",
"repo": "astal",
"type": "github"
}
},
"darwin": { "darwin": {
"inputs": { "inputs": {
"nixpkgs": ["nixpkgs"] "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1749194393, "lastModified": 1751313918,
"narHash": "sha256-vt6hM9DNywnXXuW1qPDLzECmbDcmxhh58wpb0EEQjAo=", "narHash": "sha256-HsJM3XLa43WpG+665aGEh8iS8AfEwOIQWk3Mke3e7nk=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "19346808c445f23b08652971be198b9df6c33edc", "rev": "e04a388232d9a6ba56967ce5b53a8a6f713cdfcf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -78,7 +55,11 @@
}, },
"devshell": { "devshell": {
"inputs": { "inputs": {
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"] "nixpkgs": [
"nixovim",
"nixvim",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1735644329, "lastModified": 1735644329,
@@ -144,7 +125,11 @@
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": { "inputs": {
"nixpkgs-lib": ["nix-neovim", "nixvim", "nixpkgs"] "nixpkgs-lib": [
"nixovim",
"nixvim",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1738453229, "lastModified": 1738453229,
@@ -162,14 +147,17 @@
}, },
"flake-parts_3": { "flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": ["nixvim", "nixpkgs"] "nixpkgs-lib": [
"nur",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1743550720, "lastModified": 1733312601,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5", "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -180,7 +168,7 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1731533236, "lastModified": 1731533236,
@@ -214,47 +202,19 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_3": {
"inputs": {
"systems": "systems_5"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_7"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"git-hooks": { "git-hooks": {
"inputs": { "inputs": {
"flake-compat": ["nix-neovim", "nixvim", "flake-compat"], "flake-compat": [
"nixovim",
"nixvim",
"flake-compat"
],
"gitignore": "gitignore_2", "gitignore": "gitignore_2",
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"] "nixpkgs": [
"nixovim",
"nixvim",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1737465171, "lastModified": 1737465171,
@@ -272,7 +232,11 @@
}, },
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": ["hyprland", "pre-commit-hooks", "nixpkgs"] "nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1709087332, "lastModified": 1709087332,
@@ -290,7 +254,12 @@
}, },
"gitignore_2": { "gitignore_2": {
"inputs": { "inputs": {
"nixpkgs": ["nix-neovim", "nixvim", "git-hooks", "nixpkgs"] "nixpkgs": [
"nixovim",
"nixvim",
"git-hooks",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1709087332, "lastModified": 1709087332,
@@ -308,14 +277,16 @@
}, },
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": ["nixpkgs"] "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1748979197, "lastModified": 1751578154,
"narHash": "sha256-mKYwYcO9RmA2AcAFIXGDBOw5iv/fbjw6adWvMbnfIuk=", "narHash": "sha256-7zfDzmaidDESMZpdmzK/+APeKN432CJuphHHETX88Ls=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "34a13086148cbb3ae65a79f753eb451ce5cac3d3", "rev": "7044c3eced5319148c09fe9612659765b9297d4a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -326,7 +297,11 @@
}, },
"home-manager_2": { "home-manager_2": {
"inputs": { "inputs": {
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"] "nixpkgs": [
"nixovim",
"nixvim",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1738878603, "lastModified": 1738878603,
@@ -344,16 +319,25 @@
}, },
"hyprcursor": { "hyprcursor": {
"inputs": { "inputs": {
"hyprlang": ["hyprland", "hyprlang"], "hyprlang": [
"nixpkgs": ["hyprland", "nixpkgs"], "hyprland",
"systems": ["hyprland", "systems"] "hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1745948457, "lastModified": 1749155331,
"narHash": "sha256-lzTV10FJTCGNtMdgW5YAhCAqezeAzKOd/97HbQK8GTU=", "narHash": "sha256-XR9fsI0zwLiFWfqi/pdS/VD+YNorKb3XIykgTg4l1nA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "ac903e80b33ba6a88df83d02232483d99f327573", "rev": "45fcc10b4c282746d93ec406a740c43b48b4ef80",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -364,16 +348,25 @@
}, },
"hyprgraphics": { "hyprgraphics": {
"inputs": { "inputs": {
"hyprutils": ["hyprland", "hyprutils"], "hyprutils": [
"nixpkgs": ["hyprland", "nixpkgs"], "hyprland",
"systems": ["hyprland", "systems"] "hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1745015490, "lastModified": 1751808145,
"narHash": "sha256-apEJ9zoSzmslhJ2vOKFcXTMZLUFYzh1ghfB6Rbw3Low=", "narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "60754910946b4e2dc1377b967b7156cb989c5873", "rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -392,17 +385,19 @@
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": ["nixpkgs"], "nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"systems": "systems", "systems": "systems_2",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1749049255, "lastModified": 1751995875,
"narHash": "sha256-QXg2B/bF/f9IeSiZwJuhdnz2xcnpu/hDfz4eIHWVhz8=", "narHash": "sha256-ud9sl1RjmzAzalH2ocmGPs182xvr7GktjVIYvzJamwo=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "d7a87ce6e2535f1029fc93b062d2828e8549c525", "rev": "9517d0eaa4ef93de67dc80fecca7a826f7ad556d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -413,15 +408,21 @@
}, },
"hyprland-protocols": { "hyprland-protocols": {
"inputs": { "inputs": {
"nixpkgs": ["hyprland", "nixpkgs"], "nixpkgs": [
"systems": ["hyprland", "systems"] "hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1743714874, "lastModified": 1749046714,
"narHash": "sha256-yt8F7NhMFCFHUHy/lNjH/pjZyIDFNk52Q4tivQ31WFo=", "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "3a5c2bda1c1a4e55cc1330c782547695a93f05b2", "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -432,16 +433,28 @@
}, },
"hyprland-qt-support": { "hyprland-qt-support": {
"inputs": { "inputs": {
"hyprlang": ["hyprland", "hyprland-qtutils", "hyprlang"], "hyprlang": [
"nixpkgs": ["hyprland", "hyprland-qtutils", "nixpkgs"], "hyprland",
"systems": ["hyprland", "hyprland-qtutils", "systems"] "hyprland-qtutils",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"hyprland-qtutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-qtutils",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1737634706, "lastModified": 1749154592,
"narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-qt-support", "repo": "hyprland-qt-support",
"rev": "8810df502cdee755993cb803eba7b23f189db795", "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -453,17 +466,31 @@
"hyprland-qtutils": { "hyprland-qtutils": {
"inputs": { "inputs": {
"hyprland-qt-support": "hyprland-qt-support", "hyprland-qt-support": "hyprland-qt-support",
"hyprlang": ["hyprland", "hyprlang"], "hyprlang": [
"hyprutils": ["hyprland", "hyprland-qtutils", "hyprlang", "hyprutils"], "hyprland",
"nixpkgs": ["hyprland", "nixpkgs"], "hyprlang"
"systems": ["hyprland", "systems"] ],
"hyprutils": [
"hyprland",
"hyprland-qtutils",
"hyprlang",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1745951494, "lastModified": 1750371812,
"narHash": "sha256-2dModE32doiyQMmd6EDAQeZnz+5LOs6KXyE0qX76WIg=", "narHash": "sha256-D868K1dVEACw17elVxRgXC6hOxY+54wIEjURztDWLk8=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-qtutils", "repo": "hyprland-qtutils",
"rev": "4be1d324faf8d6e82c2be9f8510d299984dfdd2e", "rev": "b13c7481e37856f322177010bdf75fccacd1adc8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -474,16 +501,25 @@
}, },
"hyprlang": { "hyprlang": {
"inputs": { "inputs": {
"hyprutils": ["hyprland", "hyprutils"], "hyprutils": [
"nixpkgs": ["hyprland", "nixpkgs"], "hyprland",
"systems": ["hyprland", "systems"] "hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1747484975, "lastModified": 1750371198,
"narHash": "sha256-+LAQ81HBwG0lwshHlWe0kfWg4KcChIPpnwtnwqmnoEU=", "narHash": "sha256-/iuJ1paQOBoSLqHflRNNGyroqfF/yvPNurxzcCT0cAE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "163c83b3db48a17c113729c220a60b94596c9291", "rev": "cee01452bca58d6cadb3224e21e370de8bc20f0b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -494,15 +530,21 @@
}, },
"hyprutils": { "hyprutils": {
"inputs": { "inputs": {
"nixpkgs": ["hyprland", "nixpkgs"], "nixpkgs": [
"systems": ["hyprland", "systems"] "hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1746635225, "lastModified": 1751888065,
"narHash": "sha256-W9G9bb0zRYDBRseHbVez0J8qVpD5QbizX67H/vsudhM=", "narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "674ea57373f08b7609ce93baff131117a0dfe70d", "rev": "a8229739cf36d159001cfc203871917b83fdf917",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -513,15 +555,21 @@
}, },
"hyprwayland-scanner": { "hyprwayland-scanner": {
"inputs": { "inputs": {
"nixpkgs": ["hyprland", "nixpkgs"], "nixpkgs": [
"systems": ["hyprland", "systems"] "hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1747584298, "lastModified": 1751881472,
"narHash": "sha256-PH9qZqWLHvSBQiUnA0NzAyQA3tu2no2z8kz0ZeHWj4w=", "narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "e511882b9c2e1d7a75d45d8fddd2160daeafcbc3", "rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -533,12 +581,17 @@
"ixx": { "ixx": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
"nix-neovim", "nixovim",
"nixvim", "nixvim",
"nuschtosSearch", "nuschtosSearch",
"flake-utils" "flake-utils"
], ],
"nixpkgs": ["nix-neovim", "nixvim", "nuschtosSearch", "nixpkgs"] "nixpkgs": [
"nixovim",
"nixvim",
"nuschtosSearch",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1729958008, "lastModified": 1729958008,
@@ -555,29 +608,11 @@
"type": "github" "type": "github"
} }
}, },
"ixx_2": {
"inputs": {
"flake-utils": ["nixvim", "nuschtosSearch", "flake-utils"],
"nixpkgs": ["nixvim", "nuschtosSearch", "nixpkgs"]
},
"locked": {
"lastModified": 1748294338,
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.0.8",
"repo": "ixx",
"type": "github"
}
},
"matugen": { "matugen": {
"inputs": { "inputs": {
"nixpkgs": ["nixpkgs"], "nixpkgs": [
"nixpkgs"
],
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
@@ -596,7 +631,11 @@
}, },
"nix-darwin": { "nix-darwin": {
"inputs": { "inputs": {
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"] "nixpkgs": [
"nixovim",
"nixvim",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1738743987, "lastModified": 1738743987,
@@ -612,25 +651,27 @@
"type": "github" "type": "github"
} }
}, },
"nix-neovim": { "nixovim": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nixpkgs": ["nixpkgs"], "nixpkgs": [
"nixpkgs"
],
"nixvim": "nixvim", "nixvim": "nixvim",
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1749068064, "lastModified": 1751734292,
"narHash": "sha256-pxszYA1LsrW89Z++jMshDqRpNx99QcvfpFIK5mdmneA=", "narHash": "sha256-AeW333kvHQPHyhF1MH4ogtAuQmReNeCOJmOcvD2IHcM=",
"ref": "refs/heads/master", "ref": "refs/heads/master",
"rev": "be2e51f4ddec2389d282280871ca484f3f1f0892", "rev": "13cd454fb30d75a204ed245ec094210635cc22a6",
"revCount": 60, "revCount": 67,
"type": "git", "type": "git",
"url": "https://git.sakamoto.dev/kenji/nix-neovim.git" "url": "https://git.sakamoto.dev/kenji/nixovim.git"
}, },
"original": { "original": {
"type": "git", "type": "git",
"url": "https://git.sakamoto.dev/kenji/nix-neovim.git" "url": "https://git.sakamoto.dev/kenji/nixovim.git"
} }
}, },
"nixpkgs": { "nixpkgs": {
@@ -679,15 +720,15 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1748693115, "lastModified": 1751271578,
"narHash": "sha256-StSrWhklmDuXT93yc3GrTlb0cKSS0agTAxMGjLKAsY8=", "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "910796cabe436259a29a72e8d3f5e180fc6dfacc", "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
@@ -719,24 +760,25 @@
"type": "github" "type": "github"
} }
}, },
"nixvim_2": { "nur": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_3",
"nixpkgs": ["nixpkgs"], "nixpkgs": [
"nuschtosSearch": "nuschtosSearch_2", "nixpkgs"
"systems": "systems_6" ],
"treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1748942960, "lastModified": 1751596056,
"narHash": "sha256-gJf3WxvDbvCpzIBVju/5GY/olW7zs/B1zDmB52AWMUM=", "narHash": "sha256-YYSPbbr900ciunCWYPIvUbSnnchcMWH907w4LY7uyZs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "NUR",
"rev": "9328f4437d5f788d1c066b274a0aea492dc5fde2", "rev": "8062772f4de4a7ce091bfdb88322e236cffcff30",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "NUR",
"type": "github" "type": "github"
} }
}, },
@@ -744,7 +786,11 @@
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"ixx": "ixx", "ixx": "ixx",
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"] "nixpkgs": [
"nixovim",
"nixvim",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1738508923, "lastModified": 1738508923,
@@ -760,38 +806,21 @@
"type": "github" "type": "github"
} }
}, },
"nuschtosSearch_2": {
"inputs": {
"flake-utils": "flake-utils_3",
"ixx": "ixx_2",
"nixpkgs": ["nixvim", "nixpkgs"]
},
"locked": {
"lastModified": 1748298102,
"narHash": "sha256-PP11GVwUt7F4ZZi5A5+99isuq39C59CKc5u5yVisU/U=",
"owner": "NuschtOS",
"repo": "search",
"rev": "f8a1c221afb8b4c642ed11ac5ee6746b0fe1d32f",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"repo": "search",
"type": "github"
}
},
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"gitignore": "gitignore", "gitignore": "gitignore",
"nixpkgs": ["hyprland", "nixpkgs"] "nixpkgs": [
"hyprland",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1747372754, "lastModified": 1750779888,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -800,17 +829,37 @@
"type": "github" "type": "github"
} }
}, },
"quickshell": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1751880110,
"narHash": "sha256-5fQ2cetL3rTHqXe2VM3puawL/8u5j6ujBr6Gdt7Iues=",
"ref": "refs/heads/master",
"rev": "5d7e07508ae3e5487edb1ac5a152120434f091d5",
"revCount": 607,
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
},
"original": {
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}
},
"root": { "root": {
"inputs": { "inputs": {
"ags": "ags",
"darwin": "darwin", "darwin": "darwin",
"flake-utils": "flake-utils",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"matugen": "matugen", "matugen": "matugen",
"nix-neovim": "nix-neovim", "nixovim": "nixovim",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nixvim": "nixvim_2", "nur": "nur",
"unlisted-fonts": "unlisted-fonts" "quickshell": "quickshell"
} }
}, },
"rust-overlay": { "rust-overlay": {
@@ -832,21 +881,6 @@
} }
}, },
"systems": { "systems": {
"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_2": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -861,6 +895,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_2": {
"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_3": { "systems_3": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1689347949,
@@ -891,54 +940,13 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_7": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": ["nix-neovim", "nixvim", "nixpkgs"] "nixpkgs": [
"nixovim",
"nixvim",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1738680491, "lastModified": 1738680491,
@@ -954,40 +962,60 @@
"type": "github" "type": "github"
} }
}, },
"unlisted-fonts": { "treefmt-nix_2": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_4", "nixpkgs": [
"nixpkgs": ["nixpkgs"] "nur",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1748987994, "lastModified": 1733222881,
"narHash": "sha256-13QQRwZx9tRDmL79+XBM1YaC4W68mVrVW2NCv2w25WA=", "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"ref": "refs/heads/master", "owner": "numtide",
"rev": "468d51f24d3dd22c543e657c359fb333ff4df726", "repo": "treefmt-nix",
"revCount": 1, "rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "git", "type": "github"
"url": "https://git.sakamoto.dev/kenji/nix-fonts.git"
}, },
"original": { "original": {
"type": "git", "owner": "numtide",
"url": "https://git.sakamoto.dev/kenji/nix-fonts.git" "repo": "treefmt-nix",
"type": "github"
} }
}, },
"xdph": { "xdph": {
"inputs": { "inputs": {
"hyprland-protocols": ["hyprland", "hyprland-protocols"], "hyprland-protocols": [
"hyprlang": ["hyprland", "hyprlang"], "hyprland",
"hyprutils": ["hyprland", "hyprutils"], "hyprland-protocols"
"hyprwayland-scanner": ["hyprland", "hyprwayland-scanner"], ],
"nixpkgs": ["hyprland", "nixpkgs"], "hyprlang": [
"systems": ["hyprland", "systems"] "hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
}, },
"locked": { "locked": {
"lastModified": 1745871725, "lastModified": 1751300244,
"narHash": "sha256-M24SNc2flblWGXFkGQfqSlEOzAGZnMc9QG3GH4K/KbE=", "narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "76bbf1a6b1378e4ab5230bad00ad04bc287c969e", "rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a",
"type": "github" "type": "github"
}, },
"original": { "original": {
+69 -64
View File
@@ -1,97 +1,102 @@
{ {
description = "A very basic flake"; 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"; flake-utils.url = "github:numtide/flake-utils";
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"; nur = {
ags.inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
hyprland.inputs.nixpkgs.follows = "nixpkgs"; hyprland.inputs.nixpkgs.follows = "nixpkgs";
unlisted-fonts.url = "git+https://git.sakamoto.dev/kenji/nix-fonts.git"; home-manager = {
unlisted-fonts.inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim.url = "github:nix-community/nixvim"; darwin = {
nixvim.inputs.nixpkgs.follows = "nixpkgs"; url = "github:lnl7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-neovim.url = "git+https://git.sakamoto.dev/kenji/nix-neovim.git"; nixovim = {
nix-neovim.inputs.nixpkgs.follows = "nixpkgs"; url = "git+https://git.sakamoto.dev/kenji/nixovim.git";
inputs.nixpkgs.follows = "nixpkgs";
};
# kitty-catppuccin.url = "git+https://git.sakamoto.dev/kenji/nix-kitty-catppuccin.git"; matugen = {
# kitty-catppuccin.inputs.nixpkgs.follows = "nixpkgs"; url = "github:/InioX/Matugen";
inputs.nixpkgs.follows = "nixpkgs";
};
matugen.url = "github:/InioX/Matugen"; quickshell = {
matugen.inputs.nixpkgs.follows = "nixpkgs"; url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = { outputs = {
self, self,
nixpkgs, nixpkgs,
flake-utils,
home-manager, home-manager,
darwin, darwin,
ags,
hyprland,
unlisted-fonts,
nix-neovim,
... ...
} @ inputs: let } @ inputs: let
config = import ./config.nix; config = import ./config.nix;
lib = nixpkgs.lib;
system = "x86_64-linux"; mkArgs = system:
# pkgs = nixpkgs.legacyPackages.${system}; # alternative, without overlays. Unused.
args =
{ {
inherit inputs system; inherit inputs system;
} }
// config; // config;
in {
# linux only systems = ["x86_64-linux" "aarch64-linux"];
nixosConfigurations = { in
desktop = lib.nixosSystem { flake-utils.lib.eachSystem systems (system: let
pkgs = import nixpkgs {
inherit system; inherit system;
specialArgs = args; config.allowUnfree = true;
modules = [
./nixos/desktop/configuration.nix
];
}; };
}; args = mkArgs system;
homeConfigurations = { in {
desktop = home-manager.lib.homeManagerConfiguration { })
pkgs = import nixpkgs { // {
inherit system; nixosConfigurations = {
overlays = [ hakase = nixpkgs.lib.nixosSystem {
# (final: prev: { system = "x86_64-linux";
# ags_1 = prev.ags_1.overrideAttrs (old: { specialArgs = mkArgs "x86_64-linux";
# buildInputs = old.buildInputs ++ [pkgs.libdbusmenu-gtk3]; 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
]; ];
}; };
extraSpecialArgs = args;
modules = [./home/desktop/home.nix];
}; };
}; };
# exclusive to macos M series
darwinConfigurations = {
macos = darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs = args;
modules = [
./nixos/macos/darwin.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = args;
}
];
};
};
};
} }
+2 -2
View File
@@ -5,11 +5,11 @@
... ...
}: { }: {
imports = [ imports = [
../../modules/editor.nix ../modules/home/terminal.nix
]; ];
programs.home-manager.enable = true; programs.home-manager.enable = true;
home.packages = []; home.packages = [];
home.stateVersion = "23.05"; home.stateVersion = "25.11";
} }
-20
View File
@@ -1,20 +0,0 @@
{username, ...}: {
imports = [
../../modules/editor.nix
../../modules/desktop/display-manager.nix
../../modules/desktop/misc.nix
../../modules/desktop/app.nix
];
programs.home-manager.enable = true;
home = {
username = "${username}";
homeDirectory = "/home/${username}";
packages = [];
sessionVariables = {};
};
systemd.user.startServices = "sd-switch";
home.stateVersion = "23.05";
}
+10
View File
@@ -0,0 +1,10 @@
{pkgs, ...}: let
info = import ../config.nix;
in {
imports = [
../modules/home/desktop.nix
../modules/home/terminal.nix
];
home.packages = info.myConfig.nixos.Apps.packages pkgs;
home.stateVersion = "25.05";
}
+139
View File
@@ -0,0 +1,139 @@
{
pkgs,
myConfig,
inputs,
lib,
specialArgs,
...
}: {
imports = [
inputs.home-manager.nixosModules.home-manager
./hardware-configuration.nix
../../modules/default/desktop.nix
];
environment.systemPackages = with pkgs; [
pavucontrol
wl-clipboard
];
users = {
defaultUserShell = pkgs.${myConfig.general.Terminal.shell};
users = {
${myConfig.essentials.Username} = {
isNormalUser = true;
extraGroups = ["wheel" "networkmanager" "input" "video"];
initialHashedPassword = "$y$j9T$NHFtSwF4NJtEmgMjy4Xdg.$9WQltjEx3eEfZ7GbpGLW8lBhJtiXPOeIawrxdmx0.vB";
useDefaultShell = true;
packages = [];
};
};
};
home-manager = {
backupFileExtension = "backup";
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = specialArgs;
users.${myConfig.essentials.Username} = import ../../home/hakase.nix;
};
nixpkgs.config.allowUnfree = myConfig.general.allowUnfree;
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.gdm.enable = true;
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 = {
distributedBuilds = true;
settings = {
builders-use-substitutes = true;
trusted-users = myConfig.optionals.Builds.trustedUsers;
experimental-features = ["nix-command" "flakes"];
};
};
console = {
earlySetup = true;
font = "${pkgs.terminus_font}/share/consolefonts/ter-132n.psf.gz";
packages = with pkgs; [terminus_font];
useXkbConfig = true;
};
networking = {
networkmanager.enable = true;
firewall = {
enable = false;
allowedTCPPorts = [22 80];
allowedUDPPorts = [53];
};
proxy.default = null;
proxy.noProxy = null;
};
# 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";
system.stateVersion = "25.05";
}
@@ -14,24 +14,24 @@
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/3f2c4a5a-3124-462a-9fb9-cccc933bac63"; { device = "/dev/disk/by-uuid/532ac73e-1370-4e4d-9d5a-15033de0b96d";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@" ]; options = [ "subvol=@" ];
}; };
fileSystems."/boot" = fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/18F8-7DC1"; { device = "/dev/disk/by-uuid/1368-D3F3";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ]; options = [ "fmask=0077" "dmask=0077" ];
}; };
fileSystems."/mnt/CRUCIAL" = fileSystems."/home" =
{ device = "/dev/disk/by-uuid/394f67b9-e75b-40cc-9b15-28bbda40fff4"; { device = "/dev/disk/by-uuid/780aa81f-c4d6-478b-9c51-2d60362fdb07";
fsType = "ext4"; fsType = "ext4";
}; };
swapDevices = swapDevices =
[ { device = "/dev/disk/by-uuid/bbe1e281-4b1d-4d85-ba6a-6f5265f0e3a3"; } [ { device = "/dev/disk/by-uuid/b02ef55c-4caf-4a24-a6a2-fb8001eafe22"; }
]; ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
@@ -39,7 +39,6 @@
# still possible to use this option, but it's recommended to use it in conjunction # 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`. # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
# networking.interfaces.biscuit-default.useDHCP = lib.mkDefault true;
# networking.interfaces.enp11s0.useDHCP = lib.mkDefault true; # networking.interfaces.enp11s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp10s0.useDHCP = lib.mkDefault true; # networking.interfaces.wlp10s0.useDHCP = lib.mkDefault true;
+47
View File
@@ -0,0 +1,47 @@
{
pkgs,
myConfig,
inputs,
system,
mkArgs,
...
}: {
imports = [
../../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 = [];
# 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.trusted-users = myConfig.optionals.Builds.trustedUsers;
# Create /etc/zshrc that loads the nix-darwin environment.
programs.zsh.enable = true; # default shell on catalina
programs.fish.enable = true;
# $ darwin-rebuild changelog
system.stateVersion = 5;
# The platform the configuration will be used on.
nixpkgs.hostPlatform = "aarch64-darwin";
security.pam.services.sudo_local.touchIdAuth = true;
users.users.${myConfig.essentials.Username} = {
name = "${myConfig.essentials.Username}";
home = "/Users/${myConfig.essentials.Username}";
# shell = pkgs.${myConfig.general.terminal.Shell}; # no support for nix-darwin, but can be changed via chsh.
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = mkArgs system;
home-manager.users.${myConfig.essentials.Username} = import ../../home/darwin.nix;
}
-13
View File
@@ -1,13 +0,0 @@
{
linux-apps,
lib,
...
}: {
imports =
[
]
++ lib.optionals (linux-apps.gamingDesktop == true) [
../pkgs/steam/default.nix
../pkgs/heroic/default.nix
];
}
+5
View File
@@ -0,0 +1,5 @@
{
imports = [
../../packages/python/default.nix
];
}
+6
View File
@@ -0,0 +1,6 @@
{
imports = [
../../packages/steam/default.nix
../../packages/hyprland/default.nix
];
}
-5
View File
@@ -1,5 +0,0 @@
{pkgs, ...}: let
info = import ../../config.nix;
in {
home.packages = info.linux-apps.my-apps pkgs;
}
-11
View File
@@ -1,11 +0,0 @@
{...}: {
imports = [
../../pkgs/hyprland/default.nix
../../pkgs/ags/default.nix
../../pkgs/swww/default.nix
../../pkgs/waybar/default.nix
../../pkgs/rofi/default.nix
../../pkgs/hypridle/default.nix
../../pkgs/hyprlock/default.nix
];
}
-6
View File
@@ -1,6 +0,0 @@
{...}: {
imports = [
../../pkgs/btop/default.nix
../../pkgs/matugen/default.nix
];
}
-11
View File
@@ -1,11 +0,0 @@
{...}: {
imports = [
../system/desktop/wayland.nix
../system/desktop/sound.nix
../system/desktop/misc.nix
../system/desktop/browser.nix
../system/desktop/font.nix
../system/desktop/theme.nix
../system/desktop/cursor.nix
];
}
-11
View File
@@ -1,11 +0,0 @@
{...}: {
imports = [
../pkgs/fastfetch/default.nix
../pkgs/git/default.nix
../pkgs/kitty/default.nix
../pkgs/neovim/default.nix
../pkgs/fish/default.nix
../pkgs/starship/default.nix
../pkgs/zsh/default.nix
];
}
+17
View File
@@ -0,0 +1,17 @@
{
imports = [
../../packages/fonts/home.nix
../../packages/firefox/home.nix
../../packages/hyprland/home.nix
../../packages/hyprlock/home.nix
../../packages/hypridle/home.nix
../../packages/rofi/home.nix
../../packages/quickshell/home.nix
../../packages/mangohud/home.nix
../../packages/matugen/home.nix
];
}
+19
View File
@@ -0,0 +1,19 @@
{
imports = [
../../packages/fish/home.nix
../../packages/kitty/home.nix
../../packages/neovim/home.nix
../../packages/starship/home.nix
../../packages/fastfetch/home.nix
../../packages/zsh/home.nix
../../packages/zoxide/home.nix
../../packages/fonts/home.nix
../../packages/git/home.nix
../../packages/btop/home.nix
../../packages/eza/home.nix
../../packages/cloudflared/home.nix
];
}
-14
View File
@@ -1,14 +0,0 @@
{
vpn,
lib,
...
}: {
imports =
[
../system/default.nix
../system/users.nix
]
++ lib.optionals (vpn.vpnEnable == true) [
../system/vpn.nix
];
}
-35
View File
@@ -1,35 +0,0 @@
{
pkgs,
allowUnfree,
builder,
sshExtraConfig,
...
}: {
imports = [
# Include the results of the hardware scan.
/etc/nixos/hardware-configuration.nix
../../modules/system.nix
../../modules/display-manager.nix
../../modules/app.nix
];
environment.systemPackages = with pkgs; [
vim
wget
];
nixpkgs.config.allowUnfree = allowUnfree;
nix.settings = {
trusted-users = builder.trustedUsers;
experimental-features = ["nix-command" "flakes"];
};
programs.ssh.extraConfig = sshExtraConfig;
nix.distributedBuilds = true;
nix.settings.builders-use-substitutes = true;
# nix.buildMachines = builder.buildMachines;
system.stateVersion = "25.05";
}
-40
View File
@@ -1,40 +0,0 @@
{
pkgs,
builder,
terminal,
username,
...
}: {
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs; [
python313
];
# Auto upgrade nix package and the daemon service.
# 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.trusted-users = builder.trustedUsers;
# Create /etc/zshrc that loads the nix-darwin environment.
programs.zsh.enable = true; # default shell on catalina
programs.fish.enable = true;
# $ darwin-rebuild changelog
system.stateVersion = 5;
# The platform the configuration will be used on.
nixpkgs.hostPlatform = "aarch64-darwin";
users.users.${username} = {
name = "${username}";
home = "/Users/${username}";
shell = pkgs.${terminal.termShell};
};
home-manager.users.${username} = import ../../home/macos/home.nix;
}
@@ -8,7 +8,7 @@
programs.ags = { programs.ags = {
enable = true; enable = true;
configDir = ./biscuit; configDir = ./custom;
extraPackages = let extraPackages = let
agsPkgs = inputs.ags.packages.${system}; agsPkgs = inputs.ags.packages.${system};
@@ -1,8 +1,9 @@
{...}: { {
programs.btop = { programs.btop = {
enable = true; enable = true;
settings = { settings = {
vim_keys = true; vim_keys = true;
theme_background = false;
}; };
}; };
} }
+5
View File
@@ -0,0 +1,5 @@
{pkgs, ...}: {
home.packages = with pkgs; [
cloudflared
];
}
+12
View File
@@ -0,0 +1,12 @@
{pkgs, ...}: {
programs.eza = {
enable = true;
git = true;
colors = "auto";
icons = "auto";
enableZshIntegration = true;
enableFishIntegration = true;
enableBashIntegration = true;
};
}
+109
View File
@@ -0,0 +1,109 @@
{
programs.firefox = {
enable = true;
languagePacks = [
"en-US"
];
profiles = {
hakase = {
search.force = true;
isDefault = true;
search.default = "ddg";
settings = {
"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;
"browser.startup.homepage" = "https://dash.sakamoto.dev";
"browser.newtabpage.pinned" = [
{
title = "Dashboard";
url = "https://dash.sakamoto.dev";
}
];
};
bookmarks = {
force = true;
settings = [
{
toolbar = true;
bookmarks = [
{
name = "Home-manager";
url = "https://mynixos.com/home-manager/options/programs";
}
];
}
];
};
};
};
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 = "always"; # 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";
"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";
# };
};
};
};
}
@@ -1,9 +1,8 @@
{ {
pkgs, pkgs,
terminal, myConfig,
... ...
}: { }: {
programs.zoxide.enable = true;
programs.fish = { programs.fish = {
enable = true; enable = true;
interactiveShellInit = '' interactiveShellInit = ''
@@ -12,7 +11,7 @@
zoxide init fish | source zoxide init fish | source
''; '';
shellAliases = terminal.shellAliases; shellAliases = myConfig.general.Terminal.aliases;
plugins = with pkgs.fishPlugins; [ plugins = with pkgs.fishPlugins; [
]; ];
+8
View File
@@ -0,0 +1,8 @@
{pkgs, ...}: {
fonts = {
fontconfig.enable = true;
};
home.packages = with pkgs; [
nerd-fonts.jetbrains-mono
];
}
+10
View File
@@ -0,0 +1,10 @@
{myConfig, ...}: {
programs.git = {
enable = true;
extraConfig = {
user.name = "${myConfig.nixos.Git.user}";
user.email = "${myConfig.nixos.Git.email}";
init.defaultBranch = "${myConfig.nixos.Git.defaultBranch}";
};
};
}
+38
View File
@@ -0,0 +1,38 @@
{...}: {
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
after_sleep_cmd = "hyprctl dispatch dpms on && agu"; # avoid needing to press a key twice to turn on the display.
};
listener = [
{
timeout = 150;
on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = "brightnessctl -r"; # restore monitor backlight.
}
{
timeout = 150;
on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0"; # turn off keyboard backlight.
on-resume = "brightnessctl -rd rgb:kbd_backlight"; # turn on keyboard backlight.
}
{
timeout = 300;
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed.
}
{
timeout = 330;
on-timeout = "hyprctl dispatch dpms off"; # screen off after 5.5min.
on-resume = "hyprctl dispatch dpms on && brightnessctl -r"; # screen on and restore brightness on resume.
}
{
timeout = 500;
on-timeout = "systemctl suspend"; # suspend PC after 30min.
}
];
};
};
}
+11
View File
@@ -0,0 +1,11 @@
{
pkgs,
inputs,
...
}: {
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;
};
}
@@ -1,26 +1,36 @@
{ {myConfig, ...}: {
hyprconf, home.file.".config/hypr/scripts/wsaction.fish" = {
username, source = builtins.toPath ./scripts/wsaction.fish;
terminal, executable = true;
... };
}: {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
systemd.enable = true;
settings = { settings = {
"$mod" = "SUPER"; "$mod" = "SUPER";
"$term" = "kitty --single-instance"; "$term" = "kitty --single-instance";
"$browser" = "firefox"; "$browser" = "firefox";
# "$bar" = "qs -c caelestia";
"$wsaction" = "fish -c ./scripts/wsaction.fish";
monitor = hyprconf.monitor; monitor = myConfig.nixos.Hyprland.monitors;
exec = [
"hyprctl dispatch submap global"
];
submap = [
"global"
];
exec-once = [ exec-once = [
"[workspace 20 silent] kitty --single-insance --hold fastfetch" "[workspace 20 silent] kitty --single-insance --hold fastfetch"
"[workspace 20 silent] firefox" "[workspace 20 silent] firefox"
"[workspace 1] kitty --single-instance --hold fastfetch" "[workspace 1] kitty --single-instance --hold fastfetch"
"pkill gjs & ags run" "$bar"
# "matugen image /home/${username}/.config/nixos/assets/wallpapers/ultrawide-nixos-default.png" "matugen image /home/${myConfig.essentials.Username}/.config/nixos/assets/wallpapers/ultrawide-nixos-default.png"
"hyprctl setcursor Bibata-Original-Classic 24" "hyprctl setcursor Bibata-Original-Classic 24"
"solaar -w hide"
]; ];
general = { general = {
@@ -38,7 +48,7 @@
layout = "dwindle"; layout = "dwindle";
}; };
decoration = { decoration = {
rounding = 0; rounding = 10;
rounding_power = 2; rounding_power = 2;
active_opacity = 1.0; active_opacity = 1.0;
inactive_opacity = 1.0; inactive_opacity = 1.0;
@@ -113,7 +123,7 @@
input = { input = {
kb_layout = "us"; kb_layout = "us";
follow_mouse = 1; follow_mouse = 1;
sensitivity = -0.5; sensitivity = 0;
force_no_accel = true; force_no_accel = true;
repeat_delay = 250; repeat_delay = 250;
repeat_rate = 35; repeat_rate = 35;
@@ -145,7 +155,6 @@
[ [
"$mod, Return, exec, $term" "$mod, Return, exec, $term"
"$mod, Q, killactive," "$mod, Q, killactive,"
"$mod, M, exit,"
"$mod, E, exec, $fileManager" "$mod, E, exec, $fileManager"
"$mod, V, togglefloating," "$mod, V, togglefloating,"
"$mod, R, exec, $menu" "$mod, R, exec, $menu"
@@ -158,6 +167,7 @@
"$mod, K, movefocus, u" "$mod, K, movefocus, u"
"$mod, J, movefocus, d" "$mod, J, movefocus, d"
"$mod Shift, M, exit,"
"$mod SHIFT, K, movewindow, u" "$mod SHIFT, K, movewindow, u"
"$mod SHIFT, J, movewindow, d" "$mod SHIFT, J, movewindow, d"
"$mod SHIFT, H, movewindow, l" "$mod SHIFT, H, movewindow, l"
@@ -186,6 +196,7 @@
ws = i + 1; ws = i + 1;
in [ in [
"$mod, ${toString ws}, workspace, ${toString ws}" "$mod, ${toString ws}, workspace, ${toString ws}"
# "$mod, ${toString ws}, exec, $wsaction workspace, ${toString ws}"
"$mod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}" "$mod SHIFT, ${toString ws}, movetoworkspace, ${toString ws}"
] ]
) )
@@ -216,10 +227,129 @@
",XF86AudioPlay, exec, playerctl play-pause" ",XF86AudioPlay, exec, playerctl play-pause"
",XF86AudioPrev, exec, playerctl previous" ",XF86AudioPrev, exec, playerctl previous"
]; ];
bindi = [
"Super, Super_L, global, caelestia:launcher"
# "$mod, Space, global, caelestia:launcher"
];
bindin = [
"Super, catchall, global, caelestia:launcherInterrupt"
"Super, mouse:272, global, caelestia:launcherInterrupt"
"Super, mouse:273, global, caelestia:launcherInterrupt"
"Super, mouse:274, global, caelestia:launcherInterrupt"
"Super, mouse:275, global, caelestia:launcherInterrupt"
"Super, mouse:276, global, caelestia:launcherInterrupt"
"Super, mouse:277, global, caelestia:launcherInterrupt"
"Super, mouse_up, global, caelestia:launcherInterrupt"
"Super, mouse_down, global, caelestia:launcherInterrupt"
];
env = [ env = [
"HYPRCURSOR_THEME, Bibata-Original-Classic" "HYPRCURSOR_THEME, Bibata-Original-Classic"
"HYPRCURSOR_SIZE, 24" "HYPRCURSOR_SIZE, 24"
]; ];
# ######## Window rules ########
windowrule = [
"opaque, class:foot|equibop"
"center 1, floating:1, xwayland:0"
# Float
"float, class:guifetch"
"float, class:yad"
"float, class:zenity"
"float, class:wev"
"float, class:org\\.gnome\\.FileRoller" # Escaped backslash
"float, class:file-roller"
"float, class:blueman-manager"
"float, class:com\\.github\\.GradienceTeam\\.Gradience" # Escaped backslash
"float, class:feh"
"float, class:imv"
"float, class:system-config-printer"
"float, class:quickshell"
# Float, resize and center
"float, class:foot, title:nmtui"
"size 60% 70%, class:foot, title:nmtui"
"center 1, class:foot, title:nmtui"
"float, class:org\\.gnome\\.Settings"
"size 70% 80%, class:org\\.gnome\\.Settings"
"center 1, class:org\\.gnome\\.Settings"
"float, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser"
"size 60% 70%, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser"
"center 1, class:org\\.pulseaudio\\.pavucontrol|yad-icon-browser"
"float, class:nwg-look"
"size 50% 60%, class:nwg-look"
"center 1, class:nwg-look"
# Special workspaces
"workspace special:sysmon, class:btop"
"workspace special:music, class:feishin|Spotify|Supersonic"
"workspace special:music, initialTitle:Spotify( Free)?"
"workspace special:communication, class:discord|equibop|vesktop|whatsapp"
"workspace special:todo, class:Todoist"
# Dialogs
"float, title:(Select|Open)( a)? (File|Folder)(s)?"
"float, title:File (Operation|Upload)( Progress)?"
"float, title:.* Properties"
"float, title:Export Image as PNG"
"float, title:GIMP Crash Debug"
"float, title:Save As"
"float, title:Library"
# Picture in picture (resize and move done via script)
"move 100%-w-2% 100%-w-3%, title:Picture(-| )in(-| )[Pp]icture"
"keepaspectratio, title:Picture(-| )in(-| )[Pp]icture"
"float, title:Picture(-| )in(-| )[Pp]icture"
"pin, title:Picture(-| )in(-| )[Pp]icture"
# Steam
"rounding 10, title:, class:steam"
"float, title:Friends List, class:steam"
"immediate, class:steam_app_[0-9]+"
"idleinhibit always, class:steam_app_[0-9]+"
# ATLauncher console
"float, class:com-atlauncher-App, title:ATLauncher Console"
# Autodesk Fusion 360
"noblur, title:Fusion360|(Marking Menu), class:fusion360\\.exe" # Escaped backslash
# Ugh xwayland popups
"nodim, xwayland:1, title:win[0-9]+"
"noshadow, xwayland:1, title:win[0-9]+"
"rounding 10, xwayland:1, title:win[0-9]+"
];
# ######## Workspace rules ########
workspace = [
"w[tv1]s[false], gapsout:20, gapsin:20"
"f[1]s[false], gapsout:20, gapsin:20"
];
# ######## Layer rules ########
layerrule = [
"animation fade, hyprpicker"
"animation fade, logout_dialog"
"animation fade, selection"
"animation fade, wayfreeze"
# Fuzzel
"animation popin 80%, launcher"
"blur, launcher"
# Shell
"noanim, caelestia-(launcher|osd|notifications|border-exclusion|area-picker)"
"animation fade, caelestia-(drawers|background)"
"order 1, caelestia-border-exclusion"
"order 2, caelestia-bar"
# The commented out lines below need to remain commented if you don't want them active
#"xray 1, caelestia-(border|launcher|bar|sidebar|navbar|mediadisplay|screencorners)"
#"blur, caelestia-.*"
#"blurpopups, caelestia-.*"
#"ignorealpha 0.57, caelestia-.*"
];
}; };
}; };
} }
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/env fish
if test "$argv[1]" = '-g'
set group
set -e $argv[1]
end
if test (count $argv) -ne 2
echo 'Wrong number of arguments. Usage: ./wsaction.fish [-g] <dispatcher> <workspace>'
exit 1
end
set -l active_ws (hyprctl activeworkspace -j | jq -r '.id')
if set -q group
# Move to group
hyprctl dispatch $argv[1] (math "($argv[2] - 1) * 10 + $active_ws % 10")
else
# Move to ws in group
hyprctl dispatch $argv[1] (math "floor(($active_ws - 1) / 10) * 10 + $argv[2]")
end
+9 -3
View File
@@ -1,4 +1,8 @@
{terminal, ...}: { {
myConfig,
pkgs,
...
}: {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
@@ -7,11 +11,13 @@
confirm_os_window_close = 0; confirm_os_window_close = 0;
window_padding_width = 10; window_padding_width = 10;
font_size = terminal.termSize; font_size = myConfig.general.Terminal.size;
font_family = terminal.termFont; 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 = "${pkgs.${myConfig.general.Terminal.shell}}/bin/${myConfig.general.Terminal.shell}";
# optimization # optimization
input_delay = 0; input_delay = 0;
repaint_delay = 2; repaint_delay = 2;
+23
View File
@@ -0,0 +1,23 @@
{...}: {
programs.mangohud = {
enable = true;
enableSessionWide = true;
settings = {
toggle_hud = "Shift_R+F12";
full = true;
gpu_temp = true;
cpu_temp = true;
fps_only = false;
blacklist = [
"pamac-manager"
"lact"
"ghb"
"bitwig-studio"
"ptyxis"
"yumex"
];
};
};
}
+10
View File
@@ -0,0 +1,10 @@
{
pkgs,
inputs,
system,
...
}: {
home.packages = [
inputs.nixovim.packages.${system}.default
];
}
@@ -1,4 +1,5 @@
{pkgs, ...}: { {pkgs, ...}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
python313Full
]; ];
} }
+8
View File
@@ -0,0 +1,8 @@
{inputs, ...}: {
imports = [
inputs.caelestia.nixosModules.default
{
services.caelestia-shell.enable = true;
}
];
}
+41
View File
@@ -0,0 +1,41 @@
{
config,
pkgs,
lib,
system,
inputs,
...
}: let
# Fetch the entire repository from Gitea
# This creates a path in the Nix store containing the repo's contents
caelestia = pkgs.fetchFromGitHub {
owner = "liperium"; # The repository owner
repo = "caelestia-shell"; # The repository name
rev = "main"; # Or a specific commit hash/tag like "v1.0"
hash = "sha256-s7UodKNURqtFYARD+qjhxnm17uocuz0A3znPneZMDxM="; # Set this to "" or a dummy value first
};
in {
imports = [
];
home.packages = with pkgs; [
inputs.quickshell.packages.${system}.default
fish
jq
fd
(pkgs.python3.withPackages (python-pkgs:
with python-pkgs; [
aubio
pyaudio
numpy
]))
cava
bluez
ddcutil
brightnessctl
curl
material-symbols
];
home.file.".config/quickshell/caelestia" = {
source = caelestia;
};
}
@@ -1,5 +1,6 @@
{ {
programs.steam = { programs.steam = {
enable = true; enable = true;
gamescopeSession.enable = true;
}; };
} }
+8
View File
@@ -0,0 +1,8 @@
{
programs.zoxide = {
enable = true;
enableFishIntegration = true;
enableZshIntegration = true;
enableBashIntegration = true;
};
}
@@ -1,6 +1,6 @@
{ {
pkgs, pkgs,
terminal, myConfig,
... ...
}: { }: {
home.packages = with pkgs; [ home.packages = with pkgs; [
@@ -13,7 +13,7 @@
programs.zsh = { programs.zsh = {
enableCompletion = false; enableCompletion = false;
syntaxHighlighting.enable = false; syntaxHighlighting.enable = false;
shellAliases = terminal.shellAliases; shellAliases = myConfig.general.Terminal.aliases;
history.size = 10000; history.size = 10000;
antidote = { antidote = {
enable = true; enable = true;
-10
View File
@@ -1,10 +0,0 @@
{gitProfile, ...}: {
programs.git = {
enable = true;
extraConfig = {
user.name = "${gitProfile.user}";
user.email = "${gitProfile.email}";
init.defaultBranch = "${gitProfile.defaultBranch}";
};
};
}
-5
View File
@@ -1,5 +0,0 @@
{pkgs, ...}: {
home.packages = [
pkgs.heroic
];
}
-38
View File
@@ -1,38 +0,0 @@
{...}: {
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
after_sleep_cmd = "hyprctl dispatch dpms on && agu"; # avoid needing to press a key twice to turn on the display.
};
listener = [
# {
# timeout = 150;
# on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
# on-resume = "brightnessctl -r"; # restore monitor backlight.
# }
# {
# timeout = 150;
# on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0"; # turn off keyboard backlight.
# on-resume = "brightnessctl -rd rgb:kbd_backlight"; # turn on keyboard backlight.
# }
# {
# timeout = 300;
# on-timeout = "loginctl lock-session"; # lock screen when timeout has passed.
# }
# {
# timeout = 330;
# on-timeout = "hyprctl dispatch dpms off"; # screen off after 5.5min.
# on-resume = "hyprctl dispatch dpms on && brightnessctl -r"; # screen on and restore brightness on resume.
# }
{
timeout = 300;
on-timeout = "systemctl suspend"; # suspend PC after 30min.
}
];
};
};
}
-174
View File
@@ -1,174 +0,0 @@
{
plugins = {
alpha = {
enable = true;
layout = [
{
type = "padding";
val = 2;
}
{
type = "text";
val = [
" "
" "
" "
" "
" "
" "
" "
" "
" "
" "
" "
" "
" "
" "
" "
" "
" "
" "
];
opts = {
position = "center";
hl = "Type";
};
}
{
type = "padding";
val = 4;
}
{
type = "group";
val = [
{
type = "button";
val = " New File ";
on_press.__raw = "function() vim.cmd[[ene]] end";
opts = {
shortcut = "n";
keymap = [
"n"
"n"
"<cmd>ene<CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
position = "center";
width = 50;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
}
{
type = "padding";
val = 2;
}
{
type = "button";
val = " Find File ";
opts = {
shortcut = "f";
keymap = [
"n"
"f"
"<cmd>lua require('fzf-lua').files({ cwd = vim.loop.cwd() })<CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
position = "center";
width = 50;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
}
{
type = "padding";
val = 2;
}
{
type = "button";
val = " Recent Files ";
on_press.__raw = "function() require('telescope.builtin').oldfiles() end";
opts = {
shortcut = "r";
keymap = [
"n"
"r"
"<cmd>lua require('fzf-lua').oldfiles({ cwd = vim.loop.cwd() })<CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
position = "center";
width = 50;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
}
{
type = "padding";
val = 2;
}
{
type = "button";
val = " Find Text ";
on_press.__raw = "function() require('telescope.builtin').live_grep() end";
opts = {
shortcut = "g";
keymap = [
"n"
"g"
"<cmd>lua require('fzf-lua').live_grep()<CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
position = "center";
width = 50;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
}
{
type = "padding";
val = 2;
}
{
type = "button";
val = " Quit Neovim ";
on_press.__raw = "function() vim.cmd[[qa]] end";
opts = {
shortcut = "q";
keymap = [
"n"
"q"
"<cmd>qa<CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
position = "center";
width = 50;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
}
];
}
];
};
};
}
-18
View File
@@ -1,18 +0,0 @@
{
config,
lib,
pkgs,
...
}: {
# `plugins.mini.enable` with `plugins.mini.modules.icons` and `plugins.mini.mockDevIcons`.
# plugins.web-devicons.enable = true;
plugins.mini = {
enable = true;
mockDevIcons = true;
modules = [
];
};
plugins.telescope = {
enable = true;
};
}
-14
View File
@@ -1,14 +0,0 @@
{
pkgs,
inputs,
...
}: let
nix-neovim = inputs.nix-neovim.packages.${pkgs.system}.default;
in {
programs.neovim.enable = false;
home.packages = [
nix-neovim
pkgs.lazygit
# ripgrep
];
}
-16
View File
@@ -1,16 +0,0 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
**/
* {
background: #1E2127FF;
background-alt: #282B31FF;
foreground: #FFFFFFFF;
selected: #61AFEFFF;
active: #98C379FF;
urgent: #E06C75FF;
}
-171
View File
@@ -1,171 +0,0 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Rofi Theme File
* Rofi Version: 1.7.3
**/
/*****----- Configuration -----*****/
configuration {
modi: "drun";
show-icons: true;
display-drun: "";
drun-display-format: "{name}";
}
/*****----- Global Properties -----*****/
@import "shared/colors.rasi"
@import "shared/fonts.rasi"
/*****----- Main Window -----*****/
window {
transparency: "real";
location: center;
anchor: center;
fullscreen: false;
width: 400px;
x-offset: 0px;
y-offset: 0px;
enabled: true;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background;
cursor: "default";
}
/*****----- Main Box -----*****/
mainbox {
enabled: true;
spacing: 0px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px 0px 0px 0px;
border-color: @selected;
background-color: transparent;
children: [ "inputbar", "listview" ];
}
/*****----- Inputbar -----*****/
inputbar {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 15px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: @selected;
text-color: @background;
children: [ "prompt", "entry" ];
}
prompt {
enabled: true;
background-color: inherit;
text-color: inherit;
}
textbox-prompt-colon {
enabled: true;
expand: false;
str: "::";
background-color: inherit;
text-color: inherit;
}
entry {
enabled: true;
background-color: inherit;
text-color: inherit;
cursor: text;
placeholder: "Search...";
placeholder-color: inherit;
}
/*****----- Listview -----*****/
listview {
enabled: true;
columns: 1;
lines: 6;
cycle: true;
dynamic: true;
scrollbar: false;
layout: vertical;
reverse: false;
fixed-height: true;
fixed-columns: true;
spacing: 5px;
margin: 0px;
padding: 0px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: "default";
}
scrollbar {
handle-width: 5px ;
handle-color: @selected;
border-radius: 0px;
background-color: @background-alt;
}
/*****----- Elements -----*****/
element {
enabled: true;
spacing: 10px;
margin: 0px;
padding: 8px;
border: 0px solid;
border-radius: 0px;
border-color: @selected;
background-color: transparent;
text-color: @foreground;
cursor: pointer;
}
element normal.normal {
background-color: @background;
text-color: @foreground;
}
element selected.normal {
background-color: @background-alt;
text-color: @foreground;
}
element-icon {
background-color: transparent;
text-color: inherit;
size: 32px;
cursor: inherit;
}
element-text {
background-color: transparent;
text-color: inherit;
highlight: inherit;
cursor: inherit;
vertical-align: 0.5;
horizontal-align: 0.0;
}
/*****----- Message -----*****/
error-message {
padding: 15px;
border: 2px solid;
border-radius: 12px;
border-color: @selected;
background-color: @background;
text-color: @foreground;
}
textbox {
background-color: @background;
text-color: @foreground;
vertical-align: 0.5;
horizontal-align: 0.0;
highlight: none;
}
-20
View File
@@ -1,20 +0,0 @@
#!/usr/bin/env bash
## Author : Aditya Shakya (adi1090x)
## Github : @adi1090x
#
## Rofi : Launcher (Modi Drun, Run, File Browser, Window)
#
## Available Styles
#
## style-1 style-2 style-3 style-4 style-5
## style-6 style-7 style-8 style-9 style-10
## style-11 style-12 style-13 style-14 style-15
dir="$HOME/.config/wofi/launcher/config.rasi"
theme='style-1'
## Run
wofi \
-show drun \
-theme ${dir}/${theme}.rasi
-18
View File
@@ -1,18 +0,0 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Colors
*
* Available Colors Schemes
*
* adapta catppuccin everforest navy paper
* arc cyberpunk gruvbox nord solarized
* black dracula lovelace onedark yousai
*
**/
/* Import color-scheme from `colors` directory */
@import "~/.config/wofi/colors/onedark.rasi"
-12
View File
@@ -1,12 +0,0 @@
/**
*
* Author : Aditya Shakya (adi1090x)
* Github : @adi1090x
*
* Fonts
*
**/
* {
font: "Iosevka Nerd Font 10";
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

-229
View File
@@ -1,229 +0,0 @@
{ username, hostname, ... }: {
programs.waybar = {
enable = true;
settings = [
{
margin-top = 10;
margin-left = 10;
margin-right = 10;
layer = "top";
position = "top";
modules-left = [
"custom/start"
"hyprland/submap"
"hyprland/workspaces"
"hyprland/window"
];
modules-right = [
"tray"
"temperature"
"cpu"
"memory"
"disk"
"network"
"pulseaudio"
"battery"
"power-profiles-daemon"
"clock"
];
"cpu" = {
states = {
critical = 85;
};
interval = 1;
format = " {usage:2}%";
on-click = "kitty btop";
};
"memory" = {
states = {
critical = 85;
};
interval = 1;
format = " {percentage}%";
on-click = "kitty btop";
};
"disk" = {
states = {
critical = 85;
};
interval = 5;
format = " {percentage_used}%";
on-click = "kitty btop";
};
"network" = {
format-ethernet = " {bandwidthDownOctets}";
format-wifi = " {signalStrength}%";
format-disconnected = "";
format-disabled = "";
tooltip = false;
on-click = "rofi-network-manager";
};
"temperature" = {
critical-threshold = 80;
format = " {temperatureC}°C";
interval = 1;
on-click = "kitty btop";
};
"power-profiles-daemon" = {
format = "{icon} {profile}";
format-icons = {
performance = "";
power-saver = "";
balanced = "";
};
};
"hyprland/workspaces" = {
format = "{name}";
format-icons = {
default = " ";
active = " ";
urgent = " ";
};
on-scroll-down = "hyprctl dispatch workspace e+1";
on-scroll-up = "hyprctl dispatch workspace e-1";
};
"hyprland/window" = {
icon = true;
max-length = 45;
separate-outputs = false;
rewrite = {
"" = "${username}@${hostname}";
"~" = "${username}@${hostname}";
};
on-click-right = "hyprctl dispatch fullscreen 0";
on-click-middle = "hyprctl dispatch killactive";
on-click = "hyprctl dispatch fullscreen 1";
};
"hyprland/submap" = {
format = " {}";
on-click = "hyprctl dispatch submap reset";
};
"clock" = {
format = "{:%b %d, %I:%M %p}";
};
"tray" = {
spacing = 12;
};
"taskbar" = {
icon-size = 10;
icon-theme = "Papirus-Dark";
on-click = "activate";
on-click-right = "fullscreen";
on-click-middle = "close";
on-scroll-up = "maximize";
on-scroll-down = "minimize";
};
"pulseaudio" = {
format = "{icon} {volume}% {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {volume}% {format_source_muted}";
format-muted = " {volume}% {format_source_muted}";
format-source = "";
format-source-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [
""
""
""
];
};
on-click = "pavucontrol";
on-click-right = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
};
"battery" = {
states = {
warning = 30;
critical = 15;
};
format = "{icon} {capacity}%";
format-charging = " {capacity}%";
format-plugged = " {capacity}%";
format-icons = [
""
""
""
""
""
];
interval = 1;
on-click = "";
};
"custom/start" = {
format = "";
on-click-right = "rofi -show power-menu -modi power-menu:rofi-power-menu";
on-click = "rofi -show drun";
};
}
];
style = ''
* {
font-size: 12px;
font-family: Font Awesome, monospace;
font-weight: bold;
color: @text;
transition: none;
}
window#waybar {
background: rgba(0,0,0,0);
border: none;
}
#workspaces button {
border-radius: 0px;
margin: 0px;
background: none;
border: none;
}
#workspaces button:hover, #custom-start:hover, #window:hover {
border: none;
outline: none;
background: none;
color: @text;
background-size: 300% 300%;
background: @surface0;
}
#workspaces button.active, #submap {
background: @surface1;
}
#custom-start {
padding: 0px 5px;
color: @sky;
font-size: 16px;
}
#window, #submap {
padding: 0px 5px;
}
.modules-left, .modules-right {
background-color: @crust;
border: 2px solid @surface1;
border-radius: 10px;
padding: 0 5px;
}
#submap, #workspaces, #cpu, #memory, #disk, #clock, #window, #tray, #pulseaudio, #battery, #network, #temperature, #power-profiles-daemon, #custom-exit, #custom-start {
margin: 0 5px;
}
.critical, .muted, .performance {
color: @red;
}
.warning, .urgent {
color: @yellow;
}
.charging, .plugged, .power-saver {
color: @green;
}
'';
};
}
-55
View File
@@ -1,55 +0,0 @@
{
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
"blocks": [
{
"alignment": "left",
"segments": [
{
"foreground": "#ffdd86",
"style": "plain",
"template": "{{ .UserName }}@{{ .HostName }} ",
"type": "session"
},
{
"foreground": "#42a9ff",
"style": "plain",
"properties": {
"style": "full"
},
"template": "{{ .Path }} ",
"type": "path"
},
{
"properties": {
"branch_icon": "",
"fetch_status": true
},
"style": "plain",
"template": "git:{{ if or (.Working.Changed) (.Staging.Changed) (gt .StashCount 0) }}<#ffdd86>{{ .HEAD }}</>{{ else }}{{ .HEAD }}{{ end }}{{ if .Staging.Changed }} <#98c379>{{ .Staging.String }}</>{{ end }}{{ if .Working.Changed }} <#d16971>{{ .Working.String }}</>{{ end }}",
"type": "git"
}
],
"type": "prompt"
},
{
"alignment": "left",
"newline": true,
"segments": [
{
"foreground": "#ffdd86",
"foreground_templates": [
"{{ if gt .Code 0 }}#42a9ff{{ end }}"
],
"properties": {
"always_enabled": true
},
"style": "plain",
"template": "> ",
"type": "status"
}
],
"type": "prompt"
}
],
"version": 3
}
-102
View File
@@ -1,102 +0,0 @@
{
pkgs,
hostname,
timezone,
touchpadSupport,
inputs,
logitech-hardware,
...
}: {
environment.systemPackages = with pkgs;
[
python3
python3Packages.pip
python3Packages.pygobject3
python3Packages.setuptools
python3Packages.wheel
gobject-introspection
gtk3
libxml2
git
cargo
gcc
rustc
nodejs
yarn
busybox
p7zip
btop
tldr
jq
lm_sensors
]
++ [
inputs.matugen.packages.${pkgs.system}.default
]
++ lib.optionals (logitech-hardware.enable == true) [
solaar
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
hardware = {
logitech.wireless.enable = logitech-hardware.enable;
bluetooth = {
enable = true;
powerOnBoot = true;
};
};
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
useXkbConfig = true; # use xkb.options in tty.
};
networking.hostName = "${hostname}";
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
time.timeZone = "${timezone}";
services = {
openssh.enable = true;
libinput.enable = touchpadSupport;
blueman.enable = true;
};
programs.bash = {
interactiveShellInit = ''
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
then
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
fi
'';
};
programs = {
zsh.enable = true;
fish.enable = true;
};
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# ONLY WORKS non-flake
# system.copySystemConfiguration = true;
}
-107
View File
@@ -1,107 +0,0 @@
{
config,
pkgs,
...
}: let
lock-false = {
Value = false;
Status = "locked";
};
lock-true = {
Value = true;
Status = "locked";
};
in {
programs = {
firefox = {
enable = true;
languagePacks = ["en-US"];
/*
---- POLICIES ----
*/
# Check about:policies#documentation for options.
policies = {
DisableTelemetry = true;
DisableFirefoxStudies = true;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
DisablePocket = true;
DisableFirefoxAccounts = true;
DisableAccounts = true;
DisableFirefoxScreenshots = true;
OverrideFirstRunPage = "";
OverridePostUpdatePage = "";
DontCheckDefaultBrowser = true;
DisplayBookmarksToolbar = "never"; # alternatives: "always" or "newtab"
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
SearchBar = "unified"; # alternative: "separate"
/*
---- EXTENSIONS ----
*/
# Check about:support for extension/add-on ID strings.
# Valid strings for installation_mode are "allowed", "blocked",
# "force_installed" and "normal_installed".
ExtensionSettings = {
"*".installation_mode = "blocked"; # blocks all addons except the ones specified below
# uBlock Origin:
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
};
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
install_url = "https://addons.mozilla.org/firefox/downloads/file/4493940/bitwarden_password_manager-2025.5.0.xpi";
installation_mode = "force_installed";
};
"tridactyl.vim@cmcaine.co.uk" = {
install_url = "https://addons.mozilla.org/firefox/downloads/file/4405615/tridactyl_vim-1.24.2.xpi";
installation_mode = "force_installed";
};
# Privacy Badger:
# "jid1-MnnxcxisBPnSXQ@jetpack" = {
# install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
# installation_mode = "force_installed";
# };
# 1Password:
# "{d634138d-c276-4fc8-924b-40a0ea21d284}" = {
# install_url = "https://addons.mozilla.org/firefox/downloads/latest/1password-x-password-manager/latest.xpi";
# installation_mode = "force_installed";
};
};
/*
---- PREFERENCES ----
*/
# Check about:config for options.
preferences = {
# "browser.contentblocking.category" = {
# Value = "strict";
# Status = "locked";
# };
"browser.contentblocking.category" = "strict";
"extensions.pocket.enabled" = false;
"extensions.screenshots.disabled" = true;
"browser.topsites.contile.enabled" = false;
"browser.formfill.enable" = false;
"browser.search.suggest.enabled" = false;
"browser.search.suggest.enabled.private" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.showSearchSuggestionsFirst" = false;
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
"browser.newtabpage.activity-stream.feeds.snippets" = false;
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.system.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
};
};
};
}
-6
View File
@@ -1,6 +0,0 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
bibata-cursors
hyprcursor
];
}
-16
View File
@@ -1,16 +0,0 @@
{
pkgs,
inputs,
system,
...
}: let
unlisted-fonts = inputs.unlisted-fonts.packages.${pkgs.system};
in {
fonts.packages = with pkgs; [
unlisted-fonts.monolisa
unlisted-fonts.rubik
nerd-fonts.fira-code
nerd-fonts.jetbrains-mono
nerd-fonts.iosevka
];
}
-3
View File
@@ -1,3 +0,0 @@
{pkgs, ...}: {
services.printing.enable = true;
}
-13
View File
@@ -1,13 +0,0 @@
{ pkgs, ... }: {
# Enable sound.
# services.pulseaudio.enable = true;
# OR
environment.systemPackages = with pkgs; [
pavucontrol
];
security.rtkit.enable = true;
services.pipewire = {
enable = true;
pulse.enable = true;
};
}
-23
View File
@@ -1,23 +0,0 @@
{
pkgs,
inputs,
...
}: {
environment.systemPackages = with pkgs; [
wl-clipboard
hypridle
hyprlock
];
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;
};
}
-20
View File
@@ -1,20 +0,0 @@
{
pkgs,
username,
terminal,
...
}: {
users = {
defaultUserShell = pkgs.${terminal.termShell};
users = {
${username} = {
isNormalUser = true;
extraGroups = ["wheel" "networkmanager" "input"];
initialHashedPassword = "$6$Qab6SSvEJM2YRtVA$7Oyl7E3pp/FKtCC.2Tb2tyzp3yp7BFHFAKngUYJssQJ.v1Q2mqsgW9m7njpaKNcka2vyCwrnmw1R.YPlFqR0p1";
useDefaultShell = true;
packages = [
];
};
};
};
}
-23
View File
@@ -1,23 +0,0 @@
{
vpn,
username,
...
}: {
networking.wg-quick.interfaces = {
biscuit-default = {
address = ["10.2.0.2/32"];
# listenPort = 51820;
# FIXME change privateKey to variable and add env (make sure it is inaccessible!)
privateKeyFile = vpn.vpnSecretFile;
dns = ["10.2.0.1"];
peers = [
{
publicKey = "GbuOJ8Dho0iXlS0+ma2teQ4RxhBALWK6RB94qA1GZDA=";
allowedIPs = ["0.0.0.0/0"];
endpoint = "79.127.147.2:51820";
# persistentKeepAlive = 25;
}
];
};
};
}