Compare commits
40 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
5becaf1588
|
|||
|
447c95c22d
|
|||
|
33c03199a0
|
|||
| 3a0f0192f4 | |||
|
6d045d1d4d
|
|||
|
86719c309a
|
|||
| bdc61737cb | |||
| 05861081ce | |||
|
724f5361e6
|
|||
|
c0223fdd09
|
|||
|
0e8dfb98c5
|
|||
|
26c4bb6495
|
|||
|
ef6d5cedb0
|
|||
|
a70786d0bb
|
|||
|
ca5538c4d1
|
|||
|
b0fe851dec
|
|||
|
c631965709
|
|||
|
a5134e71b8
|
|||
|
93fd2215da
|
|||
| df25ce0495 | |||
| 0555242a7f | |||
| fb2b3f80ad | |||
| 9a95e511e4 | |||
| 5e54902447 | |||
| 074dff48ca | |||
| fbc24916b5 | |||
| 4b66e2489b | |||
| e13360f793 | |||
| 1e46d42f27 | |||
| 7aef691ea2 | |||
| 63d2538734 | |||
| 84bc2fd737 | |||
| f362997567 | |||
| ea4489732b | |||
| 6c35b8fb99 | |||
| 76702ea878 | |||
| b261195413 | |||
| 6651ba444e | |||
| 093ac9c011 | |||
| d6ca7ba793 |
7
.sops.yaml
Normal file
7
.sops.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
keys:
|
||||
- &primary age1sjzkhwr8ycdsmuj8xg8y4v2hcpuq9vethnhytxtwzeury692dsxqf80fwv
|
||||
creation_rules:
|
||||
- path_regex: secrets/secrets.yaml$
|
||||
key_groups:
|
||||
- age:
|
||||
- *primary
|
||||
7
Makefile
7
Makefile
@ -22,5 +22,10 @@ iso :
|
||||
rm -rf result
|
||||
|
||||
cleanup :
|
||||
sudo nix-collect-garbage -d --delete-older-than 1d
|
||||
sudo nix-env --delete-generations +1 --profile /nix/var/nix/profiles/system
|
||||
nix-env --delete-generations +1 --profile ~/.local/state/nix/profiles/home-manager
|
||||
nix-env --delete-generations +1
|
||||
sudo nix-collect-garbage -d
|
||||
|
||||
optimize :
|
||||
nix-store --optimize -vv
|
||||
|
||||
110
flake.lock
generated
110
flake.lock
generated
@ -1,5 +1,23 @@
|
||||
{
|
||||
"nodes": {
|
||||
"catppuccin": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768575137,
|
||||
"narHash": "sha256-e0SsKnkSnq+UwZNS9ZyPJjTjabzq9TRc1hqeDnvOF1Q=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "48e67b4ad22072f1ae30b0ed8e1cb020cf06c611",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"firefox-addons": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -8,11 +26,11 @@
|
||||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1753070653,
|
||||
"narHash": "sha256-vp4Svdpb90eEYkUKxjVROgcJ92u/2sVF8hnpsiKJEhI=",
|
||||
"lastModified": 1768622624,
|
||||
"narHash": "sha256-Em6PP667PeXbEjidbV2LnNwmUYohbrSFvVPLYLUDHms=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "87f5912350a5bac28eacc1b89bb1767ca1a77e7e",
|
||||
"rev": "8061c6d9199dc6cc0727d4241959eea28f2fa0a6",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@ -29,11 +47,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753056897,
|
||||
"narHash": "sha256-AVVMBFcuOXqIgmShvRv9TED3fkiZhQ0ZvlhsPoFfkNE=",
|
||||
"lastModified": 1768598210,
|
||||
"narHash": "sha256-kkgA32s/f4jaa4UG+2f8C225Qvclxnqs76mf8zvTVPg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "13a83d1b6545b7f0e8f7689bad62e7a3b1d63771",
|
||||
"rev": "c47b2cc64a629f8e075de52e4742de688f930dc6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -44,11 +62,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1753122741,
|
||||
"narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=",
|
||||
"lastModified": 1768584846,
|
||||
"narHash": "sha256-IRPmIOV2tPwxbhP/I9M5AmwhTC0lMPtoPStC+8T6xl0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22",
|
||||
"rev": "cce68f4a54fa4e3d633358364477f5cc1d782440",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -60,11 +78,27 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1752950548,
|
||||
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
||||
"lastModified": 1768305791,
|
||||
"narHash": "sha256-AIdl6WAn9aymeaH/NvBj0H9qM+XuAuYbGMZaP0zcXAQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1412caf7bf9e660f2f962917c14b1ea1c3bc695e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1768564909,
|
||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
|
||||
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -74,50 +108,34 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pkgs-docker-2750": {
|
||||
"locked": {
|
||||
"lastModified": 1737525964,
|
||||
"narHash": "sha256-3wFonKmNRWKq1himW9N3TllbeGIHFACI5vmLpk6moF8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5757bbb8bd7c0630a0cc4bb19c47e588db30b97c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5757bbb8bd7c0630a0cc4bb19c47e588db30b97c",
|
||||
"type": "github"
|
||||
"root": {
|
||||
"inputs": {
|
||||
"catppuccin": "catppuccin",
|
||||
"firefox-addons": "firefox-addons",
|
||||
"home-manager": "home-manager",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"sops-nix": "sops-nix"
|
||||
}
|
||||
},
|
||||
"plymouth-theme-ycontre-glow": {
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731939263,
|
||||
"narHash": "sha256-mLwLR5dEJTvtqJU/lvo9f8c3/xIFPOpXlPF3JsJtnHo=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "702e7b014ef6cf748252e797724e4096bafcaafa",
|
||||
"revCount": 1,
|
||||
"type": "git",
|
||||
"url": "file:///home/tom/desktop/bordel/ycontre-glow"
|
||||
"lastModified": 1768481291,
|
||||
"narHash": "sha256-NjKtkJraCZEnLHAJxLTI+BfdU//9coAz9p5TqveZwPU=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "e085e303dfcce21adcb5fec535d65aacb066f101",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "file:///home/tom/desktop/bordel/ycontre-glow"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"firefox-addons": "firefox-addons",
|
||||
"home-manager": "home-manager",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pkgs-docker-2750": "pkgs-docker-2750",
|
||||
"plymouth-theme-ycontre-glow": "plymouth-theme-ycontre-glow"
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
46
flake.nix
46
flake.nix
@ -6,7 +6,7 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/10/17 18:15:24 by tomoron #+# #+# #
|
||||
# Updated: 2025/04/13 13:35:56 by tomoron ### ########.fr #
|
||||
# Updated: 2025/12/16 19:01:21 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@ -15,6 +15,13 @@
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@ -26,37 +33,47 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
plymouth-theme-ycontre-glow = {
|
||||
url = "git+file:///home/tom/desktop/bordel/ycontre-glow";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
pkgs-docker-2750.url = "github:NixOS/nixpkgs?rev=5757bbb8bd7c0630a0cc4bb19c47e588db30b97c";
|
||||
#plymouth-theme-ycontre-glow = {
|
||||
# url = "git+file:///home/tom/desktop/bordel/ycontre-glow";
|
||||
# inputs.nixpkgs.follows = "nixpkgs";
|
||||
#};
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, home-manager, nixos-hardware, ... }@inputs:
|
||||
outputs = { nixpkgs, catppuccin, home-manager, nixos-hardware, ... }@inputs:
|
||||
let
|
||||
pkgs = import nixpkgs { system = "x86_64-linux"; config.allowUnfree = true; };
|
||||
|
||||
osConfig = {flakeName, extraModules ? []}: nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; flakeName = flakeName; };
|
||||
modules = nixpkgs.lib.concatLists [
|
||||
[./osConfigs/global.nix ./osConfigs/hosts/${flakeName}.nix ]
|
||||
[
|
||||
./osConfigs/os.nix
|
||||
./osConfigs/hosts/${flakeName}.nix
|
||||
catppuccin.nixosModules.catppuccin
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
]
|
||||
extraModules
|
||||
];
|
||||
};
|
||||
|
||||
homeConfig = {flakeName, extraModules ? [], username ? "tom", homeDir ? "/home/tom"}: home-manager.lib.homeManagerConfiguration {
|
||||
homeConfig = {flakeName, sops ? true, extraModules ? [], username ? "tom", homeDir ? "/home/tom"}: home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = { inherit inputs; username = username; homeDir = homeDir; isOs = false; };
|
||||
extraSpecialArgs = { inherit inputs; username = username; homeDir = homeDir; isOs = false; configSops = sops; };
|
||||
modules = nixpkgs.lib.concatLists [
|
||||
[ ./homeConfigs/home.nix ./homeConfigs/hosts/${flakeName}.nix]
|
||||
[
|
||||
./homeConfigs/home.nix
|
||||
./homeConfigs/hosts/${flakeName}.nix
|
||||
catppuccin.homeModules.catppuccin
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
]
|
||||
extraModules
|
||||
];
|
||||
};
|
||||
|
||||
in {
|
||||
|
||||
nixosConfigurations = { server = osConfig {flakeName = "server";};
|
||||
nixosConfigurations = {
|
||||
server = osConfig {flakeName = "server";};
|
||||
vbox = osConfig {flakeName = "vbox";};
|
||||
laptop = osConfig {flakeName = "laptop"; extraModules = [ nixos-hardware.nixosModules.asus-zephyrus-ga401 ];};
|
||||
desktop = osConfig {flakeName = "desktop";};
|
||||
@ -67,8 +84,6 @@
|
||||
modules = [
|
||||
(nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix")
|
||||
./osConfigs/hosts/iso.nix
|
||||
inputs.home-manager.nixosModules.default
|
||||
|
||||
];
|
||||
};
|
||||
};
|
||||
@ -76,10 +91,11 @@
|
||||
|
||||
homeConfigurations = {
|
||||
vbox = homeConfig { flakeName = "vbox";};
|
||||
ft = homeConfig { flakeName = "ft"; username = "tomoron"; homeDir = "/home/tomoron";};
|
||||
ft = homeConfig { flakeName = "ft"; username = "tomoron"; homeDir = "/home/tomoron"; sops = false;};
|
||||
laptop = homeConfig { flakeName = "laptop"; };
|
||||
desktop = homeConfig { flakeName = "desktop"; };
|
||||
server = homeConfig { flakeName = "server"; };
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
#!/bin/sh
|
||||
FILE=/sys/class/backlight/amdgpu_bl1/brightness
|
||||
if ! ( test -w "$FILE" ); then
|
||||
xterm +cm -cr RED -bg BLACK -selbg WHITE -selfg BLACK -fg WHITE -fa Monospace -fs 14 -e "sudo chmod 777 $FILE"
|
||||
fi
|
||||
new=$(cat $FILE)
|
||||
|
||||
|
||||
if [ "$1" = "up" ]; then
|
||||
new=$((new + 13))
|
||||
elif [ "$1" = "down" ];then
|
||||
new=$((new - 13))
|
||||
fi
|
||||
|
||||
if [ $new -gt 255 ]; then
|
||||
new=255
|
||||
elif [ $new -lt 0 ]; then
|
||||
new=0
|
||||
fi
|
||||
|
||||
echo $new > $FILE
|
||||
@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
unison /home/tom/Desktop ssh://tom@tmoron.fr:1880//home/tom/Desktop_sync/Desktop $@
|
||||
|
||||
@ -1,2 +0,0 @@
|
||||
xtrlock&
|
||||
systemctl hibernate
|
||||
@ -1,6 +0,0 @@
|
||||
#!/bin/bash
|
||||
if [ "$1" = "up" ]; then
|
||||
asusctl -n
|
||||
elif [ "$1" = "down" ];then
|
||||
asusctl -p
|
||||
fi
|
||||
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
until sudo iwctl station wlan0 show | grep iPhone > /dev/null;do
|
||||
sudo iwctl station wlan0 scan 2>&1 > /dev/null
|
||||
done
|
||||
33
homeConfigs/global/appearance.nix
Normal file
33
homeConfigs/global/appearance.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
|
||||
dunst.enable = true;
|
||||
dunst.flavor="frappe";
|
||||
|
||||
kvantum.apply = true;
|
||||
rofi.enable = false;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = { package = pkgs.flat-remix-gtk; name = "Flat-Remix-GTK-Grey-Darkest"; };
|
||||
font = { name = "Sans"; size = 11; };
|
||||
};
|
||||
|
||||
qt.style.name = "kvantum";
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 16;
|
||||
};
|
||||
|
||||
home.file = {
|
||||
".config/wallpaper.png".source = lib.mkDefault ../utils/wallpaper.png;
|
||||
".config/lock_screen.jpg".source = lib.mkDefault ../utils/lock_screen.jpg;
|
||||
};
|
||||
}
|
||||
13
homeConfigs/global/catppuccin.nix
Normal file
13
homeConfigs/global/catppuccin.nix
Normal file
@ -0,0 +1,13 @@
|
||||
{ ... }:
|
||||
{
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
flavor = "mocha";
|
||||
|
||||
dunst.enable = true;
|
||||
dunst.flavor="frappe";
|
||||
|
||||
kvantum.apply = true;
|
||||
rofi.enable = false;
|
||||
};
|
||||
}
|
||||
18
homeConfigs/global/fileManager.nix
Normal file
18
homeConfigs/global/fileManager.nix
Normal file
@ -0,0 +1,18 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
settings.mgr.sort_dir_first=false;
|
||||
};
|
||||
|
||||
home.sessionVariables.BROWSER = "yazi";
|
||||
programs.bash.bashrcExtra = ''
|
||||
function y() {
|
||||
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
|
||||
yazi "$@" --cwd-file="$tmp"
|
||||
IFS= read -r -d "" cwd < "$tmp"
|
||||
[ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$cwd"
|
||||
rm -f -- "$tmp"
|
||||
}
|
||||
'';
|
||||
}
|
||||
21
homeConfigs/global/rclone.nix
Normal file
21
homeConfigs/global/rclone.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{ config, homeDir, ... }:
|
||||
{
|
||||
programs.rclone.enable = true;
|
||||
sops.secrets."nextcloud_fuse/password" = {};
|
||||
programs.rclone.remotes.nextcloud = {
|
||||
config = {
|
||||
type = "webdav";
|
||||
url = "https://nc.tmoron.fr/remote.php/dav/files/tom";
|
||||
vendor = "nextcloud";
|
||||
user = "tom";
|
||||
};
|
||||
secrets.pass = config.sops.secrets."nextcloud_fuse/password".path;
|
||||
mounts = {
|
||||
"/" = {
|
||||
enable = true;
|
||||
mountPoint = "${homeDir}/nextcloud";
|
||||
options.vfs-cache-mode = "writes";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
13
homeConfigs/global/rofi.nix
Normal file
13
homeConfigs/global/rofi.nix
Normal file
@ -0,0 +1,13 @@
|
||||
{ ... }:
|
||||
{
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
theme = "rounded-nord-dark";
|
||||
};
|
||||
|
||||
home.file.".local/share/rofi/themes".source = "${builtins.fetchGit {
|
||||
url = "https://github.com/newmanls/rofi-themes-collection";
|
||||
rev = "c8239a45edced3502894e1716a8b661fdea8f1c9";
|
||||
ref = "master";
|
||||
}}/themes";
|
||||
}
|
||||
20
homeConfigs/global/shell.nix
Normal file
20
homeConfigs/global/shell.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ ... }:
|
||||
{
|
||||
home.shell.enableBashIntegration = true;
|
||||
home.shellAliases = {
|
||||
ls= "ls --color=auto";
|
||||
grep = "grep --color=auto";
|
||||
vim = "nvim";
|
||||
vi = "nvim";
|
||||
hl = "Hyprland";
|
||||
clr = "clear";
|
||||
noidle = "systemctl --user stop hypridle";
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
historyControl = ["ignoreboth"];
|
||||
historyIgnore = [ "ls" "cd" "exit" ];
|
||||
shellOptions = [ "cdspell" "autocd"];
|
||||
};
|
||||
}
|
||||
@ -6,16 +6,24 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/10/17 18:15:38 by tomoron #+# #+# #
|
||||
# Updated: 2025/05/12 12:35:00 by tomoron ### ########.fr #
|
||||
# Updated: 2025/09/24 02:08:41 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{lib, pkgs, username ? "tom" ,homeDir ? "/home/tom", isOs ? false, ... }:
|
||||
{
|
||||
lib,
|
||||
username ? "tom",
|
||||
homeDir ? "/home/tom",
|
||||
isOs ? false,
|
||||
configSops ? true,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = lib.concatLists [
|
||||
[ ./packages.nix ]
|
||||
(lib.fileset.toList ./modules)
|
||||
(lib.fileset.toList ./global)
|
||||
];
|
||||
|
||||
home.username = lib.mkIf (!isOs) "${username}";
|
||||
@ -23,60 +31,11 @@
|
||||
|
||||
home.stateVersion = "24.05";
|
||||
|
||||
# programs.ghostty.enable = true;
|
||||
# programs.ghostty.settings = {
|
||||
# theme = "catppuccin-mocha";
|
||||
# font-size = 9;
|
||||
# };
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 16;
|
||||
sops = lib.mkIf configSops{
|
||||
defaultSopsFile = ../secrets/secrets.yaml;
|
||||
age.keyFile = "${homeDir}/.config/sops/age/keys.txt";
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = { package = pkgs.flat-remix-gtk; name = "Flat-Remix-GTK-Grey-Darkest"; };
|
||||
iconTheme = { package = pkgs.adwaita-icon-theme; name = "Adwaita"; };
|
||||
font = { name = "Sans"; size = 11; };
|
||||
};
|
||||
|
||||
home.shellAliases = {
|
||||
ls= "ls --color=auto";
|
||||
grep = "grep --color=auto";
|
||||
vim = "nvim";
|
||||
vi = "nvim";
|
||||
hl = "Hyprland";
|
||||
clr = "clear";
|
||||
tagueule = "asusctl profile -P Quiet";
|
||||
parle = "asusctl profile -P performance";
|
||||
noidle = "systemctl --user stop hypridle";
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
historyControl = ["ignoreboth"];
|
||||
historyIgnore = [ "ls" "cd" "exit" ];
|
||||
shellOptions = [ "cdspell" "autocd"];
|
||||
};
|
||||
|
||||
home.sessionPath = [ "~/.local/bin" ];
|
||||
|
||||
|
||||
home.file = { #should be able to make most of these in nix configs
|
||||
".config/wallpaper.png".source = lib.mkDefault utils/wallpaper_test.png;
|
||||
".config/pc.jpg".source = lib.mkDefault utils/pc.jpg;
|
||||
".config/rofi/config.rasi".text = "@theme \"rounded-nord-dark.rasi\"";
|
||||
|
||||
".local/share/rofi/themes".source = "${builtins.fetchGit {
|
||||
url = "https://github.com/newmanls/rofi-themes-collection";
|
||||
rev = "c8239a45edced3502894e1716a8b661fdea8f1c9";
|
||||
ref = "master";
|
||||
}}/themes";
|
||||
|
||||
# ".local/bin/desk_sync".source = dotfiles/local/bin/desk_sync;
|
||||
};
|
||||
services.dunst.enable = true;
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
||||
@ -4,16 +4,18 @@
|
||||
mods.x11.enable = true;
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
monitor = [
|
||||
"HDMI-A-1, 1920x1080@60, 0x0, auto"
|
||||
"HDMI-A-3, 1920x1080@60, 1920x0, auto"
|
||||
"DP-1, 1280x1024@60, 3840x0, auto"
|
||||
"DP-3, 1280x1024@60, 5120x0, auto"
|
||||
"DP-1, 1280x1024@75.03Hz, -3200x0, auto"
|
||||
"HDMI-A-1, 1920x1080@60Hz, -1920x0, auto"
|
||||
"HDMI-A-3, 1920x1080@60Hz, 0x0, auto"
|
||||
"DP-3, 1920x1080@60.00Hz, 1920x0, auto"
|
||||
"DP-4, 1280x1024@75.03Hz, 3840x0, auto"
|
||||
];
|
||||
workspace = [
|
||||
"1, monitor:HDMI-A-1"
|
||||
"2, monitor:HDMI-A-3, default:true"
|
||||
"3, monitor:DP-1"
|
||||
"4, monitor:DP-3"
|
||||
"4, monitor:DP-1"
|
||||
"3, monitor:HDMI-A-1"
|
||||
"1, monitor:HDMI-A-3, default:true"
|
||||
"2, monitor:DP-3"
|
||||
"5, monitor:DP-4"
|
||||
];
|
||||
env = [
|
||||
"AQ_DRM_DEVICES,/dev/dri/card1:/dev/dri/card0"
|
||||
|
||||
@ -12,6 +12,8 @@
|
||||
mods.x11.enable = true;
|
||||
programs.firefox.enable = false;
|
||||
|
||||
mods.polybar.fspath = "/home/tomoron";
|
||||
|
||||
mods.sync.homeFolder = "/home/tomoron/sync";
|
||||
mods.sync.defaultSynced = false;
|
||||
mods.sync.syncedAdditions = [ "42_desktop" "Downloads" ];
|
||||
|
||||
@ -27,6 +27,11 @@
|
||||
", XF86Launch1, exec, hyprlock"
|
||||
", XF86Launch4, exec, pkill activate-linux"
|
||||
];
|
||||
bindl = [
|
||||
",switch:off:Lid Switch,exec,hyprctl keyword monitor \"eDP-1, 1920x1080@120, 0x0, 1\""
|
||||
",switch:on:Lid Switch,exec,hyprctl keyword monitor \"eDP-1, disable\""
|
||||
|
||||
];
|
||||
monitor= [
|
||||
# "eDP-1, modeline 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync, 0x0, 1"
|
||||
"eDP-1, 1920x1080@120, 0x0, 1"
|
||||
@ -36,10 +41,10 @@
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
stremio
|
||||
blender
|
||||
wireshark
|
||||
localsend
|
||||
impala
|
||||
];
|
||||
|
||||
#mods.sync.syncedAdditions = ["VirtualBox VMs"];
|
||||
}
|
||||
|
||||
@ -1,6 +1,11 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
mods.game.enable = false;
|
||||
mods.hyprland.enable = false;
|
||||
mods.x11.enable = true;
|
||||
programs.firefox.enable = false;
|
||||
|
||||
services.picom = {
|
||||
backend = "xrender";
|
||||
settings = {
|
||||
|
||||
@ -8,10 +8,11 @@
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.alacritty.enable {
|
||||
catppuccin.alacritty.enable = true;
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
window.opacity = 0.95;
|
||||
# window.opacity = 0.95;
|
||||
env.XTERM = "xterm-256color";
|
||||
font.size = 9;
|
||||
};
|
||||
|
||||
@ -8,11 +8,13 @@
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.firefox.enable {
|
||||
catppuccin.firefox.enable = true;
|
||||
programs.firefox = {
|
||||
enable = lib.mkDefault true;
|
||||
profiles.default = {
|
||||
extensions.packages = with inputs.firefox-addons.packages."x86_64-linux";
|
||||
[vimium ublock-origin];
|
||||
extensions.force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -13,6 +13,8 @@
|
||||
mangohud
|
||||
moonlight-qt
|
||||
prismlauncher
|
||||
|
||||
r2modman
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@ -11,19 +11,21 @@
|
||||
programs.git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
userEmail = "tomoron@student.42angouleme.fr";
|
||||
userName = "tomoron";
|
||||
extraConfig = {
|
||||
settings = {
|
||||
user.email = "tomoron@student.42angouleme.fr";
|
||||
user.name = "tomoron";
|
||||
init.defaultBranch="master";
|
||||
pull.rebase = true;
|
||||
push.autoSetupRemote = true;
|
||||
rerere.enabled = true;
|
||||
help.autocorrect = 1;
|
||||
};
|
||||
aliases = {
|
||||
user.signingkey = "251B4BD73683A8DF13D760A868BFAFE31DF313AD";
|
||||
commit.gpgsign = true;
|
||||
alias = {
|
||||
fuck = "!f() { git reset --hard \"@{upstream}\" && git restore . && git clean -f .; };f";
|
||||
back = "reset HEAD~";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@ in
|
||||
text = (lib.strings.concatStrings [''
|
||||
auto=true
|
||||
root=${config.mods.sync.homeFolder}
|
||||
root=ssh://tom@tmoron.fr:1880/${config.mods.sync.destFolder}
|
||||
root=ssh://tom@free.tmoron.fr:1880/${config.mods.sync.destFolder}
|
||||
''
|
||||
(lib.strings.concatMapStrings (x: "\npath=" + x) (( if config.mods.sync.defaultSynced then defPathLst else [] ) ++ config.mods.sync.syncedAdditions ))
|
||||
(if !(isNull config.mods.sync.customHostName) then "\nclientHostName=${config.mods.sync.customHostName}" else "")
|
||||
|
||||
@ -20,17 +20,53 @@
|
||||
nixd
|
||||
nodejs_24
|
||||
glsl_analyzer
|
||||
(pkgs.python3.withPackages (ps: with ps; [
|
||||
python-lsp-server
|
||||
pylsp-mypy
|
||||
python-lsp-ruff
|
||||
pycodestyle
|
||||
]))
|
||||
];
|
||||
|
||||
# programs.neovim.extraLuaConfig = ''
|
||||
# vim.lsp.config('pylsp', {})
|
||||
# '';
|
||||
|
||||
programs.neovim.extraLuaConfig = ''
|
||||
local coq = require "coq"
|
||||
|
||||
vim.lsp.config('clangd', coq.lsp_ensure_capabilities({}))
|
||||
vim.lsp.enable('clangd')
|
||||
|
||||
vim.lsp.config('nixd', coq.lsp_ensure_capabilities({}))
|
||||
vim.lsp.enable('nixd')
|
||||
|
||||
vim.lsp.config('glsl_analyzer', coq.lsp_ensure_capabilities({}))
|
||||
vim.lsp.enable('glsl_analyzer')
|
||||
|
||||
vim.lsp.config('pylsp', coq.lsp_ensure_capabilities({
|
||||
cmd = {"pylsp", "-vvv", "--log-file", "/tmp/lsp.log"}
|
||||
}))
|
||||
vim.lsp.enable('pylsp')
|
||||
|
||||
vim.diagnostic.config({
|
||||
virtual_lines = {
|
||||
current_line = true
|
||||
}
|
||||
})
|
||||
|
||||
'';
|
||||
|
||||
programs.neovim.extraConfig = ''
|
||||
set number
|
||||
set ai
|
||||
autocmd BufWinLeave *.* mkview
|
||||
autocmd BufWinEnter *.* silent! loadview
|
||||
autocmd VimEnter * COQnow --shut-up
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set scrolloff=10
|
||||
set preserveindent
|
||||
set smartindent
|
||||
set shiftwidth=4
|
||||
map <silent> <C-N> :bnext<CR>
|
||||
map <silent> <C-P> :bprevious<CR>
|
||||
nmap <silent> <c-k> :wincmd k<CR>
|
||||
@ -62,14 +98,14 @@
|
||||
Plug 'lambdalisue/fern-renderer-nerdfont.vim'
|
||||
Plug 'lambdalisue/fern-git-status.vim'
|
||||
Plug 'lambdalisue/fern.vim'
|
||||
Plug 'ms-jpq/coq_nvim', { 'branch': 'coq' }
|
||||
Plug 'ms-jpq/coq.artifacts', { 'branch': 'artifacts' }
|
||||
Plug 'ms-jpq/coq.thirdparty', { 'branch': '3p' }
|
||||
call plug#end()
|
||||
|
||||
colorscheme catppuccin-mocha
|
||||
|
||||
lua require'lspconfig'.clangd.setup{}
|
||||
lua require'lspconfig'.nixd.setup{}
|
||||
lua require'lspconfig'.glsl_analyzer.setup{}
|
||||
set signcolumn=no
|
||||
set signcolumn=auto
|
||||
|
||||
nnoremap <leader>ff <cmd>Telescope find_files<cr>
|
||||
nnoremap <leader>fg <cmd>Telescope live_grep<cr>
|
||||
@ -80,20 +116,21 @@
|
||||
let g:user42 = 'tomoron'
|
||||
let g:mail42 = 'tomoron@student.42angouleme.fr'
|
||||
let g:fern#renderer = "nerdfont"
|
||||
|
||||
'';
|
||||
|
||||
home.file = {
|
||||
#install plug.vim
|
||||
".local/share/nvim/site/autoload/plug.vim".source = "${builtins.fetchGit {
|
||||
".local/share/nvim/site/autoload/plug.vim".source = "${fetchGit {
|
||||
url = "https://github.com/junegunn/vim-plug";
|
||||
rev = "d80f495fabff8446972b8695ba251ca636a047b0";
|
||||
ref = "master";
|
||||
}}/plug.vim";
|
||||
|
||||
#install stdheader 42
|
||||
".config/nvim/plugin/stdheader.vim".source = "${builtins.fetchGit {
|
||||
".config/nvim/plugin/stdheader.vim".source = "${fetchGit {
|
||||
url = "https://github.com/42Paris/42header";
|
||||
rev = "71e6a4df6d72ae87a080282bf45bb993da6146b2";
|
||||
rev = "e6e6b191871545e0d43f1aad817070bc806b8fa7";
|
||||
ref = "master";
|
||||
}}/plugin/stdheader.vim";
|
||||
|
||||
|
||||
@ -8,18 +8,24 @@
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.hyprland.enable {
|
||||
wayland.windowManager.hyprland.systemd.variables = [ "--all" ];
|
||||
|
||||
programs.hyprshot.enable = true;
|
||||
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
bind = [
|
||||
" , Print, exec, grim -t png -g \"$(slurp)\" /dev/stdout | tee ~/screenshots/$(date +%Y-%m-%d_%H-%m-%s).png | wl-copy -t image/png"
|
||||
" , Print, exec, hyprshot -m region -o ~/screenshots -f $(date +%Y-%m-%d_%H-%M-%S).png"
|
||||
" SHIFT, Print, exec, hyprshot -m output -m active -o ~/screenshots -f $(date +%Y-%m-%d_%H-%M-%S).png"
|
||||
"$mainMod, Return, exec, alacritty"
|
||||
"CTRL_ALT, Q, killactive,"
|
||||
"CTRL_ALT_SHIFT, Q, forcekillactive,"
|
||||
"SUPER_ALT, Q, exit,"
|
||||
"$mainMod, S, togglefloating,"
|
||||
"$mainMod, I, pin,"
|
||||
"$mainMod, D, exec, rofi -show drun -show-icons"
|
||||
"$mainMod SHIFT, D, exec, rofi -show run -show-icons"
|
||||
"$mainMod, M, fullscreen, 1"
|
||||
"$mainMod, F, fullscreen, 0"
|
||||
|
||||
@ -64,12 +70,12 @@
|
||||
"$mainMod, mouse_up, workspace, e-1"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
bindm = [ #bind mouse
|
||||
"$mainMod, mouse:272, movewindow"
|
||||
"$mainMod, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
bindel = [
|
||||
bindel = [ #repeat and locked
|
||||
" ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
" ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
" ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
@ -80,7 +86,7 @@
|
||||
" ,XF86KbdBrightnessDown, exec, asusctl -p"
|
||||
];
|
||||
|
||||
bindl = [
|
||||
bindl = [ #repeat
|
||||
" , XF86AudioNext, exec, playerctl next"
|
||||
" , XF86AudioPrev, exec, playerctl previous"
|
||||
" , XF86AudioPause, exec, playerctl play-pause"
|
||||
@ -143,18 +149,18 @@
|
||||
color = "rgba(1a1a1aee)";
|
||||
};
|
||||
|
||||
blur = {
|
||||
enabled = true;
|
||||
size = 3;
|
||||
passes = 1;
|
||||
vibrancy = 0.1696;
|
||||
};
|
||||
#blur = {
|
||||
# enabled = true;
|
||||
# size = 3;
|
||||
# passes = 1;
|
||||
# vibrancy = 0.1696;
|
||||
#};
|
||||
};
|
||||
|
||||
general = {
|
||||
gaps_in = 3;
|
||||
gaps_out = 7;
|
||||
border_size = 2;
|
||||
gaps_in = 2;
|
||||
gaps_out = 5;
|
||||
border_size = 1;
|
||||
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||
"col.inactive_border" = "rgba(595959aa)";
|
||||
resize_on_border = false;
|
||||
@ -162,6 +168,12 @@
|
||||
layout = "dwindle";
|
||||
};
|
||||
|
||||
layerrule = {
|
||||
name = "no_anim_for_selection";
|
||||
no_anim = "on";
|
||||
"match:namespace" = "selection";
|
||||
};
|
||||
|
||||
cursor.no_warps = true;
|
||||
|
||||
env = [
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
{
|
||||
config = lib.mkIf config.mods.hyprland.enable {
|
||||
home.packages = with pkgs; [
|
||||
rofi-wayland
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
|
||||
@ -6,13 +6,19 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/02/10 02:51:32 by tomoron #+# #+# #
|
||||
# Updated: 2025/02/10 17:28:27 by tomoron ### ########.fr #
|
||||
# Updated: 2025/08/07 15:30:07 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ lib, config, ... }:
|
||||
|
||||
{
|
||||
options.mods.polybar.fspath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/";
|
||||
description = "set the filesystem path for the remaining disk space";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.x11.enable {
|
||||
services.polybar.enable = true;
|
||||
services.polybar.script = "pgrep polybar >/dev/null || polybar -q main -c \"$HOME/.config/polybar/config.ini\"&";
|
||||
@ -44,8 +50,8 @@
|
||||
|
||||
"module/filesystem" = {
|
||||
type = "internal/fs";
|
||||
mount-0 = "/";
|
||||
interval = 30;
|
||||
mount-0 = config.mods.polybar.fspath;
|
||||
interval = 10;
|
||||
fixed-values = true;
|
||||
format-mounted = "<label-mounted>";
|
||||
format-mounted-prefix = "";
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/02/09 22:01:56 by tomoron #+# #+# #
|
||||
# Updated: 2025/07/23 18:00:40 by tomoron ### ########.fr #
|
||||
# Updated: 2026/02/06 23:43:40 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@ -34,14 +34,18 @@
|
||||
unison
|
||||
brightnessctl
|
||||
playerctl
|
||||
python3
|
||||
vlc
|
||||
nix-index
|
||||
dunst
|
||||
yubikey-manager
|
||||
bibata-cursors
|
||||
libcaca
|
||||
nasm
|
||||
nerd-fonts.iosevka
|
||||
compiledb
|
||||
yubikey-personalization
|
||||
sops
|
||||
libreoffice
|
||||
doxygen
|
||||
qimgv
|
||||
];
|
||||
}
|
||||
|
||||
@ -1 +0,0 @@
|
||||
/nix/store/ffxpgsp8bpdfab8kd0vnlpappy5s65ag-home-manager-generation
|
||||
|
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 145 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 797 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 797 KiB |
29
osConfigs/global/boot.nix
Normal file
29
osConfigs/global/boot.nix
Normal file
@ -0,0 +1,29 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# boot.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/05 23:37:58 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/06 00:56:38 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{lib, pkgs, ... } :
|
||||
|
||||
{
|
||||
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
systemd-boot.memtest86.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 1;
|
||||
};
|
||||
|
||||
services.journald.extraConfig = ''
|
||||
SystemMaxUse=100M
|
||||
SystemMaxFileSize=50M
|
||||
'';
|
||||
}
|
||||
160
osConfigs/global/ld.nix
Normal file
160
osConfigs/global/ld.nix
Normal file
@ -0,0 +1,160 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# ld.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/12/30 20:37:07 by tomoron #+# #+# #
|
||||
# Updated: 2026/02/05 12:47:23 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [
|
||||
# List by default
|
||||
zlib
|
||||
zstd
|
||||
stdenv.cc.cc
|
||||
curl
|
||||
openssl
|
||||
attr
|
||||
libssh
|
||||
bzip2
|
||||
libxml2
|
||||
acl
|
||||
libsodium
|
||||
util-linux
|
||||
xz
|
||||
systemd
|
||||
|
||||
# My own additions
|
||||
xorg.libXcomposite
|
||||
xorg.libXtst
|
||||
xorg.libXrandr
|
||||
xorg.libXext
|
||||
xorg.libX11
|
||||
xorg.libXfixes
|
||||
libGL
|
||||
libva
|
||||
pipewire
|
||||
xorg.libxcb
|
||||
xorg.libXdamage
|
||||
xorg.libxshmfence
|
||||
xorg.libXxf86vm
|
||||
libelf
|
||||
|
||||
# Required
|
||||
glib
|
||||
gtk2
|
||||
|
||||
# Inspired by steam
|
||||
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85
|
||||
networkmanager
|
||||
vulkan-loader
|
||||
libgbm
|
||||
libdrm
|
||||
libxcrypt
|
||||
coreutils
|
||||
pciutils
|
||||
zenity
|
||||
# glibc_multi.bin # Seems to cause issue in ARM
|
||||
|
||||
# # Without these it silently fails
|
||||
xorg.libXinerama
|
||||
xorg.libXcursor
|
||||
xorg.libXrender
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXi
|
||||
xorg.libSM
|
||||
xorg.libICE
|
||||
gnome2.GConf
|
||||
nspr
|
||||
nss
|
||||
cups
|
||||
libcap
|
||||
SDL2
|
||||
libusb1
|
||||
dbus-glib
|
||||
ffmpeg
|
||||
# Only libraries are needed from those two
|
||||
libudev0-shim
|
||||
|
||||
# needed to run unity
|
||||
gtk3
|
||||
icu
|
||||
libnotify
|
||||
gsettings-desktop-schemas
|
||||
# https://github.com/NixOS/nixpkgs/issues/72282
|
||||
# https://github.com/NixOS/nixpkgs/blob/2e87260fafdd3d18aa1719246fd704b35e55b0f2/pkgs/applications/misc/joplin-desktop/default.nix#L16
|
||||
# log in /home/leo/.config/unity3d/Editor.log
|
||||
# it will segfault when opening files if you don’t do:
|
||||
# export XDG_DATA_DIRS=/nix/store/0nfsywbk0qml4faa7sk3sdfmbd85b7ra-gsettings-desktop-schemas-43.0/share/gsettings-schemas/gsettings-desktop-schemas-43.0:/nix/store/rkscn1raa3x850zq7jp9q3j5ghcf6zi2-gtk+3-3.24.35/share/gsettings-schemas/gtk+3-3.24.35/:$XDG_DATA_DIRS
|
||||
# other issue: (Unity:377230): GLib-GIO-CRITICAL **: 21:09:04.706: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
|
||||
|
||||
# Verified games requirements
|
||||
xorg.libXt
|
||||
xorg.libXmu
|
||||
libogg
|
||||
libvorbis
|
||||
SDL
|
||||
SDL2_image
|
||||
glew_1_10
|
||||
libidn
|
||||
tbb
|
||||
|
||||
# Other things from runtime
|
||||
flac
|
||||
freeglut
|
||||
libjpeg
|
||||
libpng
|
||||
libpng12
|
||||
libsamplerate
|
||||
libmikmod
|
||||
libtheora
|
||||
libtiff
|
||||
pixman
|
||||
speex
|
||||
SDL_image
|
||||
SDL_ttf
|
||||
SDL_mixer
|
||||
SDL2_ttf
|
||||
SDL2_mixer
|
||||
libappindicator-gtk2
|
||||
libdbusmenu-gtk2
|
||||
libindicator-gtk2
|
||||
libcaca
|
||||
libcanberra
|
||||
libgcrypt
|
||||
libvpx
|
||||
librsvg
|
||||
xorg.libXft
|
||||
libvdpau
|
||||
# ...
|
||||
# Some more libraries that I needed to run programs
|
||||
pango
|
||||
cairo
|
||||
atk
|
||||
gdk-pixbuf
|
||||
fontconfig
|
||||
freetype
|
||||
dbus
|
||||
alsa-lib
|
||||
expat
|
||||
# for blender
|
||||
libxkbcommon
|
||||
|
||||
libxcrypt-legacy # For natron
|
||||
libGLU # For natron
|
||||
|
||||
# Appimages need fuse, e.g. https://musescore.org/fr/download/musescore-x86_64.AppImage
|
||||
fuse
|
||||
e2fsprogs
|
||||
|
||||
webkitgtk_4_1
|
||||
libsoup_3
|
||||
];
|
||||
}
|
||||
12
osConfigs/global/nix-alien.nix
Normal file
12
osConfigs/global/nix-alien.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{ ... }:
|
||||
|
||||
let
|
||||
nix-alien-pkgs = import (
|
||||
builtins.fetchTarball "https://github.com/thiagokokada/nix-alien/tarball/master"
|
||||
) { };
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with nix-alien-pkgs; [
|
||||
nix-alien
|
||||
];
|
||||
}
|
||||
18
osConfigs/global/nix.nix
Normal file
18
osConfigs/global/nix.nix
Normal file
@ -0,0 +1,18 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# nix.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/05 23:42:17 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/05 23:42:20 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
}
|
||||
@ -1,63 +1,35 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# global.nix :+: :+: :+: #
|
||||
# other.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/02/09 01:43:46 by tomoron #+# #+# #
|
||||
# Updated: 2025/04/23 20:31:46 by tomoron ### ########.fr #
|
||||
# Updated: 2025/09/06 00:51:46 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ lib, pkgs, flakeName, ... }:
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
imports = lib.concatLists [[
|
||||
./hardware-configuration.nix
|
||||
./packages.nix
|
||||
]
|
||||
(lib.fileset.toList ./modules)
|
||||
];
|
||||
|
||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
systemd-boot.memtest86.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 1;
|
||||
};
|
||||
|
||||
networking.hostName = lib.mkDefault "unnamed-nixos";
|
||||
networking.networkmanager.enable = lib.mkDefault true;
|
||||
|
||||
programs.fuse.enable = true;
|
||||
|
||||
time.timeZone = "Europe/Paris";
|
||||
|
||||
services.xserver.enable = lib.mkDefault true;
|
||||
services.xserver.displayManager.startx.enable = true;
|
||||
|
||||
programs.hyprland.enable = lib.mkDefault true;
|
||||
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
users.users.tom = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "docker" "libvirtd" "dialout" "wireshark"];
|
||||
initialPassword = "password";
|
||||
};
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
virtualisation.docker.enableOnBoot = lib.mkDefault false;
|
||||
|
||||
programs.hyprland.enable = lib.mkDefault true;
|
||||
|
||||
system.stateVersion = "24.05";
|
||||
environment.etc.nixosFlakeName.text = "${flakeName}";
|
||||
|
||||
hardware.logitech.wireless.enable = true;
|
||||
hardware.logitech.wireless.enableGraphical = true;
|
||||
}
|
||||
27
osConfigs/global/packages.nix
Normal file
27
osConfigs/global/packages.nix
Normal file
@ -0,0 +1,27 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# packages.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:57:21 by tomoron #+# #+# #
|
||||
# Updated: 2025/12/30 18:12:05 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
home-manager
|
||||
vim
|
||||
pciutils
|
||||
usbutils
|
||||
ntfs3g
|
||||
cryptsetup
|
||||
acpi
|
||||
|
||||
nss
|
||||
];
|
||||
}
|
||||
8
osConfigs/global/sops.nix
Normal file
8
osConfigs/global/sops.nix
Normal file
@ -0,0 +1,8 @@
|
||||
{lib, ...}:
|
||||
|
||||
{
|
||||
sops = {
|
||||
defaultSopsFile = ../../secrets/secrets.yaml;
|
||||
age.keyFile = "/home/tom/.config/sops/age/keys.txt";
|
||||
};
|
||||
}
|
||||
28
osConfigs/global/user.nix
Normal file
28
osConfigs/global/user.nix
Normal file
@ -0,0 +1,28 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# user.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/05 23:42:18 by tomoron #+# #+# #
|
||||
# Updated: 2026/01/13 16:32:42 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
users.users.tom = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [
|
||||
"wheel" # can sudo
|
||||
"docker" # can use docker
|
||||
"libvirtd" # can use libvirtd
|
||||
"dialout" # can use serial devices
|
||||
"wireshark" # can use wireshask
|
||||
];
|
||||
|
||||
initialPassword = "password";
|
||||
};
|
||||
}
|
||||
@ -1,30 +1,47 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# desktop.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:57:04 by tomoron #+# #+# #
|
||||
# Updated: 2025/12/23 18:41:48 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot.kernelParams = [ "nvidia-drm-modset=1" ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
cudatoolkit
|
||||
lm_sensors
|
||||
lm_sensors # can be user (and global)
|
||||
];
|
||||
|
||||
networking.hostName = "nixos-fixe";
|
||||
|
||||
hardware.cpu.intel.updateMicrocode = true;
|
||||
mods.yubikey.pam.enable = true;
|
||||
|
||||
boot.kernelModules = [ "kvm-intel" "nvidia" ];
|
||||
mods.displayManager.enable = true;
|
||||
|
||||
hardware.nvidia = {
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
open = true;
|
||||
mods.nvidia.enable = true;
|
||||
mods.gayming.enable = true;
|
||||
|
||||
prime.nvidiaBusId = "PCI:1:0:0";
|
||||
prime.intelBusId = "PCI:0:2:0";
|
||||
prime.sync.enable = true;
|
||||
programs.noisetorch.enable = true;
|
||||
|
||||
modesetting.enable = true;
|
||||
};
|
||||
# hardware.nvidia = {
|
||||
# open = true;
|
||||
#
|
||||
# prime.nvidiaBusId = "PCI:1:0:0";
|
||||
# prime.intelBusId = "PCI:0:2:0";
|
||||
# prime.sync.enable = true;
|
||||
#
|
||||
# modesetting.enable = true;
|
||||
# };
|
||||
|
||||
services.openssh.enable = true;
|
||||
programs.droidcam.enable = true;
|
||||
}
|
||||
|
||||
@ -1,8 +1,20 @@
|
||||
{lib, inputs, pkgs, ... }:
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# iso.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:57:02 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/06 00:57:03 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../packages.nix
|
||||
../global/packages.nix
|
||||
];
|
||||
|
||||
users.users.tom = {
|
||||
@ -13,13 +25,4 @@
|
||||
|
||||
services.getty.autologinUser = lib.mkForce "tom";
|
||||
services.getty.helpLine = lib.mkForce "";
|
||||
# programs.hyprland.enable = true;
|
||||
|
||||
# home-manager.extraSpecialArgs = { inherit inputs; inherit pkgs; isOs = true;};
|
||||
# home-manager.users.tom = {
|
||||
# imports = [
|
||||
# ../../homeConfigs/home.nix
|
||||
# ../../homeConfigs/hosts/iso.nix
|
||||
# ];
|
||||
# };
|
||||
}
|
||||
|
||||
@ -1,19 +1,52 @@
|
||||
{ config, pkgs, ... }:
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# laptop.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:56:57 by tomoron #+# #+# #
|
||||
# Updated: 2026/02/03 14:40:35 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot.initrd.luks.devices.cryptroot.device = "/dev/disk/by-uuid/a4593b01-069d-4a5d-a550-74a762b89b3f";
|
||||
boot.initrd.luks.devices.cryptroot.allowDiscards = true;
|
||||
boot.initrd.luks.yubikeySupport = true;
|
||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||
boot.initrd.kernelModules = [ "vfat" "nls_cp437" "nls_iso8859-1" "usbhid" ];
|
||||
boot.initrd.luks.devices.cryptroot = {
|
||||
device = "/dev/disk/by-uuid/a4593b01-069d-4a5d-a550-74a762b89b3f";
|
||||
allowDiscards = true;
|
||||
#set up initial : https://wiki.nixos.org/wiki/Yubikey_based_Full_Disk_Encryption_(FDE)_on_NixOS
|
||||
yubikey = {
|
||||
twoFactor = false;
|
||||
keyLength = 64;
|
||||
saltLength = 32;
|
||||
storage = {
|
||||
device = "/dev/disk/by-uuid/BA5C-F216";
|
||||
path = "/default";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
boot.blacklistedKernelModules = [ "nvidia" "nvidia_drm" "nvidia_uvm" ]; #speeds up startup
|
||||
programs.droidcam.enable = true;
|
||||
|
||||
mods.displayManager.enable = true;
|
||||
mods.virtualManager.enable = false;
|
||||
mods.virtualHost.enable = true;
|
||||
mods.yubikey.pam.enable = true;
|
||||
networking.firewall.enable = false;
|
||||
|
||||
networking.hostName = "patate-douce";
|
||||
networking.wireless.enable = true;
|
||||
# networking.wireless.enable = true;
|
||||
networking.networkmanager.wifi.backend = "iwd";
|
||||
networking.wireless.iwd.enable = true;
|
||||
networking.wireless.allowAuxiliaryImperativeNetworks = true;
|
||||
networking.networkmanager.enable = false;
|
||||
|
||||
specialisation.vfio_ready.configuration = {
|
||||
boot.kernel.sysctl."vm.nr_hugepages" = 5120;
|
||||
boot.extraModulePackages = with config.boot.kernelPackages; [ kvmfr ];
|
||||
boot.kernelModules = [ "kvmfr" ];
|
||||
boot.extraModprobeConfig = ''
|
||||
@ -26,8 +59,6 @@
|
||||
"/dev/random", "/dev/urandom",
|
||||
"/dev/ptmx", "/dev/kvm",
|
||||
"/dev/rtc","/dev/hpet",
|
||||
"/dev/input/by-id/[some_mouse_device]-event-mouse",
|
||||
"/dev/input/by-id/[some_keyboard_device]-event-kbd"
|
||||
]
|
||||
'';
|
||||
services.udev.extraRules = ''
|
||||
@ -35,54 +66,70 @@
|
||||
'';
|
||||
environment.systemPackages = with pkgs; [ looking-glass-client ];
|
||||
};
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", TAG+="uaccess"
|
||||
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess"
|
||||
'';
|
||||
|
||||
programs.virt-manager.enable = true;
|
||||
virtualisation.libvirtd.enable = true;
|
||||
virtualisation.libvirtd.qemu.runAsRoot = true;
|
||||
virtualisation.libvirtd.qemu.vhostUserPackages = [ pkgs.virtiofsd ];
|
||||
|
||||
networking.dhcpcd.enable = false;
|
||||
systemd.network.enable = true;
|
||||
networking.useNetworkd = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
acpi
|
||||
tlp
|
||||
fprintd
|
||||
];
|
||||
|
||||
hardware.nvidia.prime.offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
|
||||
services.libinput.enable = true;
|
||||
services.libinput.touchpad.clickMethod = "clickfinger";
|
||||
services.libinput.touchpad.tapping = false;
|
||||
programs.noisetorch.enable = true;
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
|
||||
#power management
|
||||
powerManagement.enable = true;
|
||||
powerManagement.cpuFreqGovernor = "powersave";
|
||||
services.auto-cpufreq.enable = true;
|
||||
services.auto-cpufreq.settings = {
|
||||
battery = {
|
||||
governor = "powersave";
|
||||
turbo = "never";
|
||||
};
|
||||
charger = {
|
||||
governor = "performance";
|
||||
turbo = "auto";
|
||||
};
|
||||
};
|
||||
services.upower.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
acpi # can be user (global)
|
||||
];
|
||||
|
||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||
|
||||
mods.touchpad.enable = true;
|
||||
|
||||
mods.powerSave = {
|
||||
enable = true;
|
||||
powahCommandAdditions = [
|
||||
"supergfxctl -m Hybrid"
|
||||
"if asusctl profile -p | grep Balanced ; then asusctl profile -P Performance; fi"
|
||||
"if asusctl profile -p | grep Quiet ; then asusctl profile -P Balanced; fi"
|
||||
];
|
||||
tagueuleCommandAdditions = [
|
||||
"echo \"can't safely turn off the GPU\""
|
||||
"asusctl profile -P Quiet"
|
||||
];
|
||||
cpuMaxFreq = 4465261;
|
||||
|
||||
};
|
||||
|
||||
|
||||
services.asusd = {
|
||||
enable = true;
|
||||
enableUserService = true;
|
||||
};
|
||||
|
||||
services.supergfxd.enable = true;
|
||||
services.supergfxd.settings = {
|
||||
mode = lib.mkDefault "Integrated";
|
||||
vfio_enable = true;
|
||||
vfio_save = true;
|
||||
always_reboot = false;
|
||||
no_logind = true;
|
||||
logout_timeout_s = 180;
|
||||
hotplug_type = "None";
|
||||
};
|
||||
|
||||
programs.wireshark.enable = true;
|
||||
programs.wireshark.usbmon.enable = true;
|
||||
|
||||
mods.docker.enable = true;
|
||||
mods.gayming.enable = true;
|
||||
mods.nvidia.enable = true;
|
||||
mods.nvidia.prime = true;
|
||||
|
||||
|
||||
services.usbmuxd.enable = true; #sometimes hangs when shutting down
|
||||
|
||||
# boot.plymouth = {
|
||||
# enable = true;
|
||||
# theme = "ycontre-glow";
|
||||
@ -90,4 +137,9 @@
|
||||
# inputs.plymouth-theme-ycontre-glow.defaultPackage.x86_64-linux
|
||||
# ];
|
||||
# };
|
||||
|
||||
services.flatpak.enable = true;
|
||||
|
||||
|
||||
services.k3s.enable = true;
|
||||
}
|
||||
|
||||
@ -1,100 +1,99 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# server.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:57:09 by tomoron #+# #+# #
|
||||
# Updated: 2026/01/27 18:56:23 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../modules/game.nix
|
||||
../modules/vboxHost.nix
|
||||
../modules/nvidia.nix
|
||||
let
|
||||
ports = [
|
||||
22 #git ssh
|
||||
80 443 #http server
|
||||
5000 #frigate
|
||||
8083 137 138 139 445 548 3702 5357 #prob some samba shit
|
||||
24454 #minecraft voice chat
|
||||
25565 # minecraft server
|
||||
9091 # transmission web interface
|
||||
];
|
||||
portRanges = [
|
||||
{from = 47950; to = 49000;} #moonlight (wolf)
|
||||
];
|
||||
in
|
||||
{
|
||||
boot.kernelPackages = pkgs.linuxPackages;
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.gasket ];
|
||||
boot.extraModulePackages = [
|
||||
config.boot.kernelPackages.gasket #driver for google coral edge tpu
|
||||
];
|
||||
|
||||
|
||||
networking.hostName = "server";
|
||||
services.openssh.enable = true;
|
||||
services.openssh.settings.PasswordAuthentication = false;
|
||||
services.openssh.ports = [ 1880 ];
|
||||
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
sops.secrets."cloudflared/token" = {};
|
||||
systemd.services.cloudflared = {
|
||||
after = [
|
||||
"network.target"
|
||||
"network-online.target"
|
||||
];
|
||||
wants = [
|
||||
"network.target"
|
||||
"network-online.target"
|
||||
];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = ''${pkgs.bash}/bin/bash -c '${pkgs.cloudflared}/bin/cloudflared tunnel --no-autoupdate run --token "$(cat ${config.sops.secrets."cloudflared/token".path})"' '';
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
boot.extraModprobeConfig = ''
|
||||
options amdgpu virtual_display=1
|
||||
# create dummy display to be able to start x11
|
||||
'';
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
zfs
|
||||
nvidia-docker
|
||||
libnvidia-container
|
||||
screen
|
||||
];
|
||||
|
||||
|
||||
boot.supportedFilesystems = [ "zfs" ];
|
||||
|
||||
# services.cron.enable = false;
|
||||
# services.cron.systemCronJobs = [
|
||||
# # m h dom m dow
|
||||
# # https://crontab.guru <3
|
||||
# ];
|
||||
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
22 #git ssh
|
||||
80 443 #http server
|
||||
5000 #frigate
|
||||
8083 137 138 139 445 548 3702 5357 #prob some samba shit
|
||||
24454 #minecraft voice chat
|
||||
25565 # minecraft server
|
||||
];
|
||||
networking.firewall.allowedUDPPorts = [
|
||||
22 #git ssh
|
||||
80 443 #http server
|
||||
5000 #frigate
|
||||
8083 137 138 139 445 548 3702 5357 #prob some samba shit
|
||||
24454 #minecraft voice chat
|
||||
25565 # minecraft server
|
||||
];
|
||||
|
||||
networking.firewall.allowedUDPPortRanges = [
|
||||
{from = 47950; to = 49000;}
|
||||
];
|
||||
networking.firewall.allowedTCPPortRanges = [
|
||||
{from = 47950; to = 49000;}
|
||||
environment.systemPackages = with pkgs; [
|
||||
zfs
|
||||
screen #can be user (and global)
|
||||
];
|
||||
|
||||
networking = {
|
||||
hostName = "server";
|
||||
|
||||
interfaces.eth0.ipv4.addresses = [ {
|
||||
address = "192.168.1.24";
|
||||
prefixLength = 24;
|
||||
} ];
|
||||
}
|
||||
];
|
||||
defaultGateway.address = "192.168.1.254";
|
||||
defaultGateway.interface = "eth0";
|
||||
nameservers = ["8.8.8.8" "8.8.4.4" "1.1.1.1"];
|
||||
hostId = "68290da7";
|
||||
};
|
||||
virtualisation.docker = {
|
||||
liveRestore = false;
|
||||
enableOnBoot = true;
|
||||
# package = inputs.pkgs-docker-2750.legacyPackages."x86_64-linux".docker;
|
||||
# daemon.settings = {
|
||||
# runtimes.nvidia.path = "${pkgs.nvidia-docker}/bin/nvidia-container-runtime";
|
||||
# exec-opts = ["native.cgroupdriver=cgroupfs"];
|
||||
# };
|
||||
|
||||
firewall.allowedTCPPorts = ports;
|
||||
firewall.allowedUDPPorts = ports;
|
||||
firewall.allowedUDPPortRanges = portRanges;
|
||||
firewall.allowedTCPPortRanges = portRanges;
|
||||
};
|
||||
|
||||
services.fail2ban.enable = true;
|
||||
services.fail2ban.bantime = "2h";
|
||||
services.fail2ban.bantime = "5h";
|
||||
|
||||
hardware.nvidia-container-toolkit.enable = true;
|
||||
mods.nvidia.enable = true;
|
||||
mods.nvidia.beta = true;
|
||||
mods.nvidia.containerToolkit = true;
|
||||
|
||||
hardware.nvidia = {
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
open = true;
|
||||
|
||||
# prime.nvidiaBusId = "PCI:1:0:0";
|
||||
# prime.amdgpuBusId = "PCI:13:0:0";
|
||||
# prime.sync.enable = true;
|
||||
|
||||
# modesetting.enable = true;
|
||||
mods.docker = {
|
||||
enable = true;
|
||||
boot = true;
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,4 +1,16 @@
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# vbox.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:56:42 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/06 00:56:52 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
virtualisation.virtualbox.guest.enable = true;
|
||||
|
||||
@ -1,10 +1,22 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# displayManager.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/05 23:47:16 by tomoron #+# #+# #
|
||||
# Updated: 2025/11/17 14:32:13 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{config, lib, ... }:
|
||||
|
||||
{
|
||||
options.mods.displayManager.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "enable the display manager";
|
||||
description = "enable the ly display manager";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.displayManager.enable {
|
||||
@ -12,6 +24,9 @@
|
||||
services.displayManager.ly.enable = true;
|
||||
services.displayManager.ly.settings =
|
||||
{
|
||||
animation = "gameoflife";
|
||||
min_refresh_delta = 50;
|
||||
bigclock = "en";
|
||||
sleep_cmd = "systemctl sleep";
|
||||
asterisk = "A";
|
||||
auth_fails= 3;
|
||||
|
||||
36
osConfigs/modules/docker.nix
Normal file
36
osConfigs/modules/docker.nix
Normal file
@ -0,0 +1,36 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# docker.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:10:58 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/06 01:06:23 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ config, lib, ... }:
|
||||
|
||||
{
|
||||
options.mods.docker = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "enable docker";
|
||||
};
|
||||
boot = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "start docker with the system (if false, trigered by docker.socket)";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.docker.enable {
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
liveRestore = false;
|
||||
enableOnBoot = config.mods.docker.boot;
|
||||
};
|
||||
};
|
||||
}
|
||||
@ -1,14 +1,27 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# game.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/05 23:47:09 by tomoron #+# #+# #
|
||||
# Updated: 2025/10/27 00:50:29 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{config, lib, ... }:
|
||||
|
||||
{
|
||||
options.mods.gayming.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "enable games on the host";
|
||||
default = false;
|
||||
description = "enable steam and other";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.gayming.enable {
|
||||
programs.steam.enable = true;
|
||||
programs.steam.protontricks.enable = true;
|
||||
programs.gamescope.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@ -1,19 +1,65 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# nvidia.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/05 23:47:19 by tomoron #+# #+# #
|
||||
# Updated: 2025/12/23 18:42:01 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
|
||||
{ config, lib, ... }:
|
||||
|
||||
{
|
||||
options.mods.nvidia-graphics.enable = lib.mkOption {
|
||||
options.mods.nvidia = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "enable nvidia drivers";
|
||||
};
|
||||
beta = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "use beta version of the drivers";
|
||||
};
|
||||
open = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "enable my nvidia graphics settings";
|
||||
description = "use open version of the drivers (on newer gpu)";
|
||||
};
|
||||
containerToolkit = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "enable the nvidia container toolkit (gpu in docker)";
|
||||
};
|
||||
prime = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "enable nvidia prime offload (saves battery). prime ?";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.nvidia-graphics.enable {
|
||||
config = lib.mkIf config.mods.nvidia.enable {
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
|
||||
hardware.nvidia = {
|
||||
package = lib.mkIf config.mods.nvidia.beta config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
open = config.mods.nvidia.open;
|
||||
|
||||
prime.offload = lib.mkIf config.mods.nvidia.prime {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
};
|
||||
|
||||
hardware.nvidia-container-toolkit.enable = config.mods.nvidia.containerToolkit;
|
||||
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
};
|
||||
|
||||
|
||||
125
osConfigs/modules/powerSave.nix
Normal file
125
osConfigs/modules/powerSave.nix
Normal file
@ -0,0 +1,125 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# powerSave.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:45:04 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/23 04:25:20 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
options.mods.powerSave = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "enable services and settings to save power";
|
||||
};
|
||||
|
||||
powahCommandAdditions = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
description = "commands the `powah` script runs";
|
||||
};
|
||||
tagueuleCommandAdditions = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
description = "commands the `tagueule` script runs";
|
||||
};
|
||||
|
||||
pStateCompatible = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "is the cpu p-state compatible. only most of intel cpu's";
|
||||
};
|
||||
|
||||
cpuMaxFreq = lib.mkOption {
|
||||
type = lib.types.ints.positive;
|
||||
default = 5000000;
|
||||
description = "the max frequency of the cpu (in KHz)";
|
||||
};
|
||||
|
||||
governorPowers = {
|
||||
ac.min = lib.mkOption {
|
||||
type = lib.types.ints.unsigned;
|
||||
default = 30;
|
||||
description = "min frequency on AC";
|
||||
};
|
||||
ac.max = lib.mkOption {
|
||||
type = lib.types.ints.unsigned;
|
||||
default = 100;
|
||||
description = "max frequency on AC";
|
||||
};
|
||||
bat.min = lib.mkOption {
|
||||
type = lib.types.ints.unsigned;
|
||||
default = 0;
|
||||
description = "min frequency on BAT";
|
||||
};
|
||||
bat.max = lib.mkOption {
|
||||
type = lib.types.ints.unsigned;
|
||||
default = 40;
|
||||
description = "max frequency on BAT";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
config = lib.mkIf config.mods.powerSave.enable {
|
||||
services.tlp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
TLP_DEFAULT_MODE = "BAT";
|
||||
TLP_PERSISTENT_DEFAULT = 1;
|
||||
|
||||
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
||||
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
||||
|
||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
||||
}
|
||||
// lib.optionalAttrs (!config.mods.powerSave.pStateCompatible) (with config.mods.powerSave; {
|
||||
CPU_SCALING_MIN_FREQ_ON_AC = (cpuMaxFreq * governorPowers.ac.min) / 100;
|
||||
CPU_SCALING_MAX_FREQ_ON_AC = (cpuMaxFreq * governorPowers.ac.max) / 100;
|
||||
CPU_SCALING_MIN_FREQ_ON_BAT = (cpuMaxFreq * governorPowers.bat.min) / 100;
|
||||
CPU_SCALING_MAX_FREQ_ON_BAT = (cpuMaxFreq * governorPowers.bat.max) / 100;
|
||||
})
|
||||
// lib.optionalAttrs config.mods.powerSave.pStateCompatible (with config.mods.powerSave.governorPowers; {
|
||||
CPU_MIN_PERF_ON_AC = ac.min;
|
||||
CPU_MAX_PERF_ON_AC = ac.max;
|
||||
CPU_MIN_PERF_ON_BAT = bat.min;
|
||||
CPU_MAX_PERF_ON_BAT = bat.max;
|
||||
});
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
(pkgs.writeShellApplication {
|
||||
name = "powah";
|
||||
runtimeInputs = with pkgs; [ tlp ];
|
||||
text = ''
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
exec sudo bash "$0" "$@"
|
||||
fi
|
||||
tlp ac
|
||||
'' + lib.concatStringsSep "\n" config.mods.powerSave.powahCommandAdditions;
|
||||
})
|
||||
|
||||
(pkgs.writeShellApplication {
|
||||
name = "tagueule";
|
||||
runtimeInputs = with pkgs; [ tlp ];
|
||||
text = ''
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
exec sudo bash "$0" "$@"
|
||||
fi
|
||||
tlp bat
|
||||
'' + lib.concatStringsSep "\n" config.mods.powerSave.tagueuleCommandAdditions;
|
||||
})
|
||||
];
|
||||
|
||||
powerManagement.enable = true;
|
||||
mods.nvidia.prime = true;
|
||||
};
|
||||
}
|
||||
29
osConfigs/modules/touchpad.nix
Normal file
29
osConfigs/modules/touchpad.nix
Normal file
@ -0,0 +1,29 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# touchpad.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:39:41 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/06 01:02:41 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ config, lib, ... }:
|
||||
|
||||
{
|
||||
options.mods.touchpad = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "enable touchpad support";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.touchpad.enable {
|
||||
services.libinput.enable = true;
|
||||
services.libinput.touchpad.clickMethod = "clickfinger";
|
||||
services.libinput.touchpad.tapping = false;
|
||||
};
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
options.mods.virtualManager.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "enable virtual manager as host";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.virtualManager.enable {
|
||||
programs.virt-manager.enable = true;
|
||||
virtualisation.libvirtd.enable = true;
|
||||
virtualisation.libvirtd.qemu.runAsRoot = true;
|
||||
virtualisation.libvirtd.qemu.vhostUserPackages = [ pkgs.virtiofsd ];
|
||||
virtualisation.spiceUSBRedirection.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [ spice-gtk ];
|
||||
};
|
||||
}
|
||||
31
osConfigs/modules/virtualHost.nix
Normal file
31
osConfigs/modules/virtualHost.nix
Normal file
@ -0,0 +1,31 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# virtualHost.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/05 23:47:19 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/06 01:03:07 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
options.mods.virtualHost.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "enable virtual manager as host";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.virtualHost.enable {
|
||||
programs.virt-manager.enable = true;
|
||||
virtualisation.libvirtd.enable = true;
|
||||
virtualisation.libvirtd.qemu.runAsRoot = true;
|
||||
virtualisation.libvirtd.qemu.vhostUserPackages = [ pkgs.virtiofsd ];
|
||||
virtualisation.spiceUSBRedirection.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [ spice-gtk ];
|
||||
};
|
||||
}
|
||||
@ -1,20 +1,32 @@
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# yubikey.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/05 23:47:20 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/06 01:03:54 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
options.mods.yubikey = {
|
||||
options.mods.yubikey.pam = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "enable yubikey";
|
||||
default = false;
|
||||
description = "enable yubikey pam module\nuse `ykpamcfg` to configure";
|
||||
};
|
||||
|
||||
id = lib.mkOption {
|
||||
type = lib.str;
|
||||
description = "yubikey id";
|
||||
description = "id of the yubikey written under connector";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.yubikey.enable {
|
||||
config = lib.mkIf config.mods.yubikey.pam.enable {
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
@ -22,8 +34,12 @@
|
||||
|
||||
security.pam.yubico = {
|
||||
enable = true;
|
||||
id = config.mods.yubikey.id;
|
||||
id = config.mods.yubikey.pam.id;
|
||||
mode = "challenge-response";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
yubico-pam
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
24
osConfigs/os.nix
Normal file
24
osConfigs/os.nix
Normal file
@ -0,0 +1,24 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# os.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/09/06 00:56:36 by tomoron #+# #+# #
|
||||
# Updated: 2025/09/06 00:56:37 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ lib, flakeName, ... }:
|
||||
|
||||
{
|
||||
imports = lib.concatLists [
|
||||
[ ./hardware-configuration.nix ]
|
||||
(lib.fileset.toList ./global)
|
||||
(lib.fileset.toList ./modules)
|
||||
];
|
||||
|
||||
system.stateVersion = "25.05";
|
||||
environment.etc.nixosFlakeName.text = "${flakeName}";
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
home-manager
|
||||
vim
|
||||
pciutils
|
||||
usbutils
|
||||
ntfs3g
|
||||
cryptsetup
|
||||
acpi
|
||||
yubico-pam
|
||||
];
|
||||
}
|
||||
20
secrets/secrets.yaml
Normal file
20
secrets/secrets.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
#ENC[AES256_GCM,data:1NcFm2XqZzmSSlr8wH4aXHDBhf+lOaZ/gUeK2T/U/hIBbqtfKtw=,iv:yS5iogRp6e3We/7wZnGy0XJzqLVfRVKlDhUs+tamcJ0=,tag:+z/qqF9n6/hQfv9aWXkCDQ==,type:comment]
|
||||
nextcloud_fuse:
|
||||
password: ENC[AES256_GCM,data:Rlyc9wO3rXJ97AAMzM+vJclEJ+eaSPtHkitqRL0=,iv:yuS2Tyo2HZGVb9tbWmmgOEwkyzLhlvq8iZ2YjGD0u9E=,tag:pf8n4pTvseh1pd12w8w4tw==,type:str]
|
||||
cloudflared:
|
||||
token: ENC[AES256_GCM,data:LS1VIwbbVsJxZ90p+kK4xJhzrBRJ51XL2j8mGLDVj5JjYJKXKBDIXtlb0x8A9WDIVyBuLBkE9pfSfQXtvfvZdUeyXswVJFUNW0mX3yC/WaeNQdPYy7UgyGjorqk31aNJ6b9XqtdfV0++qPvXQDvwn44UY0juuiIJ5KcLZEskRcqVTilG5WYi/nInhGbSqtzniRNvrbsynIq0CVQDhi3haCHNpCJMQUIyXM/g6Xsc9b++GYlHjgrtHQ==,iv:DbvJfbMblgr6+dYBJqDSzECKK90Nkq8Eci5dC8fMIXQ=,tag:bjAs8p5dAkh2Adon0JDNqg==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age1sjzkhwr8ycdsmuj8xg8y4v2hcpuq9vethnhytxtwzeury692dsxqf80fwv
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPRXNiNG9vRzJraERMSytl
|
||||
Qkc4SVluRWQ1bE5Dc2FpaHQ2WGkxeHF2TWdjCml3OXpockc0NFJ6dDJTVzNjLzNU
|
||||
cWxHTzhBVno1TlVDaXplR2tuN2wzN0kKLS0tIG5pWmcxYlhlb1lCN3RqNG5hRFJS
|
||||
clZaazZQdW5wYUhUNmM0QW91K0NLOTAKB6z7cKg54QmJo0U03u6RQkSCfJOAdeJa
|
||||
DiyPYjm02BNe8YPFbBFRpyT7G++j3h0yG+/Nr2zcQFyMMEpMv5QJvg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-12-16T16:16:27Z"
|
||||
mac: ENC[AES256_GCM,data:2Ju1exddd4qcru1UjXKXUBjugUWT9D2HJjKV03JwMCL4Wssb/H6DNNRJcmD0oXqA9DnEp5NpElhwa93LcogcNVsXL+sKGzQpP5m+/vDVfl2NcwdLyBVIvTQ0dASee/JMwBLcgcYBZuvL00Twv07/ImdvYROIs/fQUSualc6Sgcw=,iv:XsJ1MYLwLuFPLYGJoa/RsfAqs88AQwuH+3ItWc681LU=,tag:8pNSPKnv0yLoNrmxb9l2Xg==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.11.0
|
||||
Reference in New Issue
Block a user