Compare commits

130 Commits
server ... main

Author SHA1 Message Date
77535b4b42 eva-02 update to 25.11 2025-12-07 02:08:30 -08:00
c96032611c updated to 25.11 2025-12-07 00:39:49 -08:00
37a7c39119 added aws cli 2025-11-28 00:45:11 -08:00
262dbf1251 updated flake, added snap 2025-11-24 01:02:33 -08:00
e809186d9b update 2025-11-18 13:36:18 -08:00
6e5474da74 updates 2025-11-11 12:26:23 -08:00
6e8d370a16 added assets folder and git lfs 2025-09-11 16:20:07 -07:00
9fca17e4a4 updated eva-03 2025-09-11 14:42:01 -07:00
e98d4893f7 updated eva-03 2025-09-11 02:01:56 -07:00
6214930d19 added back ffmpeg 2025-09-09 16:06:11 -07:00
fa802a3a50 removed ffmpeg 2025-09-09 15:43:26 -07:00
abf5c8e7a0 added a way to trackdown nix store culprits 2025-09-09 15:29:36 -07:00
910557e7ae added more shortcuts for ghostty 2025-09-09 12:37:49 -07:00
1f93e32bc7 fixed sage, updated flake 2025-09-09 05:07:27 -07:00
22bb58825f added custom nix package 2025-08-28 20:40:47 -07:00
deec6c6001 fixed fasfetch img to be per host 2025-08-23 01:14:35 -07:00
f294b93eb8 removed old vscode-server added brews for homerbrew 2025-08-20 22:42:08 -07:00
53513f0dd0 fixed vscode-server for buildbox 2025-08-20 16:41:10 -07:00
43b5892c02 darwin: added several homebrew applications 2025-08-20 15:05:22 -07:00
d1d97fdac9 darwin fixed ghostty, homebrew, vscode 2025-08-20 12:14:14 -07:00
f807d29276 darwin adding fonts 2025-08-20 08:18:52 -07:00
20c78889d3 darwin fixes 2025-08-20 00:18:31 -07:00
418e434610 darwin fixes 2025-08-20 00:00:58 -07:00
17ffc5ae8f darwin fixes 2025-08-19 23:54:11 -07:00
bb6fbcb104 darwin fixes 2025-08-19 23:53:30 -07:00
fb6a6bd22d darwin fixes 2025-08-19 23:39:42 -07:00
9535c156d8 darwin fixes 2025-08-19 23:23:47 -07:00
4a8b0c065a darwin fixes 2025-08-19 23:03:46 -07:00
3227655e16 darwin fixes 2025-08-19 22:40:28 -07:00
433610c00d darwin fixes 2025-08-19 22:38:33 -07:00
95b0bba0e9 darwin fixes 2025-08-19 22:31:36 -07:00
6f2169c9fc darwin fixes 2025-08-19 22:26:40 -07:00
4f29ea3ac6 darwin fixes 2025-08-19 22:20:34 -07:00
d50ebe3ba0 darwin fixes 2025-08-19 22:19:02 -07:00
8f625f1906 darwin fixes 2025-08-19 22:18:15 -07:00
fb68a73b3d darwin fixes 2025-08-19 22:10:23 -07:00
8928d49418 darwin fixes 2025-08-19 21:56:05 -07:00
3285043183 darwin fixes 2025-08-19 20:39:31 -07:00
e9b4e94faa darwin fixes 2025-08-19 19:11:32 -07:00
2d17d4b3d5 darwin fixes 2025-08-19 19:09:34 -07:00
f180f098c3 darwin fixes 2025-08-19 19:07:48 -07:00
3f1bbc04a5 darwin fixes 2025-08-19 18:35:31 -07:00
722ae3f786 darwin fixes 2025-08-19 18:34:15 -07:00
234858f28b darwin fixes 2025-08-19 18:12:07 -07:00
efe2c7cc0a darwin fixes 2025-08-19 18:08:45 -07:00
e4aa64145c darwin fixes 2025-08-19 13:36:36 -07:00
71e0a0240e darwin fixes 2025-08-19 13:35:42 -07:00
94fb9894d8 darwin fixes 2025-08-19 13:25:30 -07:00
56e52e1d29 darwin fixes 2025-08-19 13:00:31 -07:00
eb9c5893ea darwin fixes 2025-08-19 11:55:26 -07:00
c9526fc453 darwin fixes 2025-08-19 11:52:32 -07:00
cf30a00c81 darwin fixes 2025-08-19 11:47:30 -07:00
9e1e48c406 darwin fixes 2025-08-19 11:45:38 -07:00
172dc90e58 darwin fixes 2025-08-19 11:45:10 -07:00
4617841efd darwin fixes 2025-08-19 11:44:32 -07:00
eaf9645e85 darwin fixes 2025-08-19 11:43:37 -07:00
7b01f7af91 darwin fixes 2025-08-19 11:41:00 -07:00
203302d0ea darwin fixes 2025-08-19 11:36:29 -07:00
0e20523cf1 darwin fixes 2025-08-19 11:34:43 -07:00
fe22e065ba darwin fixes 2025-08-19 01:37:25 -07:00
7e3e379ca5 darwin fixes 2025-08-19 01:03:01 -07:00
789901c5a9 darwin fixes 2025-08-19 00:57:06 -07:00
9e40d17e6d darwin fixes 2025-08-19 00:55:01 -07:00
6c1ce398c5 darwin fixes 2025-08-19 00:53:45 -07:00
6168a3338a darwin fixes 2025-08-19 00:52:50 -07:00
b1f97c096a darwin fixes 2025-08-19 00:51:39 -07:00
d20d501788 darwin fixes 2025-08-19 00:49:58 -07:00
3cffe88036 darwin fixes 2025-08-19 00:44:01 -07:00
42715dd509 darwin fixes 2025-08-19 00:34:46 -07:00
dc18dfdb22 darwin fixes 2025-08-19 00:23:07 -07:00
095d65a285 darwin fixes 2025-08-19 00:15:24 -07:00
bb130a8d7c darwin fixes 2025-08-19 00:13:21 -07:00
251fac1616 darwin fixes 2025-08-18 23:47:29 -07:00
fa8502004a darwin fixes 2025-08-18 23:29:00 -07:00
8401e7c9da darwin fixes 2025-08-18 23:28:30 -07:00
df349613c8 darwin fixes 2025-08-18 23:27:06 -07:00
7b37670baf darwin fixes 2025-08-18 23:26:41 -07:00
c477f001ed darwin fixes 2025-08-18 23:26:12 -07:00
4e41129ac3 darwin fixes 2025-08-18 23:25:39 -07:00
d05cabc53a darwin fixes 2025-08-18 23:24:35 -07:00
10c6ff1c62 darwin fixes 2025-08-18 23:24:06 -07:00
7e96025555 darwin fixes 2025-08-18 23:23:43 -07:00
ec717948bd darwin fixes 2025-08-18 23:22:49 -07:00
20a9354349 darwin fixes 2025-08-18 23:21:57 -07:00
fe0f530b3a switching nix-darwin to use nixpkgs-unstable 2025-08-18 23:15:49 -07:00
cfad4af862 added eva-02 and darwin compatibility 2025-08-18 22:41:24 -07:00
c9206fe095 added sqlmap, jq, and other programs 2025-08-18 19:34:39 -07:00
9913fbbe27 fixed ghostty and added base-experimental hyprland 2025-08-11 01:01:41 -07:00
63c98366e7 fixed home-manager flake 2025-08-06 13:26:21 -07:00
1213fd6343 more yubikey support 2025-08-06 11:56:46 -07:00
b1a349b2f8 updated flakes, added mcfly, disabled opencode due to failed build 2025-08-06 03:03:22 -07:00
eb1d846c11 adding age pkgs 2025-08-04 11:25:49 -07:00
6323c5eaca adding age pkgs 2025-08-04 11:14:22 -07:00
e9769fd23f readded buildbox configs for git 2025-07-30 02:37:18 -07:00
e8508fbc73 finalized buildbox integration 2025-07-30 02:27:44 -07:00
3df4913796 integrated buildbox 2025-07-30 01:31:18 -07:00
2fac0e3705 abstracted hostnames so that each machine can now use seperate home-manager configs 2025-07-29 23:26:03 -07:00
8e5e8f9a08 reorganized machine configs as hosts 2025-07-29 21:53:16 -07:00
7059b2162c updates to cyber packages and other small changes 2025-07-08 23:24:39 -04:00
7b36212651 added a bunch of cyber tools 2025-06-30 12:17:56 -07:00
5cca008a30 added some new programs and commands, removed tailwindcss nixvim plugin do to long compile time 2025-06-30 11:27:18 -07:00
03583ad819 cleanup and more swap for eva-01 2025-05-26 18:00:33 -07:00
5c904cdd30 fixed nerd-fonts for eva-03 and temp removed rofi 2025-05-26 15:45:48 -07:00
02eaaae4b1 updated to 25.05 2025-05-26 10:34:13 -07:00
c2f99bc5ab added 'stable' vllm 2025-05-21 19:13:30 -07:00
0e54ecfac4 updates and added unstable for packages in home manager 2025-05-21 18:50:50 -07:00
4168b42081 added rofi 2025-05-05 02:04:51 -07:00
06cc1709f1 updated command structure and nixvim 2025-05-05 01:00:46 -07:00
d979f7daec fixed hostnames and added unstable config 2025-04-22 17:22:04 -07:00
f1187ceba7 boot loader configs 2025-04-18 20:18:33 -07:00
bd7415ce9c added eva-03 2025-04-17 19:28:18 -07:00
4793017722 flake update 2025-04-09 12:05:56 -07:00
d93dd8a14e add ssh pub key 2025-04-09 02:19:12 -07:00
7c1253eeb5 Overall updates, fixed fastfetch path for pfp 2025-04-07 16:58:03 -07:00
fa0d58aa6f added nixos-hardware flake for thinkpad x1 nano gen1 2025-04-01 15:18:55 -07:00
52f599371c moved configuration and hardware .nix to eva-01 2025-04-01 11:19:36 -07:00
5f3a231a92 moved cli stuff to commands in home-manager 2025-04-01 10:45:55 -07:00
8b8b4f9201 moved apps to programs in home-manager 2025-04-01 10:38:41 -07:00
2ac729b234 reorganization 2025-04-01 02:59:45 -07:00
740d1f02df fixed git signing 2025-03-18 17:37:43 -07:00
5989f6c06d update 2025-03-18 17:19:59 -07:00
040d270eaf update 2025-03-17 03:35:29 -07:00
64e67a7e2e removed depricated ghostty flake 2025-03-04 14:26:01 -08:00
229850cc9e Flake update 2025-02-26 15:23:17 -08:00
a986cafdd9 fixed plocate (must add group user), and fixed time on starship 2025-02-16 01:26:47 -08:00
014c19f30c thefuck alias working 2025-02-13 15:36:02 -08:00
78eaad45a5 moved starship to a seperate config file 2025-02-12 22:20:35 -08:00
01dd869d11 added ghostty via home-manager 2025-02-12 21:13:43 -08:00
825752b89f ssh server configured 2025-02-03 16:31:34 -08:00
593390725d Added more packages 2025-01-16 17:44:00 -08:00
57 changed files with 3615 additions and 234 deletions

