Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b30b3969f2 | |||
| 3f0ffe65d9 | |||
| dcaa8e12d1 | |||
| 20dc313f96 | |||
| aea284a05d | |||
| 22db4be6fa | |||
| df9a7f6670 | |||
| 5fdf334224 | |||
| 048071ae76 | |||
| fe3a31818c | |||
| bf49baeb28 | |||
| c26161a21f | |||
| 53ceea37d7 | |||
| b5810551c0 | |||
| 34178ce1e8 | |||
| 0a6566f394 | |||
| 2a172ee6de | |||
| d6cee1e554 | |||
| aeda1c3e59 | |||
| f57d25b2bf | |||
| b166a89091 | |||
| 2312d47bba | |||
| e923b34960 |
4
.gitattributes
vendored
4
.gitattributes
vendored
@@ -1,4 +0,0 @@
|
||||
*.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
BIN
assets/eva-01.jpg
LFS
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
assets/pfp/Jiji.jpg
LFS
BIN
assets/pfp/Jiji.jpg
LFS
Binary file not shown.
BIN
assets/pfp/jaUtSEI.jpg
LFS
BIN
assets/pfp/jaUtSEI.jpg
LFS
Binary file not shown.
BIN
assets/pfp/jiro.jpg
LFS
BIN
assets/pfp/jiro.jpg
LFS
Binary file not shown.
BIN
assets/pfp/neonNerv.png
LFS
BIN
assets/pfp/neonNerv.png
LFS
Binary file not shown.
BIN
assets/pfp/uptime-kuma.png
LFS
BIN
assets/pfp/uptime-kuma.png
LFS
Binary file not shown.
353
flake.lock
generated
353
flake.lock
generated
@@ -1,353 +0,0 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1758463745,
|
||||
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager-unstable": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763963090,
|
||||
"narHash": "sha256-zR7uDZdQUUC+gBOi4byefMvIZuSBeMC6GswGNsTgQlM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "7702d14879e8f0148fa168e38f3eaa2650fa0d85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754860581,
|
||||
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.1.1",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763505477,
|
||||
"narHash": "sha256-nJRd4LY2kT3OELfHqdgWjvToNZ4w+zKCMzS2R6z4sXE=",
|
||||
"owner": "nix-darwin",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "3bda9f6b14161becbd07b3c56411f1670e19b9b5",
|
||||
"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": 1762847253,
|
||||
"narHash": "sha256-BWWnUUT01lPwCWUvS0p6Px5UOBFeXJ8jR+ZdLX8IbrU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "899dc449bc6428b9ee6b3b8f771ca2b0ef945ab9",
|
||||
"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": 1763835633,
|
||||
"narHash": "sha256-HzxeGVID5MChuCPESuC0dlQL1/scDKu+MmzoVBJxulM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "050e09e091117c3d7328c7b2b7b577492c43c134",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1763622513,
|
||||
"narHash": "sha256-1jQnuyu82FpiSxowrF/iFK6Toh9BYprfDqfs4BB+19M=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c58bc7f5459328e4afac201c5c4feb7c818d604b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763946814,
|
||||
"narHash": "sha256-BGM7b3b38cyAc7xdFgh+qbXGy5dEdZ+7bO3QX0QyzmM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "3426dd04bbf7aacd2b51b8a40e62e29f4381e7a8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761730856,
|
||||
"narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"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
95
flake.nix
@@ -1,95 +0,0 @@
|
||||
{
|
||||
description = "Nixos Config Flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
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.05";
|
||||
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
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
190
home-manager/cli-tools.nix
Normal file
190
home-manager/cli-tools.nix
Normal file
@@ -0,0 +1,190 @@
|
||||
{ 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)\] '';
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,151 +0,0 @@
|
||||
{
|
||||
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;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
# 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
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
pkgs,
|
||||
hostname,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(import ./sage.nix)
|
||||
];
|
||||
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
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; [ ];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
programs = {
|
||||
eza = {
|
||||
enable = true;
|
||||
icons = "auto";
|
||||
enableZshIntegration = true;
|
||||
extraOptions = [
|
||||
"--group-directories-first"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
{
|
||||
hostname,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
programs = {
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "rogueking";
|
||||
userEmail = "miguel@muniz.org";
|
||||
lfs.enable = true;
|
||||
} // 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";
|
||||
};
|
||||
extraConfig = {
|
||||
gpg = {
|
||||
format = "ssh";
|
||||
ssh = lib.optionalAttrs (hostname == "eva-02") {
|
||||
program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
programs.newsboat = {
|
||||
enable = true;
|
||||
urls = [
|
||||
{ url = "https://dev.to/feed"; }
|
||||
{ url = "https://stackoverflow.blog/feed/"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
{
|
||||
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;
|
||||
};
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
imports = [
|
||||
./config.nix
|
||||
./keymaps.nix
|
||||
./plugins/default.nix
|
||||
];
|
||||
}
|
||||
@@ -1,129 +0,0 @@
|
||||
{
|
||||
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";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
{
|
||||
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"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
{
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
{
|
||||
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;
|
||||
};
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
glance = {
|
||||
enable = true;
|
||||
settings = {
|
||||
border.enable = true;
|
||||
theme.mode = "darken";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
illuminate.settings = {
|
||||
enable = true;
|
||||
delay = 100;
|
||||
minCountToHighlight = 1;
|
||||
modesAllowlist = [
|
||||
"n"
|
||||
"i"
|
||||
"v"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
indent-blankline = {
|
||||
enable = true;
|
||||
settings = {
|
||||
scope = {
|
||||
show_end = true;
|
||||
show_exact_scope = true;
|
||||
show_start = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
lint = {
|
||||
enable = true;
|
||||
autoCmd = {
|
||||
event = [
|
||||
"InsertLeave"
|
||||
"TextChanged"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
{ 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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
scrollview = {
|
||||
enable = true;
|
||||
settings = {
|
||||
signs_on_startup = [
|
||||
"all"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
{
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
programs.nixvim.plugins = {
|
||||
telescope = {
|
||||
enable = true;
|
||||
extensions.file-browser = {
|
||||
enable = true;
|
||||
settings = {
|
||||
hidden = {
|
||||
file_browser = true;
|
||||
folder_browser = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
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"
|
||||
]
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
{ 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;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
{ 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'";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
{ 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.
|
After Width: | Height: | Size: 38 KiB |
0
home-manager/fastfetch/assets/image.png
Normal file
0
home-manager/fastfetch/assets/image.png
Normal file
@@ -1,22 +1,15 @@
|
||||
{
|
||||
hostname,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
programs = {
|
||||
fastfetch = {
|
||||
enable = true;
|
||||
settings = {
|
||||
logo = {
|
||||
|
||||
source = lib.mkIf (hostname == "eva-01") "/etc/nixos/assets/pfp/eva-01.jpg";
|
||||
source = "/etc/nixos/home-manager/fastfetch/assets/evangelion-mecha-neon-genesis-desktop-wallpaper-cover.jpg";
|
||||
type = "kitty";
|
||||
height = 20;
|
||||
width = 60;
|
||||
padding = {
|
||||
top = 2; # 2;
|
||||
top = 2; #2;
|
||||
left = 2; # 3;
|
||||
};
|
||||
};
|
||||
@@ -2,19 +2,15 @@
|
||||
|
||||
{
|
||||
imports = [
|
||||
./commands/commands.nix
|
||||
./programs/programs.nix
|
||||
inputs.nixvim.homeModules.nixvim
|
||||
./cli-tools.nix
|
||||
./fastfetch/fastfetch.nix
|
||||
./direnv.nix
|
||||
];
|
||||
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
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
|
||||
home.username = "USER";
|
||||
home.homeDirectory = "/home/USER";
|
||||
|
||||
# This value determines the Home Manager release that your configuration is
|
||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||
@@ -23,15 +19,16 @@
|
||||
# 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 = "25.05"; # Please read the comment before changing.
|
||||
home.stateVersion = "24.11"; # Please read the comment before changing.
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
|
||||
# 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
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
{
|
||||
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;
|
||||
#};
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
{
|
||||
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!'";
|
||||
# }
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,164 +0,0 @@
|
||||
{ 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"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
{ 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;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,275 +0,0 @@
|
||||
{
|
||||
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;
|
||||
}
|
||||
''
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
{ 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
|
||||
libreoffice-still
|
||||
librewolf
|
||||
localsend
|
||||
lutris-unwrapped
|
||||
meld
|
||||
melonDS
|
||||
moonlight-qt
|
||||
nestopia-ue
|
||||
nix-ld
|
||||
notion-app
|
||||
obsidian
|
||||
pandoc
|
||||
prismlauncher
|
||||
protonplus
|
||||
protonup-qt
|
||||
putty
|
||||
pwninit
|
||||
pwntools
|
||||
qFlipper
|
||||
r2modman
|
||||
remmina
|
||||
sdrangel
|
||||
sdrpp
|
||||
signal-desktop
|
||||
spice
|
||||
steam
|
||||
steamcmd
|
||||
swww
|
||||
tor-browser
|
||||
vesktop
|
||||
vlc
|
||||
vscode
|
||||
wireshark
|
||||
yubikey-agent
|
||||
# rpi-imager
|
||||
]
|
||||
|
||||
++ lib.optionals (hostname == "eva-01") [
|
||||
sonic-visualiser
|
||||
cinny-desktop
|
||||
calibre
|
||||
]
|
||||
|
||||
++ lib.optionals (hostname == "eva-02") [
|
||||
vscode
|
||||
]
|
||||
|
||||
++ lib.optionals (hostname == "eva-03") [
|
||||
|
||||
]);
|
||||
|
||||
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
}
|
||||
@@ -1,278 +0,0 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
configPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
terminal = "ghostty";
|
||||
package = pkgs.rofi-wayland.override {
|
||||
plugins = [ pkgs.rofi-emoji-wayland ];
|
||||
};
|
||||
font = "JetBrainsMono Nerd Font 12";
|
||||
plugins = [
|
||||
pkgs.rofi-emoji-wayland
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,242 +0,0 @@
|
||||
# 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 = [
|
||||
"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. It‘s 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?
|
||||
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/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;
|
||||
}
|
||||
@@ -1,341 +0,0 @@
|
||||
# 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. It‘s 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?
|
||||
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "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;
|
||||
}
|
||||
@@ -1,192 +0,0 @@
|
||||
# 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
|
||||
vscode
|
||||
#cli
|
||||
];
|
||||
};
|
||||
|
||||
homebrew = {
|
||||
enable = true;
|
||||
user = "rogueking";
|
||||
#onActivation.autoUpdate = true;
|
||||
brews = [
|
||||
"docker"
|
||||
"esptool"
|
||||
"huggingface-cli"
|
||||
"putty"
|
||||
];
|
||||
casks = [
|
||||
"1password"
|
||||
"1password-cli"
|
||||
"bambu-studio"
|
||||
"blender"
|
||||
"brave-browser"
|
||||
"ghostty"
|
||||
"imhex"
|
||||
"jellyfin-media-player"
|
||||
"localsend"
|
||||
"melonds"
|
||||
"moonlight"
|
||||
"obsidian"
|
||||
"signal"
|
||||
"steam"
|
||||
"vesktop"
|
||||
"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
|
||||
tailscale
|
||||
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;
|
||||
}
|
||||
@@ -1,349 +0,0 @@
|
||||
# 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. It‘s 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?
|
||||
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "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;
|
||||
}
|
||||
31
install.sh
Normal file
31
install.sh
Normal file
@@ -0,0 +1,31 @@
|
||||
!#/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
|
||||
Reference in New Issue
Block a user