4
.gitattributes vendored Normal file
View File

@@ -0,0 +1,4 @@
*.jpg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.webp filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text

BIN
assets/eva-01.jpg LFS Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/pfp/Jiji.jpg LFS Normal file

Binary file not shown.

BIN
assets/pfp/jaUtSEI.jpg LFS Normal file

Binary file not shown.

BIN
assets/pfp/jiro.jpg LFS Normal file

Binary file not shown.

BIN
assets/pfp/neonNerv.png LFS Normal file

Binary file not shown.

BIN
assets/pfp/uptime-kuma.png LFS Normal file

Binary file not shown.

268
flake.lock generated Normal file
View File

@@ -0,0 +1,268 @@
{
"nodes": {
"flake-compat": {
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"revCount": 69,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1760948891,
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1763759067,
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1764866045,
"narHash": "sha256-0GsEtXV9OquDQ1VclQfP16cU5VZh7NEVIOjSH4UaJuM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f63d0fe9d81d36e5fc95497217a72e02b8b7bcab",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager",
"type": "github"
}
},
"home-manager-unstable": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1764998300,
"narHash": "sha256-fZatn/KLfHLDXnF0wy7JxXqGaZmGDTVufT4o/AOlj44=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "27a6182347ccae90a88231ae0dc5dfa7d15815bb",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1765065051,
"narHash": "sha256-b7W9WsvyMOkUScNxbzS45KEJp0iiqRPyJ1I3JBE+oEE=",
"owner": "nix-darwin",
"repo": "nix-darwin",
"rev": "7e22bf538aa3e0937effcb1cee73d5f1bcc26f79",
"type": "github"
},
"original": {
"owner": "nix-darwin",
"ref": "master",
"repo": "nix-darwin",
"type": "github"
}
},
"nix-snapd": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1761703712,
"narHash": "sha256-OKuNVXmHuZ0zi8T0aGWrBJizIfvdTqV1RiV0IN8GPZs=",
"owner": "nix-community",
"repo": "nix-snapd",
"rev": "f7694a0e26d890e285137e1b726b1b44038805c4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-snapd",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1764440730,
"narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1761442529,
"narHash": "sha256-8aDps5fCt0Ndw56ZgeBvdT7E5zeUSFi3CJaNR7ZJKnA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "75762615e96b1a7f172dcdadf62aa9f3aebedf7b",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1754788789,
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1764950072,
"narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f61125a668a320878494449750330ca58b78c557",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1764831616,
"narHash": "sha256-OtzF5wBvO0jgW1WW1rQU9cMGx7zuvkF7CAVJ1ypzkxA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c97c47f2bac4fa59e2cbdeba289686ae615f8ed4",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs-unstable"
],
"systems": "systems"
},
"locked": {
"lastModified": 1765043977,
"narHash": "sha256-Gcdn1s/ynXRFNqInTcYltAi1gqgmTKw8Hw6OSfFNWMY=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "b65233d5f9736cf8d8fe9d4652e1faf610b574bc",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixvim",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable",
"nix-darwin": "nix-darwin",
"nix-snapd": "nix-snapd",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

95
flake.nix Normal file
View File

@@ -0,0 +1,95 @@
{
description = "Nixos Config Flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nix-darwin.url = "github:nix-darwin/nix-darwin/master";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs-unstable";
nix-snapd.url = "github:nix-community/nix-snapd";
nix-snapd.inputs.pkgs-unstable.follows = "nixpkgs";
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager-unstable = {
url = "github:nix-community/home-manager/";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixos-hardware = {
url = "github:NixOS/nixos-hardware/master";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{ self,
home-manager,
home-manager-unstable,
nix-darwin,
nix-snapd,
nixos-hardware,
nixpkgs,
nixpkgs-unstable,
nixvim,
...
}@inputs:
let
system = "x86_64-linux";
configPath = "/etc/nixos";
pkgs-unstable = import nixpkgs-unstable {
system = system;
config.allowUnfree = true;
};
in
{
nixosConfigurations = {
buildbox = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "buildbox";};
system = system;
modules = [
./hosts/buildbox/configuration.nix
inputs.home-manager.nixosModules.default
];
};
eva-01 = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "eva-01";};
system = system;
modules = [
./hosts/eva-01/configuration.nix
inputs.home-manager.nixosModules.default
nixos-hardware.nixosModules.lenovo-thinkpad-x1-nano-gen1
nix-snapd.nixosModules.default { services.snap.enable = true; }
];
};
eva-03 = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "eva-03";};
system = system;
modules = [
./hosts/eva-03/configuration.nix
inputs.home-manager.nixosModules.default
];
};
};
darwinConfigurations = {
eva-02 = nix-darwin.lib.darwinSystem{
specialArgs = {inherit inputs configPath;} // {hostname = "eva-02";};
system = "aarch64-darwin";
modules = [
./hosts/eva-02/configuration.nix
inputs.home-manager-unstable.darwinModules.home-manager
];
};
};
};
}

View File

@@ -1,190 +0,0 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
#cli tools
bat
btop
curl
docker
dust
ghostty
git
neovim
nettools
nix-prefetch-github
nmap
openssh
tailscale
thefuck
tldr
unzip
vim
wget
];
programs = {
fastfetch.enable = true;
fzf.enable = true;
bat.enable = true;
btop.enable = true;
kitty.enable = true;
yazi.enable = true;
starship.enable = true;
lazygit.enable = true;
#thefuck.enable = true;
#thefuck.enableZshIntegration = true;
git = {
enable = true;
userName = "USER";
};
eza = {
enable = true;
icons = "auto";
enableZshIntegration = true;
extraOptions = [
"--group-directories-first"
];
};
ssh = {
enable = true;
matchBlocks = {
global = {
host = "*";
setEnv = {
TERM = "xterm-256color";
};
};
};
# Add IdentityAgent configuration here
extraConfig = ''
IdentityAgent ~/.1password/agent.sock
'';
};
zoxide = {
enable = true;
enableZshIntegration = true;
};
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
historySubstringSearch.enable = true;
shellAliases = {
ls = "eza --color=auto";
grep = "grep --color=auto";
ll = "eza -la";
lg = "lazygit";
fu = "fuck";
lt = "eza --tree";
cd = "z";
cat = "bat";
catp = "bat -p";
btop = "btop --utf-force";
open = "xdg-open";
};
initExtra = ''
. ~/.nix-profile/etc/profile.d/nix.sh
fastfetch
'';
history = {
size = 10000;
path = "${config.xdg.dataHome}/zsh/history";
};
oh-my-zsh = {
enable = true;
#plugins = ["thefuck"];
};
};
starship = {
settings = {
add_newline = true;
format = lib.concatStrings [
"$time"
"$directory"
"$git_branch"
"$git_status"
"$hostname"
"$golang"
"direnv"
"$status"
];
right_format = lib.concatStrings [
"$cmd_duration"
];
cmd_duration = {
disabled = false;
show_notifications = false;
min_time = 2000;
format = "[$duration](bold yellow)";
};
directory = {
style = "cyan";
format = ''\[[$path]($style)\] '';
};
direnv = {
disabled = false;
};
git_branch = {
style = "bold cyan";
format = ''\[[$symbol$branch(:$remote_branch)]($style)\] '';
};
git_status = {
format = "[($all_status$ahead_behind )]($style)";
conflicted = "🏳";
ahead = "\${count}";
diverged = "\${ahead_count}\${behind_count}";
behind = "\${count}";
up_to_date = "";
untracked = "🤷";
stashed = "📦";
modified = "📝";
staged = ''[++\($count\)](green)'';
renamed = "👅";
deleted = "🗑";
};
golang = {
format = ''\[[$symbol($version)]($style)\]'';
};
hostname = {
format = "[$ssh_symbol$hostname]($style) ";
};
status = {
disabled = false;
success_symbol = "[](bold red)[](bold yellow)[](bold green) ";
symbol = "[](bold red) ";
format = "$symbol";
};
time = {
disabled = false;
style = "cyan";
format = ''\[[$time]($style)\] '';
};
};
};
};
}

View File

@@ -0,0 +1,151 @@
{
pkgs,
pkgs-unstable,
lib,
hostname,
...
}:
{
imports = [
./direnv.nix
./custom/custom.nix
./eza.nix
./fastfetch/fastfetch.nix
./git.nix
./newsboat.nix
./nixvim/default.nix
./starship.nix
./tmux.nix
./zsh.nix
];
home.packages = with pkgs; [
age
age-plugin-1p
age-plugin-yubikey
agedu
awscli2
b3sum
bat
btop
cbonsai
curl
dig
dust
# esptool
fd
fzf
ffmpeg-full
gemini-cli
git-filter-repo
graphviz
jq
kitty
lazygit
nix-du
nmap
ocamlPackages.utop
opencode
openconnect
openssl
ripgrep
s3cmd
# sage
termusic
timg
tldr
trippy
trivy
wget
wireguard-tools
yazi
yt-dlp
yubikey-manager
zstd
]
++ lib.optionals (hostname == "eva-01") [
# cli
parted
traceroute
# cyber
amass
bettercap
bloodhound
bully
burpsuite
cowpatty
crunch
dirbuster
dnschef
ffuf
hash-identifier
hashcat
hashcat-utils
hping
macchanger
medusa
netdiscover
netexec
pwnat
pwncat
reaverwps-t6x
recon-ng
rustscan
sqlmap
steghide
thc-hydra
]
++ lib.optionals (hostname == "eva-02") [
]
++ lib.optionals (hostname == "eva-03") [
# cli
parted
traceroute
]
++ lib.optionals (hostname == "buildbox") [
# cli
parted
traceroute
];
programs = {
ssh = {
enable = true;
matchBlocks = {
global = {
host = "*";
setEnv = {
TERM = "xterm-256color";
};
};
} // lib.optionalAttrs (hostname == "buildbox") {
"192.168.8.109" = {
identityFile = "~/.ssh/gitea-buildbox";
user = "gitea";
};
"github.com" = {
identityFile = "~/.ssh/github-buildbox";
user = "git";
};
};
extraConfig = if hostname == "eva-02"
then ''
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
''
else ''
IdentityAgent ~/.1password/agent.sock
'';
};
zoxide = {
enable = true;
enableZshIntegration = true;
};
};
}

View File

@@ -0,0 +1,10 @@
# build.nix
let
# Import your nixpkgs channel. The <> syntax finds it automatically.
pkgs = import <nixpkgs> {
# Apply your overlay here
overlays = [ (import ./sage.nix) ];
};
in
# This file now evaluates to exactly one thing: the sage package.
pkgs.sage

View File

@@ -0,0 +1,12 @@
{
pkgs,
hostname,
...
}:
{
nixpkgs.overlays = [
(import ./sage.nix)
];
}

View File

@@ -0,0 +1,27 @@
final: prev: {
# We are adding a package named 'sage' to the package set
sage = prev.rustPlatform.buildRustPackage rec {
pname = "sage";
version = "0.1.0";
src = prev.fetchFromGitHub {
owner = "Rogue-King";
repo = "sage";
rev = "v${version}";
sha256 = "sha256-nR0EhRJFUHwQHnJagXHkP/A1fGIoMZtXXuJf70/iDas=";
};
# Placeholder hash for cargo dependencies - the build will tell you the correct one.
cargoHash = "sha256-BXTEUGH2KB1gYl9cERVPbhAs0soezsSabg0nDedEjRI=";
#cargoLock.lockFile = ./Cargo.lock;
meta = with prev.lib; {
description = "A tool for elegant mathematics";
homepage = "https://github.com/Rogue-King/sage";
license = licenses.mit;
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
maintainers = with maintainers; [ ];
};
};
}

View File

@@ -0,0 +1,12 @@
{
programs = {
eza = {
enable = true;
icons = "auto";
enableZshIntegration = true;
extraOptions = [
"--group-directories-first"
];
};
};
}

View File

@@ -1,15 +1,22 @@
{
hostname,
lib,
...
}:
{
programs = {
fastfetch = {
enable = true;
settings = {
logo = {
source = "/etc/nixos/home-manager/fastfetch/assets/evangelion-mecha-neon-genesis-desktop-wallpaper-cover.jpg";
source = lib.mkIf (hostname == "eva-01") "/etc/nixos/assets/pfp/eva-01.jpg";
type = "kitty";
height = 20;
width = 60;
padding = {
top = 2; #2;
top = 2; # 2;
left = 2; # 3;
};
};

View File

@@ -0,0 +1,38 @@
{
hostname,
lib,
...
}:
{
programs = {
git = {
enable = true;
lfs.enable = true;
settings = {
user = {
name = "rogueking";
email = "miguel@muniz.org";
};
} // lib.optionalAttrs (! (lib.elem hostname [ "buildbox" ])) {
gpg = {
format = "ssh";
ssh = lib.optionalAttrs (hostname == "eva-02") {
program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign";
};
};
};
} // lib.optionalAttrs (! (lib.elem hostname [ "buildbox" ])) {
signing = {
signByDefault = true;
signer = if hostname == "eva-02"
then
"/Applications/1Password.app/Contents/MacOS/op-ssh-sign"
else
"/opt/1Password/op-ssh-sign";
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHI7zcxrwwg4VqpGduhPX31aslzXwkRXiM32+8K+aIMu";
};
};
};
}

View File

@@ -0,0 +1,9 @@
{
programs.newsboat = {
enable = true;
urls = [
{ url = "https://dev.to/feed"; }
{ url = "https://stackoverflow.blog/feed/"; }
];
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
hostname,
...
}:
{
programs.nixvim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
colorschemes.everforest = {
enable = true;
settings = {
background = "soft"; #"hard"
transparent_background = 1;
};
};
opts = {
number = true;
relativenumber = true;
expandtab = true;
shiftwidth = 2;
tabstop = 2;
};
diagnostic.settings = {
virtual_text = true;
update_in_insert = true;
severity_sort = true;
};
globals = {
mapleader = " ";
maplocalleader = " ";
};
clipboard.providers.wl-copy.enable = lib.mkIf (hostname != "eva-02") true;
};
}

View File

@@ -0,0 +1,7 @@
{
imports = [
./config.nix
./keymaps.nix
./plugins/default.nix
];
}

View File

@@ -0,0 +1,129 @@
{
programs.nixvim = {
keymaps = [
{
action = ":q<CR>";
key = "<leader>q";
options = {
silent = true;
noremap = true;
desc = "Quit";
};
}
{
action = ":w<CR>";
key = "<leader>w";
options = {
silent = true;
noremap = true;
desc = "Save";
};
}
{
action = ":wq<CR>";
key = "<leader>wq";
options = {
silent = true;
noremap = true;
desc = "Save and quit";
};
}
{
action = "<C-\\><C-n>:ToggleTerm direction=float<CR>";
key = "<leader>t";
mode = [
"n"
"v"
"t"
];
options = {
silent = true;
noremap = true;
desc = "Toggle floating terminal";
};
}
{
action = ":Telescope live_grep<CR>";
key = "<leader>lg";
options = {
silent = true;
noremap = true;
desc = "Live grep";
};
}
{
action = ":Telescope find_files<CR>";
key = "<leader>ff";
options = {
silent = true;
noremap = true;
desc = "Find file";
};
}
{
action = ":Telescope oldfiles<CR>";
key = "<leader>of";
options = {
silent = true;
noremap = true;
desc = "Browse recent files";
};
}
{
action = ":Telescope file_browser<CR>";
key = "<leader>fb";
options = {
silent = true;
noremap = true;
desc = "Directory-based file browser";
};
}
{
action = ":Neotree toggle reveal<CR>";
key = "<leader>nt";
options = {
silent = true;
noremap = true;
desc = "Toggle file tree";
};
}
{
action = ":Neotree focus<CR>";
key = "<leader>nf";
options = {
silent = true;
noremap = true;
desc = "Toggle file tree focus";
};
}
{
action = ":Glance definitions<CR>";
key = "<leader>gd";
options = {
silent = true;
noremap = true;
desc = "Glance definitions";
};
}
{
action = ":Glance references<CR>";
key = "<leader>gr";
options = {
silent = true;
noremap = true;
desc = "Glance references";
};
}
{
action = "\"+y<CR>";
key = "<leader>y";
mode = [ "v" ];
options = {
silent = true;
noremap = true;
desc = "Glance references";
};
}
];
};
}

View File

@@ -0,0 +1,68 @@
{
programs.nixvim.plugins = {
blink-cmp = {
enable = true;
settings = {
completion = {
accept = {
auto_brackets = {
enabled = true;
semantic_token_resolution = {
enabled = false;
};
};
};
documentation = {
auto_show = true;
};
};
keymap = {
"<C-e>" = [
"hide"
];
"<C-d>" = [
"scroll_documentation_up"
"fallback"
];
"<C-f>" = [
"scroll_documentation_down"
"fallback"
];
"<Tab>" = [
"select_next"
"fallback"
];
"<S-Tab>" = [
"select_prev"
"fallback"
];
"<C-space>" = [
"show"
"show_documentation"
"hide_documentation"
];
"<CR>" = [
"select_and_accept"
"fallback"
];
"<Down>" = [
"select_next"
"fallback"
];
"<Up>" = [
"select_prev"
"fallback"
];
"<S-s>" = [
"snippet_backward"
"fallback"
];
"<s>" = [
"snippet_forward"
"fallback"
];
};
};
};
};
}

View File

@@ -0,0 +1,47 @@
{
programs.nixvim.plugins = {
codecompanion = {
enable = true;
settings = {
adapters = {
ollama = {
__raw = ''
function()
return require('codecompanion.adapters').extend('ollama', {
env = {
url = "http://miguel-pc:11434",
},
schema = {
model = {
default = 'qwen2.5-coder:14b',
},
num_ctx = {
default = 32768,
},
},
})
end
'';
};
};
opts = {
log_level = "TRACE";
send_code = true;
use_default_actions = true;
use_default_prompts = true;
};
strategies = {
agent = {
adapter = "ollama";
};
chat = {
adapter = "ollama";
};
inline = {
adapter = "ollama";
};
};
};
};
};
}

View File

@@ -0,0 +1,56 @@
{
config,
lib,
hostname,
...
}:
{
imports = [
#./blink-cmp.nix
./glance.nix
./illuminate.nix
./indent-blankline.nix
./lint.nix
./lsp.nix
./scrollview.nix
./startup.nix
./telescope.nix
./which-key.nix
];
programs.nixvim.plugins = {
cmp-nvim-lsp.enable = true;
cmp.enable = true;
cmp_luasnip.enable = true;
colorizer.enable = true;
comment.enable = true;
diffview.enable = true;
direnv.enable = true;
gitblame.enable = true;
gitsigns.enable = true;
# hardtime.enable = true;
intellitab.enable = true;
lastplace.enable = true;
lsp-format.enable = true;
lsp-lines.enable = true;
lsp-signature.enable = true;
lualine.enable = true;
luasnip.enable = true;
markview.enable = true;
multicursors.enable = true;
neo-tree.enable = true;
neoscroll.enable = true;
nvim-autopairs.enable = true;
refactoring.enable = true;
toggleterm.enable = true;
treesitter.enable = true;
web-devicons.enable = true;
zig.enable = true;
};
programs.nixvim.performance.byteCompileLua = {
enable = true;
plugins = true;
};
}

View File

@@ -0,0 +1,11 @@
{
programs.nixvim.plugins = {
glance = {
enable = true;
settings = {
border.enable = true;
theme.mode = "darken";
};
};
};
}

View File

@@ -0,0 +1,14 @@
{
programs.nixvim.plugins = {
illuminate.settings = {
enable = true;
delay = 100;
minCountToHighlight = 1;
modesAllowlist = [
"n"
"i"
"v"
];
};
};
}

View File

@@ -0,0 +1,14 @@
{
programs.nixvim.plugins = {
indent-blankline = {
enable = true;
settings = {
scope = {
show_end = true;
show_exact_scope = true;
show_start = true;
};
};
};
};
}

View File

@@ -0,0 +1,13 @@
{
programs.nixvim.plugins = {
lint = {
enable = true;
autoCmd = {
event = [
"InsertLeave"
"TextChanged"
];
};
};
};
}

View File

@@ -0,0 +1,36 @@
{ pkgs, ... }:
{
programs.nixvim.plugins = {
lsp = {
enable = true;
servers = {
nil_ls.enable = true;
nixd = {
enable = true;
extraOptions = {
offset_encoding = "utf-8";
};
};
html.enable = true;
ts_ls.enable = true;
#tailwindcss.enable = true;
gopls.enable = true;
golangci_lint_ls.enable = true;
eslint.enable = true;
templ.enable = true;
pylsp.enable = true;
sqls.enable = true;
ocamllsp = {
enable = true;
package = pkgs.ocamlPackages.ocaml-lsp;
};
#rust_analyzer = { #Build Failure
# enable = true;
# installCargo = true;
# installRustc = true;
#};
zls.enable = true;
};
};
};
}

View File

@@ -0,0 +1,12 @@
{
programs.nixvim.plugins = {
scrollview = {
enable = true;
settings = {
signs_on_startup = [
"all"
];
};
};
};
}

View File

@@ -0,0 +1,63 @@
{
programs.nixvim.plugins = {
startup = {
enable = true;
settings.parts = [
"header"
"body"
];
settings.sections = {
header = {
align = "center";
content = {
__raw = "require('startup.headers').hydra_header";
};
defaultColor = "";
foldSection = false;
highlight = "Statement";
margin = 5;
oldfilesAmount = 0;
title = "Header";
type = "text";
};
body = {
align = "center";
content = [
[
" Find File"
"Telescope find_files"
"<leader>ff"
]
[
"󰍉 Find Word"
"Telescope live_grep"
"<leader>lg"
]
[
" Recent Files"
"Telescope oldfiles"
"<leader>of"
]
[
" File Browser"
"Telescope file_browser"
"<leader>fb"
]
[
" New File"
"lua require'startup'.new_file()"
"<leader>nf"
]
];
defaultColor = "";
foldSection = false;
highlight = "String";
margin = 5;
oldfilesAmount = 0;
title = "Basic Commands";
type = "mapping";
};
};
};
};
}

View File

@@ -0,0 +1,16 @@
{
programs.nixvim.plugins = {
telescope = {
enable = true;
extensions.file-browser = {
enable = true;
settings = {
hidden = {
file_browser = true;
folder_browser = true;
};
};
};
};
};
}

View File

@@ -0,0 +1,45 @@
{
programs.nixvim.plugins = {
which-key = {
enable = true;
settings = {
preset = "modern";
delay = 500;
expand = 1;
notify = false;
win = {
border = "single";
padding = [
1
1
];
wo.winblend = 10;
};
replace = {
desc = [
[
"<space>"
"SPACE"
]
[
"<leader>"
"SPACE"
]
[
"<[cC][rR]>"
"RETURN"
]
[
"<[tT][aA][bB]>"
"TAB"
]
[
"<[bB][sS]>"
"BACKSPACE"
]
];
};
};
};
};
}

View File

@@ -0,0 +1,90 @@
{ lib, ... }:
{
programs = {
starship = {
enable = true;
settings = {
add_newline = true;
format = lib.concatStrings [
"$time"
"$directory"
"$git_branch"
"$git_status"
"$hostname"
"$golang"
"direnv"
"$status"
];
right_format = lib.concatStrings [
"$cmd_duration"
];
cmd_duration = {
disabled = false;
show_notifications = false;
min_time = 2000;
format = "[$duration](bold yellow)";
};
directory = {
style = "cyan";
format = ''\[[$path]($style)\] '';
};
direnv = {
disabled = false;
};
git_branch = {
style = "bold cyan";
format = ''\[[$symbol$branch(:$remote_branch)]($style)\] '';
};
git_status = {
format = "[($all_status$ahead_behind )]($style)";
conflicted = "🏳";
ahead = "\${count}";
diverged = "\${ahead_count}\${behind_count}";
behind = "\${count}";
up_to_date = "";
untracked = "🤷";
stashed = "📦";
modified = "📝";
staged = ''[++\($count\)](green)'';
renamed = "👅";
deleted = "🗑";
};
golang = {
format = ''\[[$symbol($version)]($style)\]'';
};
hostname = {
format = "[$ssh_symbol$hostname]($style) ";
};
rust = {
format = ''[$symbol($version )]($style)'';
};
status = {
disabled = false;
success_symbol = "[](bold red)[](bold yellow)[](bold green) ";
symbol = "[](bold red) ";
format = "$symbol";
};
time = {
disabled = false;
style = "cyan";
format = ''\[[$time]($style)\] '';
use_12hr = true;
};
};
};
};
}

View File

@@ -0,0 +1,25 @@
{ pkgs, ... }:
{
programs = {
tmux = {
enable = true;
mouse = true;
baseIndex = 1;
keyMode = "vi";
historyLimit = 5000;
prefix = "C-a";
terminal = "xterm-ghostty";
disableConfirmationPrompt = true;
plugins = with pkgs; [
tmuxPlugins.vim-tmux-navigator
tmuxPlugins.tilish
tmuxPlugins.resurrect
tmuxPlugins.gruvbox
tmuxPlugins.continuum
tmuxPlugins.prefix-highlight
];
extraConfig = "bind C-l send-keys 'C-l'";
};
};
}

View File

@@ -0,0 +1,63 @@
{ config, configPath, hostname, ... }:
{
programs = {
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
historySubstringSearch.enable = true;
shellAliases = {
cd = "z";
cat = "bat";
catp = "bat -pP";
find = "fd";
grep = "rg";
lg = "lazygit";
ll = "eza -la";
ls = "eza --color=auto";
lt = "eza --tree";
open = "xdg-open";
locate = "sudo plocate";
tulpn = "sudo netstat -tulpn";
rebuild = if hostname == "eva-02"
then
"sudo darwin-rebuild switch --flake .#eva-02"
else
"sudo nixos-rebuild switch --flake /etc/nixos#$(uname -n)";
};
# profileExtra = ''
# export SSH_AUTH_SOCK=~/.1password/agent.sock
# '';
profileExtra = if hostname == "eva-02"
then ''
export SSH_AUTH_SOCK="~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
''
else ''
export SSH_AUTH_SOCK=~/.1password/agent.sock
'';
initContent = ''
fastfetch
'';
history = {
size = 10000;
path = "${config.xdg.dataHome}/zsh/history";
};
oh-my-zsh = {
enable = true;
};
};
mcfly = {
enable = true;
fzf.enable = true;
fuzzySearchFactor = 5;
};
};
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View File

@@ -1,16 +1,27 @@
{ config, pkgs, inputs, ... }:
{
config,
pkgs,
inputs,
...
}:
{
imports = [
./cli-tools.nix
./fastfetch/fastfetch.nix
./direnv.nix
];
./commands/commands.nix
./programs/programs.nix
inputs.nixvim.homeModules.nixvim
];
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "USER";
home.homeDirectory = "/home/USER";
home.username = "rogueking";
# home.homeDirectory = "/Users/rogueking";
home.homeDirectory =
if pkgs.stdenv.isDarwin then
"/Users/rogueking" # Path for macOS
else
"/home/rogueking"; # Path for Linux
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
@@ -19,16 +30,19 @@
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "24.11"; # Please read the comment before changing.
home.stateVersion = "25.05"; # Please read the comment before changing.
nixpkgs.config.allowUnfree = true;
fonts.fontconfig.enable = true;
# Allow specific insecure packages
nixpkgs.config.permittedInsecurePackages = [
#"python3.12-ecdsa-0.19.1"
];
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
#(pkgs.nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; })
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage

View File

@@ -0,0 +1,50 @@
{
hostname,
lib,
...
}:
{
programs.ghostty = {
enable = true;
package = lib.mkIf (hostname == "eva-02") null;
enableZshIntegration = true;
settings = {
# Use explicit theme instead of relying on system theme detection
theme = "Adwaita Dark";
# Explicitly set color scheme preference to avoid GTK warnings
#gtk-adwaita = true;
gtk-single-instance = true;
#custom-shader = "./shaders/tft.glsl";
font-family = "JetBrainsMono Nerd Font";
font-family-italic = "Maple Mono";
font-family-bold-italic = "Maple Mono";
font-size = 12;
bold-is-bright = true;
window-decoration = false;
background-opacity = 0.8;
#background-blur-radius = 120;
window-save-state = "always";
mouse-hide-while-typing = true;
cursor-invert-fg-bg = true;
keybind = [
"global:cmd+grave_accent=toggle_quick_terminal"
"super+shift+enter=new_window"
"super+shift+k=new_split:down"
"super+shift+l=new_split:right"
"super+shift+x=close_window"
];
};
};
#home.file.".config/ghostty/shaders" = {
# enable = true;
# source = ./shaders;
# recursive = true;
#};
}

View File

@@ -0,0 +1,38 @@
{
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock";
# unlock_cmd = "killall hyprlock";
before_sleep_cmd = "loginctl lock-session";
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
};
listeners = [
{
timeout = 30;
on-timeout = "pidof hyprlock && hyprctl dispatch dpms off";
on-resume = "pidof hyprlock && hyprctl dispatch dpms on";
}
{
timeout = 540;
on-timeout = "notify-send 'You are idle!'";
on-resume = "notify-send 'Welcome back!'";
}
{
timeout = 600;
on-timeout = "loginctl lock-session";
on-resume = "notify-send 'Desktop Unlocked!'";
}
# {
# timeout = 1200;
# on-timeout = "systemctl suspend";
# on-resume = "notify-send 'Welcome back to your desktop!'";
# }
];
};
};
}

View File

@@ -0,0 +1,164 @@
{ config, configPath, ... }:
{
wayland.windowManager.hyprland = {
enable = true;
settings = {
# === Monitor configuration ===
monitor = "eDP-1, 2560x1440@60.03300, 0x0, 1.25";
# === Autostart / Exec commands ===
exec-once = [
"sleep 1 && nm-applet --indicator"
"waybar"
"ghostty"
"swww-daemon"
"eww daemon"
"swww img ${configPath}/assets/ena/wallpaper.png"
];
# === Input settings ===
input = {
kb_layout = "us";
kb_variant = "";
kb_model = "";
kb_options = "";
kb_rules = "";
follow_mouse = true;
touchpad = {
natural_scroll = false;
};
sensitivity = 0;
};
# === General settings ===
general = {
gaps_in = 2.5;
gaps_out = 5;
border_size = 2;
"col.active_border" = "rgb(cdd6f4)";
"col.inactive_border" = "rgba(595959aa)";
layout = "dwindle";
};
misc = {
disable_hyprland_logo = true;
};
# === Decoration settings ===
decoration = {
rounding = 3;
blur = {
enabled = true;
size = 7;
passes = 3;
};
};
# === Animations ===
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
# === Dwindle layout options ===
dwindle = {
pseudotile = true;
preserve_split = true;
};
# === Gestures ===
gestures = {
workspace_swipe = true;
workspace_swipe_fingers = 3;
workspace_swipe_invert = true;
workspace_swipe_distance = 200;
workspace_swipe_forever = true;
};
# === Per-device configuration ===
device = [
{
name = "epic-mouse-v1";
sensitivity = -0.5;
}
];
# === Window rules (v2) ===
windowrulev2 = [
"opacity 0.8 0.8,class:^(dolphin)$"
];
# === Modifier key ===
"$mod" = "SUPER";
# === Key bindings ===
bind = [
"$mod, T, exec, ghostty"
"$mod, Q, killactive"
"$mod, L, exec, hyprlock"
"$mod, M, exec, wlogout --protocol layer-shell"
"$mod SHIFT, M, exit"
"$mod, E, exec, dolphin"
"$mod, V, togglefloating"
"$mod, SPACE, exec, rofi -show drun"
"$mod, P, pseudo"
"$mod, J, togglesplit"
"$mod, S, exec, flameshot full"
"$mod SHIFT, S, exec, flameshot gui"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
"$mod SHIFT, left, movewindow, l"
"$mod SHIFT, right, movewindow, r"
"$mod SHIFT, up, movewindow, u"
"$mod SHIFT, down, movewindow, d"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod, 0, workspace, 10"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, 9, movetoworkspace, 9"
"$mod SHIFT, 0, movetoworkspace, 10"
"$mod, mouse_down, workspace, e+1"
"$mod, mouse_up, workspace, e-1"
"$mod SHIFT, L, resizeactive, 10 0"
"$mod SHIFT, H, resizeactive, -10 0"
"$mod SHIFT, K, resizeactive, 0 -10"
"$mod SHIFT, J, resizeactive, 0 10"
];
# === Mouse bindings ===
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
};
};
}

View File

@@ -0,0 +1,48 @@
{ configPath, ... }:
{
programs.hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 10;
hide_cursor = true;
no_fade_in = false;
};
background = [
{
path = "${configPath}/assets/ena/wallpaper.png";
blur_passes = 3;
blur_size = 8;
}
];
image = [
{
path = "${configPath}/assets/pfp.jpg";
size = 150;
border_size = 4;
border_color = "rgb(0C96F9)";
rounding = -1;
position = "0, 200";
halign = "center";
valign = "center";
}
];
input-field = [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(CFE6F4)";
inner_color = "rgb(657DC2)";
outer_color = "rgb(0D0E15)";
outline_thickness = 5;
placeholder_text = "Password...";
shadow_passes = 2;
}
];
};
};
}

View File

@@ -0,0 +1,275 @@
{
pkgs,
lib,
config,
...
}:
let
betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
clock24h = false;
in
with lib;
{
# Configure & Theme Waybar
programs.waybar = {
enable = true;
package = pkgs.waybar;
settings = [
{
layer = "top";
position = "top";
modules-center = [ "hyprland/workspaces" ];
modules-left = [
"custom/startmenu"
"hyprland/window"
"pulseaudio"
"cpu"
"memory"
"idle_inhibitor"
];
modules-right = [
"custom/hyprbindings"
"custom/notification"
"custom/exit"
"battery"
"tray"
"clock"
];
"hyprland/workspaces" = {
format = "{name}";
format-icons = {
default = " ";
active = " ";
urgent = " ";
};
on-scroll-up = "hyprctl dispatch workspace e+1";
on-scroll-down = "hyprctl dispatch workspace e-1";
};
"clock" = {
format = if clock24h == true then '' {:L%H:%M}'' else '' {:L%I:%M %p}'';
tooltip = true;
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
};
"hyprland/window" = {
max-length = 22;
separate-outputs = false;
rewrite = {
"" = " 🙈 No Windows? ";
};
};
"memory" = {
interval = 5;
format = " {}%";
tooltip = true;
};
"cpu" = {
interval = 5;
format = " {usage:2}%";
tooltip = true;
};
"disk" = {
format = " {free}";
tooltip = true;
};
"network" = {
format-icons = [
"󰤯"
"󰤟"
"󰤢"
"󰤥"
"󰤨"
];
format-ethernet = " {bandwidthDownOctets}";
format-wifi = "{icon} {signalStrength}%";
format-disconnected = "󰤮";
tooltip = false;
};
"tray" = {
spacing = 12;
};
"pulseaudio" = {
format = "{icon} {volume}% {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {format_source}";
format-muted = " {format_source}";
format-source = " {volume}%";
format-source-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [
""
""
""
];
};
on-click = "sleep 0.1 && pavucontrol";
};
"custom/exit" = {
tooltip = false;
format = "";
on-click = "sleep 0.1 && wlogout";
};
"custom/startmenu" = {
tooltip = false;
format = "";
# exec = "rofi -show drun";
on-click = "sleep 0.1 && rofi-launcher";
};
"custom/hyprbindings" = {
tooltip = false;
format = "󱕴";
on-click = "sleep 0.1 && list-keybinds";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
};
tooltip = "true";
};
"custom/notification" = {
tooltip = false;
format = "{icon} {}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = "";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = "";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "sleep 0.1 && task-waybar";
escape = true;
};
"battery" = {
states = {
warning = 30;
critical = 15;
};
format = "{icon} {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = "󱘖 {capacity}%";
format-icons = [
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
on-click = "";
tooltip = false;
};
}
];
style = concatStrings [
''
* {
font-family: JetBrainsMono Nerd Font Mono;
font-size: 16px;
border-radius: 0px;
border: none;
min-height: 0px;
}
window#waybar {
background: rgba(0,0,0,0);
}
#workspaces {
color: #${config.lib.stylix.colors.base00};
background: #${config.lib.stylix.colors.base01};
margin: 4px 4px;
padding: 5px 5px;
border-radius: 16px;
}
#workspaces button {
font-weight: bold;
padding: 0px 5px;
margin: 0px 3px;
border-radius: 16px;
color: #${config.lib.stylix.colors.base00};
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
opacity: 0.5;
transition: ${betterTransition};
}
#workspaces button.active {
font-weight: bold;
padding: 0px 5px;
margin: 0px 3px;
border-radius: 16px;
color: #${config.lib.stylix.colors.base00};
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
transition: ${betterTransition};
opacity: 1.0;
min-width: 40px;
}
#workspaces button:hover {
font-weight: bold;
border-radius: 16px;
color: #${config.lib.stylix.colors.base00};
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
opacity: 0.8;
transition: ${betterTransition};
}
tooltip {
background: #${config.lib.stylix.colors.base00};
border: 1px solid #${config.lib.stylix.colors.base08};
border-radius: 12px;
}
tooltip label {
color: #${config.lib.stylix.colors.base08};
}
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
font-weight: bold;
margin: 4px 0px;
margin-left: 7px;
padding: 0px 18px;
background: #${config.lib.stylix.colors.base04};
color: #${config.lib.stylix.colors.base00};
border-radius: 24px 10px 24px 10px;
}
#custom-startmenu {
color: #${config.lib.stylix.colors.base0B};
background: #${config.lib.stylix.colors.base02};
font-size: 28px;
margin: 0px;
padding: 0px 30px 0px 15px;
border-radius: 0px 0px 40px 0px;
}
#custom-hyprbindings, #network, #battery,
#custom-notification, #tray, #custom-exit {
font-weight: bold;
background: #${config.lib.stylix.colors.base0F};
color: #${config.lib.stylix.colors.base00};
margin: 4px 0px;
margin-right: 7px;
border-radius: 10px 24px 10px 24px;
padding: 0px 18px;
}
#clock {
font-weight: bold;
color: #0D0E15;
background: linear-gradient(90deg, #${config.lib.stylix.colors.base0E}, #${config.lib.stylix.colors.base0C});
margin: 0px;
padding: 0px 15px 0px 30px;
border-radius: 0px 0px 0px 40px;
}
''
];
};
}

View File

@@ -0,0 +1,84 @@
{ pkgs, hostname, lib, ... }:
{
imports = lib.optionals (! (lib.elem hostname [ "buildbox" "eva-02" ])) [
./ghostty/ghostty.nix
./rofi/rofi.nix
./hypr/hypridle.nix
./hypr/hyprland.nix
./hypr/hyprlock.nix
#./hypr/waybar.nix
]
++ lib.optionals (hostname == "eva-02") [
./ghostty/ghostty.nix
];
home.packages =
lib.optionals (! (lib.elem hostname [ "buildbox" "eva-02" ])) (with pkgs; [
#pwndbg
bambu-studio
blender
brave
desmume
gparted
# jellyfin-media-player
kdePackages.bluedevil
kdePackages.bluez-qt
kdePackages.kate
kdePackages.kdeconnect-kde
kdePackages.oxygen-sounds
kdePackages.partitionmanager
kdePackages.isoimagewriter
libreoffice-still
librewolf
localsend
lutris-unwrapped
meld
melonDS
moonlight-qt
nestopia-ue
nix-ld
obsidian
pandoc
prismlauncher
protonplus
protonup-qt
putty
pwninit
pwntools
qFlipper
r2modman
remmina
signal-desktop
spice
steam
steamcmd
swww
tor-browser
vesktop
vlc
wireshark
yubikey-agent
# rpi-imager
]
++ lib.optionals (hostname == "eva-01") [
calibre
sdrangel
sdrpp
sonic-visualiser
vscode
]
++ lib.optionals (hostname == "eva-02") [
]
++ lib.optionals (hostname == "eva-03") [
vscode
]);
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
}

View File

@@ -0,0 +1,278 @@
{
config,
pkgs,
configPath,
...
}:
{
programs.rofi = {
enable = true;
terminal = "ghostty";
package = pkgs.rofi.override {
plugins = [ pkgs.rofi-emoji ];
};
font = "JetBrainsMono Nerd Font 12";
plugins = [
pkgs.rofi-emoji
pkgs.rofi-calc
pkgs.rofi-games
pkgs.rofi-file-browser
];
extraConfig = {
modi = "drun,run,filebrowser,emoji";
show-icons = true;
display-drun = "Apps";
display-run = "Run";
display-filebrowser = "Files";
drun-display-format = "{name}";
hover-select = true;
me-select-entry = "MouseSecondary";
me-accept-entry = "MousePrimary";
window-format = "{w} · {c} · {t}";
dpi = 1;
};
theme =
let
inherit (config.lib.formats.rasi) mkLiteral;
in
{
"*" = {
active-background = mkLiteral "#101C2F";
active-foreground = mkLiteral "#D6CBD5";
normal-background = mkLiteral "#030508";
normal-foreground = mkLiteral "#D6CBD5";
urgent-background = mkLiteral "#2B7F48";
urgent-foreground = mkLiteral "#D6CBD5";
alternate-active-background = mkLiteral "#11606B";
alternate-active-foreground = mkLiteral "#D6CBD5";
alternate-normal-background = mkLiteral "#030508";
alternate-normal-foreground = mkLiteral "#D6CBD5";
alternate-urgent-background = mkLiteral "#030508";
alternate-urgent-foreground = mkLiteral "#D6CBD5";
selected-active-background = mkLiteral "#101C2F";
selected-active-foreground = mkLiteral "#D6CBD5";
selected-normal-background = mkLiteral "#BCADBB";
selected-normal-foreground = mkLiteral "#D6CBD5";
selected-urgent-background = mkLiteral "#2B7F48";
selected-urgent-foreground = mkLiteral "#D6CBD5";
background-color = mkLiteral "#030508";
background = mkLiteral "rgba(32,32,32,0.7)";
foreground = mkLiteral "#BCADBB";
border-color = mkLiteral "#101C2F";
background-alt = mkLiteral "@selected-active-background";
selected = mkLiteral "@selected-urgent-background";
active = mkLiteral "@selected-normal-background";
urgent = mkLiteral "@selected";
text-selected = mkLiteral "@background";
text-color = mkLiteral "@foreground";
};
"window" = {
enabled = true;
fullscreen = false;
transparency = mkLiteral "\"real\"";
cursor = mkLiteral "\"default\"";
spacing = 0;
border = mkLiteral "4px 0px 4px 0px";
border-radius = 30;
location = mkLiteral "center";
anchor = mkLiteral "center";
width = mkLiteral "50%";
background-color = mkLiteral "@background";
};
"mainbox" = {
padding = 15;
enabled = true;
orientation = mkLiteral "vertical";
children = map mkLiteral [
"inputbar"
"listbox"
];
background-color = mkLiteral "transparent";
};
"inputbar" = {
enabled = true;
padding = mkLiteral "10px 10px 100px 10px";
margin = 10;
background-color = mkLiteral "transparent";
border-radius = 25;
orientation = mkLiteral "horizontal";
children = map mkLiteral [
"entry"
"dummy"
"mode-switcher"
];
background-image = mkLiteral "url(\"${configPath}/assets/background.png\", width)";
};
"entry" = {
enabled = true;
expand = false;
width = mkLiteral "20%";
padding = 10;
border-radius = 12;
background-color = mkLiteral "@selected";
text-color = mkLiteral "@text-selected";
cursor = mkLiteral "text";
placeholder = mkLiteral "\"🖥 Search \"";
placeholder-color = mkLiteral "inherit";
};
"listbox" = {
spacing = 10;
padding = 10;
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = map mkLiteral [
"message"
"listview"
];
};
"listview" = {
enabled = true;
columns = 2;
lines = 6;
cycle = true;
dynamic = true;
scrollbar = true;
layout = mkLiteral "vertical";
reverse = false;
fixed-height = false;
fixed-columns = true;
spacing = 10;
background-color = mkLiteral "transparent";
border = 0;
};
"dummy" = {
expand = true;
background-color = mkLiteral "transparent";
};
"mode-switcher" = {
enabled = true;
spacing = 10;
background-color = mkLiteral "transparent";
};
"button" = {
width = mkLiteral "5%";
padding = 12;
border-radius = 12;
background-color = mkLiteral "@text-selected";
text-color = mkLiteral "@text-color";
cursor = mkLiteral "pointer";
};
"button selected" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@text-selected";
};
"scrollbar" = {
width = 4;
border = 0;
handle-color = mkLiteral "@border-color";
handle-width = 8;
padding = 0;
};
"element" = {
enabled = true;
spacing = 10;
padding = 10;
border-radius = 12;
background-color = mkLiteral "transparent";
cursor = mkLiteral "pointer";
};
"element normal.normal" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
"element normal.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@foreground";
};
"element normal.active" = {
background-color = mkLiteral "@active";
text-color = mkLiteral "@foreground";
};
"element selected.normal" = {
border = mkLiteral "1px 6px 1px 6px";
border-radius = 16;
border-color = mkLiteral "@selected";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@selected";
};
"element selected.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element selected.active" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element alternate.normal" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element alternate.urgent" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element alternate.active" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"message" = {
background-color = mkLiteral "transparent";
border = 0;
};
"textbox" = {
padding = 12;
border-radius = 10;
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@background";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"error-message" = {
padding = 12;
border-radius = 20;
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@background";
};
};
};
}

View File

@@ -0,0 +1,243 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
pkgs-unstable,
inputs,
configPath,
hostname,
lib,
...
}:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
# (modulesPath + "/profiles/qemu-guest.nix")
];
# Bootloader.
boot.loader.grub.enable = lib.mkDefault true;
boot.loader.grub.devices = [ "nodev" ];
nix.settings.experimental-features = ["nix-command" "flakes"];
# Nix optimizations
nix.optimise.automatic = true;
nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
dates = "weekly";
persistent = true;
options = "--delete-older-than 30d";
};
networking.hostName = "buildbox"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
virtualisation.docker.enable = true;
# Set your time zone.
time.timeZone = "America/Los_Angeles";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
services.xserver.enable = false;
# Enable the KDE Plasma Desktop Environment.
# services.displayManager.sddm.enable = true;
# services.displayManager.sddm.wayland.enable = true;
# services.desktopManager.plasma6.enable = true;
# services.displayManager.sddm.theme = "sddm-astronaut-theme";
services.tailscale.enable = true;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = false;
# Enable sound with pipewire.
# hardware.pulseaudio.enable = false;
#hardware.pulseaudio = {
# enable = true;
# package = pkgs.pulseaudioFull;
#};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# VSCode-Server
programs.nix-ld.enable = true;
# Define a user account. Don't forget to set a password with passwd.
programs.zsh.enable = true;
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [ "networkmanager" "wheel" "docker" ];
shell = pkgs.zsh;
#packages = [ inputs.home-manager.packages.${pkgs.system}.default ];
packages = with pkgs; [
#apps
#cli
# thunderbird
];
};
# Install firefox.
programs.firefox.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
security.polkit.enable = true;
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
# Certain features, including CLI integration and system authentication support,
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
polkitPolicyOwners = [ "rogueking" ];
};
# Enable OpenSSH daemon
services.openssh = {
enable = true;
ports = [ 22 ];
settings = {
PasswordAuthentication = true;
AllowUsers = [ "rogueking" ];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
MaxAuthTries = 8;
};
};
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
nixpkgs.config.permittedInsecurePackages = [
"qtwebengine-5.15.19"
"python3.12-ecdsa-0.19.1"
];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
#apps
#cider-2
#guacamole-client
#sddm-astronaut
#cli tools
btop
curl
docker
dust
file
findutils
git
gparted
kopia
lazydocker
nettools
nix-prefetch-github
nmap
openssh
openssl
parted
plocate
ptunnel
tailscale
tlp
unzip
vim
];
home-manager = {
extraSpecialArgs = {
inherit
configPath
inputs
pkgs-unstable
hostname
;
};
users = {
"rogueking" = import ./../../home-manager/home.nix;
};
backupFileExtension = "backup";
};
#home-manager = {
# extraSpecialArgs = { inherit inputs; };
# users = {
# "rogueking" = import ../home-manager/home.nix;
# };
# backupFileExtension = "backup";
#};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
}

View File

@@ -0,0 +1,35 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/2387c615-e566-44ed-a708-ebd407ee16f6";
fsType = "ext4";
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 4*1024;
} ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -0,0 +1,341 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
pkgs-unstable,
inputs,
configPath,
hostname,
...
}:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
# Nix optimizations
nix.optimise.automatic = true;
nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
dates = "weekly";
persistent = true;
options = "--delete-older-than 30d";
};
# Dynamic power managment
# powerManagement = {
# enable = true;
# cpuFreqGovernor = "powersave";
# powertop.enable = true;
# };
# Power Management
services.thermald.enable = true;
services.power-profiles-daemon.enable = false;
services.auto-cpufreq.enable = true;
services.auto-cpufreq.settings = {
battery = {
governor = "balanced";
turbo = "auto";
};
charger = {
governor = "performance";
turbo = "auto";
};
};
services.system76-scheduler = {
enable = true;
useStockConfig = true;
};
# Intel CPU integrated graphics packages
hardware.graphics.extraPackages = with pkgs; [
intel-media-driver
intel-ocl
intel-vaapi-driver
];
networking.hostName = "eva-01"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
virtualisation.docker.enable = true;
# Set your time zone.
time.timeZone = "America/Los_Angeles";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
services.xserver.enable = false;
programs.xwayland.enable = true;
# Enable the KDE Plasma Desktop Environment.
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true;
#services.displayManager.sddm.theme = "sddm-astronaut-theme";
# Enable Hyprland wayland compositor
programs.hyprland.enable = true;
environment.sessionVariables.NIXOS_OZONE_WL = "1";
# Enable XDG Desktop Portal for proper D-Bus integration
services.dbus.enable = true;
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
services.tailscale.enable = true;
#Enable Ollama daemon
services.ollama = {
enable = true;
package = pkgs-unstable.ollama;
};
#Enable Hyprland
services.fprintd.enable = true;
services.fprintd.tod.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = false;
services.avahi.enable = true;
services.avahi.nssmdns4 = true;
# Enable Smart Card
services.pcscd.enable = true;
# Enable sound with pipewire.
services.pulseaudio.enable = false;
#hardware.pulseaudio = {
# enable = true;
# package = pkgs.pulseaudioFull;
#};
hardware.bluetooth.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
programs.zsh.enable = true;
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [
"networkmanager"
"wheel"
"docker"
];
shell = pkgs.zsh;
#packages = [ inputs.home-manager.packages.${pkgs.system}.default ];
packages = with pkgs; [
#apps
#cli
# thunderbird
];
};
# Install firefox.
programs.firefox.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
security.polkit.enable = true;
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
# Certain features, including CLI integration and system authentication support,
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
polkitPolicyOwners = [ "rogueking" ];
};
#steam
programs.steam.enable = true;
# Enable OpenSSH daemon
services.openssh = {
enable = true;
ports = [ 22 ];
settings = {
PasswordAuthentication = false;
AllowUsers = [ "rogueking" ];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
MaxAuthTries = "20";
};
};
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
# Firewall
networking.firewall = {
enable = true;
allowedTCPPorts = [
22
# 80
# 443
];
logRefusedConnections = true;
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
#apps
#cider-2
fprintd
guacamole-client
#sddm-astronaut
#cli tools
aircrack-ng
android-tools
btop
curl
docker
dust
file
findutils
git
goose-cli
hcxdumptool
hcxtools
kopia
lazydocker
metasploit
nettools
nix-prefetch-github
nmap
openssh
openssl
plocate
ptunnel
tailscale
tlp
unzip
vim
wifite2
wirelesstools
#fonts
nerd-fonts.hack
nerd-fonts.fira-code
#unstable
#pkgs-unstable.vllm
];
home-manager = {
extraSpecialArgs = {
inherit
configPath
inputs
pkgs-unstable
hostname
;
};
users = {
"rogueking" = import ./../../home-manager/home.nix;
};
backupFileExtension = "backup";
};
#home-manager = {
# extraSpecialArgs = { inherit inputs; };
# users = {
# "rogueking" = import ../home-manager/home.nix;
# };
# backupFileExtension = "backup";
#};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
}

View File

@@ -0,0 +1,41 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/0ec1b4fd-ca0f-4938-a038-37a69ec00b21";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/2066-E44D";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 8*1024;
} ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -0,0 +1,193 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
pkgs-unstable,
inputs,
configPath,
hostname,
lib,
...
}:
{
nix.settings.experimental-features = ["nix-command" "flakes"];
# Nix optimizations
nix.optimise.automatic = true;
# nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
interval = [{
Hour = 2;
Minute = 30;
Weekday = 7;
}];
# persistent = true;
options = "--delete-older-than 30d";
};
networking.hostName = "eva-02"; # Define your hostname.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Set your time zone.
time.timeZone = "America/Los_Angeles";
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
# services.xserver.enable = true; # Enable for Darwin compatibility
# Enable sound with pipewire.
# hardware.pulseaudio.enable = false;
#hardware.pulseaudio = {
# enable = true;
# package = pkgs.pulseaudioFull;
#};
# Enable Touch ID
security.pam.services.sudo_local.touchIdAuth = true;
# Define a user account. Don't forget to set a password with passwd.
system.primaryUser = "rogueking";
programs.zsh.enable = true;
users.users.rogueking = {
# isNormalUser = true;
description = "rogueking";
# extraGroups = [ "admin" "staff" "wheel" "docker" ];
home = "/Users/rogueking";
shell = pkgs.zsh;
packages = with pkgs; [
#apps
#cli
];
};
homebrew = {
enable = true;
user = "rogueking";
#onActivation.autoUpdate = true;
brews = [
"docker"
"esptool"
"git-lfs"
"huggingface-cli"
"putty"
"tailscale"
];
casks = [
"1password"
"1password-cli"
"bambu-studio"
"blender"
"brave-browser"
"ghostty"
"imhex"
"jellyfin-media-player"
"jordanbaird-ice"
"localsend"
"melonds"
"moonlight"
"obsidian"
"signal"
"steam"
"vesktop"
"visual-studio-code"
"vlc"
];
};
# Install firefox.
# programs.firefox.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Enable OpenSSH daemon
# services.openssh = {
# enable = true;
# # ports = [ 22 ];
# settings = {
# PasswordAuthentication = true;
# AllowUsers = [ "rogueking" ];
# UseDns = true;
# X11Forwarding = false;
# PermitRootLogin = "no";
# MaxAuthTries = 8;
# };
# };
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
#apps
#cli tools
btop
curl
docker
dust
file
findutils
git
kopia
lazydocker
nettools
nix-prefetch-github
nmap
openssh
openssl
ptunnel
unzip
vim
];
fonts.packages = with pkgs; [
nerd-fonts.hack
nerd-fonts.fira-code
];
home-manager = {
extraSpecialArgs = {
inherit
configPath
inputs
pkgs-unstable
hostname
;
};
users = {
"rogueking" = import ./../../home-manager/home.nix;
};
backupFileExtension = "backup";
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
system.stateVersion = 6;
}

View File

@@ -0,0 +1,349 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
configPath,
hostname,
inputs,
pkgs,
pkgs-unstable,
...
}:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
#Kernel
boot.kernelPackages = pkgs.linuxKernel.packages.linux_zen;
# Bootloader.
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
#{
# enable = true;
# windows = {
# "11-Pro" = {
# title = "Windows 11 Pro";
# efiDeviceHandle = "HD3c";
# sortKey = "z_windows";
# };
# };
# };
nix.settings.experimental-features = ["nix-command" "flakes"];
# Nix optimizations
nix.optimise.automatic = true;
nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
dates = "weekly";
persistent = true;
options = "--delete-older-than 30d";
};
networking.hostName = "eva-03"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
virtualisation.docker.enable = true;
# Enable OpenGL
hardware.graphics = {
enable = true;
};
# Load nvidia driver for Xorg and Wayland
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
# powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
# powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
# Set your time zone.
time.timeZone = "America/Los_Angeles";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
services.xserver.enable = false;
programs.xwayland.enable = true;
# Enable the KDE Plasma Desktop Environment.
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true;
#services.displayManager.sddm.theme = "sddm-astronaut-theme";
# Enable Hyprland wayland compositor
programs.hyprland.enable = true;
environment.sessionVariables.NIXOS_OZONE_WL = "1";
# XRDP
services.xrdp.enable = true;
services.xrdp.defaultWindowManager = "startplasma-x11";
services.xrdp.openFirewall = true;
# Enable Tailscale
services.tailscale = {
enable = true;
package = pkgs-unstable.tailscale;
};
#Enable Ollama daemon
#services.ollama.enable = true;
# Enable ollama
services.ollama = {
enable = false;
host = "0.0.0.0";
openFirewall = true;
acceleration = "cuda";
package = pkgs-unstable.ollama;
loadModels = [
"deepcoder:14b"
"gemma3:12b-it-qat"
"gemma3:27b-it-qat"
];
};
services.fprintd.enable = true;
services.fprintd.tod.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = false;
# Enable sound with pipewire.
services.pulseaudio.enable = false;
#hardware.pulseaudio = {
# enable = true;
# package = pkgs.pulseaudioFull;
#};
hardware.bluetooth.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
programs.zsh.enable = true;
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [ "networkmanager" "wheel" "docker" ];
shell = pkgs.zsh;
#packages = [ inputs.home-manager.packages.${pkgs.system}.default ];
packages = with pkgs; [
#apps
#cli
# thunderbird
];
};
# Install firefox.
programs.firefox.enable = true;
# Enable all firmware
hardware.enableAllFirmware = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
security.polkit.enable = true;
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
# Certain features, including CLI integration and system authentication support,
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
polkitPolicyOwners = [ "rogueking" ];
};
#steam
programs.steam.enable = true;
# Enable OpenSSH daemon
services.openssh = {
enable = true;
ports = [ 22 ];
settings = {
PasswordAuthentication = false;
AllowUsers = [ "rogueking" ];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
MaxAuthTries = "20";
};
};
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
#apps
#cider-2
fprintd
guacamole-client
#sddm-astronaut
polonium
#cli tools
aircrack-ng
android-tools
btop
curl
docker
dust
file
findutils
fwupd
git
hcxdumptool
hcxtools
kopia
lazydocker
metasploit
nettools
nix-prefetch-github
nmap
openssh
openssl
plocate
ptunnel
tlp
unzip
vim
wifite2
wirelesstools
#unstable
pkgs-unstable.crush
(pkgs-unstable.llama-cpp.override { cudaSupport = true; })
#fonts
nerd-fonts.hack
nerd-fonts.fira-code
];
home-manager = {
extraSpecialArgs = {
inherit
# config
configPath
inputs
pkgs-unstable
hostname
;
};
users = {
"rogueking" = import ./../../home-manager/home.nix;
};
backupFileExtension = "backup";
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
}

View File

@@ -0,0 +1,40 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c8250302-044c-4be5-89b8-a07706a8dedf";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/E81D-0813";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/d8666f92-b7cf-40fb-b305-d16a84d79fa0"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -1,31 +0,0 @@
!#/bin/bash
echo "Intalling nix and home-manager"
sh <(curl -L https://nixos.org/nix/install) --no-daemon
mkdir -p ~/.config/nix
echo "experimental-features = nix-command flakes" >>~/.config/nix/nix.conf
. ~/.nix-profile/etc/profile.d/nix.sh
nix-channel --add https://nixos.org/channels/nixos-24.11 nixpkgs
nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.11.tar.gz home-manager
nix-channel --update
nix-shell '<home-manager>' -A install
cp -r home-manager/ ~/.config/
home-manager switch
sudo echo "/home/$USER/.nix-profile/bin/zsh" | sudo tee -a /etc/shells
. ~/.nix-profile/etc/profile.d/nix.sh
chsh -s /home/$USER/.nix-profile/bin/zsh $USER
source ~/.zshrc
#sudo echo ". ~/.nix-profile/etc/profile.d/nix.sh" | sudo tee -a ~/.bashrc
#sudo echo "zsh" | sudo tee -a ~/.bashrc