Compare commits
44 Commits
9defcf7ad4
...
0da2264
Author | SHA1 | Date | |
---|---|---|---|
0da22649eb | |||
f14bc8c082 | |||
c766b08973 | |||
27ca179697 | |||
66b67b9b03 | |||
116e81d080 | |||
e64579832a | |||
11e350751a | |||
d86380c995 | |||
79ad288bcc | |||
5b3d74179b | |||
ac2d3acf0e | |||
9d132e5366 | |||
8248d4b969 | |||
18df257130 | |||
c9ffd8a567 | |||
637f7e0d78 | |||
4ff3ab574f | |||
633eea8877 | |||
3b7c49041c | |||
e8fac6e226 | |||
3239948de6 | |||
10c46e1e6a | |||
5f64559676 | |||
a82be1df2c | |||
f5ea128df4 | |||
3207899d6c | |||
e2e9a60907 | |||
26448d59d6 | |||
4d140208b3 | |||
d965848b31 | |||
a6eaa69a1c | |||
2eeff79ea0 | |||
7044d1eebb | |||
ca2a2a8e8d | |||
a5762a6a45 | |||
d5df83a046 | |||
1c38dc5686 | |||
b55c6baf47 | |||
7887f3c650 | |||
de34ac63af | |||
64f4635618 | |||
fbdc5b8810 | |||
0baab5a237 |
@ -1,6 +1,9 @@
|
|||||||
name: Build iso when a new version is pushed
|
name: Build iso when a new version is pushed
|
||||||
run-name: iso building
|
run-name: iso building
|
||||||
on: [push]
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- 'master'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
@ -12,12 +15,46 @@ jobs:
|
|||||||
- name: install nix
|
- name: install nix
|
||||||
uses: https://github.com/cachix/install-nix-action@v31
|
uses: https://github.com/cachix/install-nix-action@v31
|
||||||
|
|
||||||
|
- name: install go
|
||||||
|
uses: https://github.com/actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '>=1.20.1'
|
||||||
|
|
||||||
- name: build iso
|
- name: build iso
|
||||||
run: make iso
|
run: make iso
|
||||||
|
|
||||||
|
- name: get commit tag
|
||||||
|
id: vars
|
||||||
|
run: echo "TAG=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
- name: create tag
|
||||||
|
run: |
|
||||||
|
git config user.name "gitea-actions"
|
||||||
|
git config user.email "actions@gitea.com"
|
||||||
|
git tag ${{steps.vars.outputs.TAG}}
|
||||||
|
git push origin ${{steps.vars.outputs.TAG}}
|
||||||
|
|
||||||
- name: create release
|
- name: create release
|
||||||
uses: https://gitea.com/actions/release-action@main
|
run: |
|
||||||
with:
|
AUTH_TOKEN=${{secrets.RELEASE_TOKEN}}
|
||||||
files: |-
|
TAG_NAME=${{steps.vars.outputs.TAG}}
|
||||||
nixos.iso
|
owner=tom
|
||||||
api_key: '${{secrets.RELEASE_TOKEN}}'
|
repo=nix-config
|
||||||
|
set -e
|
||||||
|
release_create_res=$(curl -X POST -H "Authorization: token $AUTH_TOKEN" -H "content-type: application/json" -d "{\"tag_name\":\"$TAG_NAME\",\"name\":\"$TAG_NAME\"}" "https://git.tmoron.fr/api/v1/repos/$owner/$repo/releases" 2>/dev/null)
|
||||||
|
|
||||||
|
release_id=$(echo $release_create_res | jq -r .id)
|
||||||
|
echo $release_id
|
||||||
|
|
||||||
|
if [ $release_id == "null" ]; then
|
||||||
|
echo error
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
file_send_res=$(curl \
|
||||||
|
"https://git.tmoron.fr/api/v1/repos/$owner/$repo/releases/$release_id/assets?name=nixos.iso"\
|
||||||
|
-H "Authorization: token $AUTH_TOKEN"\
|
||||||
|
-H "accept: application/json"\
|
||||||
|
-H "Content-Type: multipart/form-data"\
|
||||||
|
-F "attachment=@nixos.iso" 2>/dev/null)
|
||||||
|
echo $file_send_res
|
||||||
|
5
Makefile
5
Makefile
@ -1,7 +1,7 @@
|
|||||||
HOST ?= $(file < /etc/nixosFlakeName)
|
HOST ?= $(file < /etc/nixosFlakeName)
|
||||||
THREADS ?= $(shell nproc)
|
THREADS ?= $(shell nproc)
|
||||||
FLAKE ?= .
|
FLAKE ?= .
|
||||||
MODE = boot
|
MODE ?= boot
|
||||||
|
|
||||||
FLAGS = --impure --cores $(THREADS) -j $(THREADS)
|
FLAGS = --impure --cores $(THREADS) -j $(THREADS)
|
||||||
|
|
||||||
@ -22,4 +22,5 @@ iso :
|
|||||||
rm -rf result
|
rm -rf result
|
||||||
|
|
||||||
cleanup :
|
cleanup :
|
||||||
sudo nix-collect-garbage -d
|
sudo nix-collect-garbage -d --delete-older-than 1d
|
||||||
|
nix-store --optimize -vv
|
||||||
|
24
flake.lock
generated
24
flake.lock
generated
@ -8,11 +8,11 @@
|
|||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "pkgs/firefox-addons",
|
"dir": "pkgs/firefox-addons",
|
||||||
"lastModified": 1744173435,
|
"lastModified": 1753070653,
|
||||||
"narHash": "sha256-q5cViHmB4k1CdncBUVBY4UUukiKQxgBJ6R18qJ3pHOA=",
|
"narHash": "sha256-vp4Svdpb90eEYkUKxjVROgcJ92u/2sVF8hnpsiKJEhI=",
|
||||||
"owner": "rycee",
|
"owner": "rycee",
|
||||||
"repo": "nur-expressions",
|
"repo": "nur-expressions",
|
||||||
"rev": "e7ea586f82360a06ec21f14544bc26b10aa1aea6",
|
"rev": "87f5912350a5bac28eacc1b89bb1767ca1a77e7e",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -29,11 +29,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744208565,
|
"lastModified": 1753056897,
|
||||||
"narHash": "sha256-vG3JJOar/r8ognz7wuwMtOJ8Knu1MMlOzHB1N6R2MbY=",
|
"narHash": "sha256-AVVMBFcuOXqIgmShvRv9TED3fkiZhQ0ZvlhsPoFfkNE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "542efdf2dfac351498f534eb71671525b9bd45ed",
|
"rev": "13a83d1b6545b7f0e8f7689bad62e7a3b1d63771",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -44,11 +44,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743420942,
|
"lastModified": 1753122741,
|
||||||
"narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=",
|
"narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4",
|
"rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -60,11 +60,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1744098102,
|
"lastModified": 1752950548,
|
||||||
"narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=",
|
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7",
|
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2024/10/17 18:15:38 by tomoron #+# #+# #
|
# Created: 2024/10/17 18:15:38 by tomoron #+# #+# #
|
||||||
# Updated: 2025/03/19 15:45:13 by tomoron ### ########.fr #
|
# Updated: 2025/05/12 12:35:00 by tomoron ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
@ -64,9 +64,11 @@
|
|||||||
|
|
||||||
home.sessionPath = [ "~/.local/bin" ];
|
home.sessionPath = [ "~/.local/bin" ];
|
||||||
|
|
||||||
|
|
||||||
home.file = { #should be able to make most of these in nix configs
|
home.file = { #should be able to make most of these in nix configs
|
||||||
".config/wallpaper.png".source = lib.mkDefault utils/wallpaper.png;
|
".config/wallpaper.png".source = lib.mkDefault utils/wallpaper_test.png;
|
||||||
".config/pc.jpg".source = lib.mkDefault utils/pc.jpg;
|
".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 {
|
".local/share/rofi/themes".source = "${builtins.fetchGit {
|
||||||
url = "https://github.com/newmanls/rofi-themes-collection";
|
url = "https://github.com/newmanls/rofi-themes-collection";
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
"LIBVA_DRIVER_NAME,nvidia"
|
"LIBVA_DRIVER_NAME,nvidia"
|
||||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||||
];
|
];
|
||||||
cursor.no_hardware_cursors = 1;
|
cursor.no_hardware_cursors = true;
|
||||||
|
misc.vrr = 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
mods.hyprland.autoSuspend = false;
|
mods.hyprland.autoSuspend = false;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ lib, pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
mods.discord.enable = false;
|
mods.nonChromium.enable = false;
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
stremio
|
stremio
|
||||||
blender
|
blender
|
||||||
|
wireshark
|
||||||
];
|
];
|
||||||
|
|
||||||
#mods.sync.syncedAdditions = ["VirtualBox VMs"];
|
#mods.sync.syncedAdditions = ["VirtualBox VMs"];
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
window.opacity = 0.9;
|
window.opacity = 0.95;
|
||||||
env.XTERM = "xterm-256color";
|
env.XTERM = "xterm-256color";
|
||||||
font.size = 9;
|
font.size = 9;
|
||||||
};
|
};
|
||||||
|
@ -1,16 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
options.mods.discord.enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = true;
|
|
||||||
description = "install discord";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf config.mods.discord.enable {
|
|
||||||
home.packages = with pkgs;[
|
|
||||||
discord
|
|
||||||
google-chrome
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
@ -10,6 +10,7 @@
|
|||||||
config = lib.mkIf config.mods.git.enable {
|
config = lib.mkIf config.mods.git.enable {
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
lfs.enable = true;
|
||||||
userEmail = "tomoron@student.42angouleme.fr";
|
userEmail = "tomoron@student.42angouleme.fr";
|
||||||
userName = "tomoron";
|
userName = "tomoron";
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
@ -17,6 +18,7 @@
|
|||||||
pull.rebase = true;
|
pull.rebase = true;
|
||||||
push.autoSetupRemote = true;
|
push.autoSetupRemote = true;
|
||||||
rerere.enabled = true;
|
rerere.enabled = true;
|
||||||
|
help.autocorrect = 1;
|
||||||
};
|
};
|
||||||
aliases = {
|
aliases = {
|
||||||
fuck = "!f() { git reset --hard \"@{upstream}\" && git restore . && git clean -f .; };f";
|
fuck = "!f() { git reset --hard \"@{upstream}\" && git restore . && git clean -f .; };f";
|
||||||
|
16
homeConfigs/modules/nonChromium.nix
Normal file
16
homeConfigs/modules/nonChromium.nix
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.mods.nonChromium.enable = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "all chromium/electron based application can't be built by act-runner, so they can't be in the iso";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.mods.nonChromium.enable {
|
||||||
|
home.packages = with pkgs;[
|
||||||
|
discord
|
||||||
|
google-chrome
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
@ -18,7 +18,7 @@
|
|||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
clang-tools
|
clang-tools
|
||||||
nixd
|
nixd
|
||||||
nodejs_23
|
nodejs_24
|
||||||
glsl_analyzer
|
glsl_analyzer
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -13,11 +13,12 @@
|
|||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
"$mainMod" = "SUPER";
|
"$mainMod" = "SUPER";
|
||||||
bind = [
|
bind = [
|
||||||
" , Print, exec, grim -t jpeg -g \"$(slurp)\" ~/screenshots/$(date +%Y-%m-%d_%H-%m-%s).jpg"
|
" , Print, exec, grim -t png -g \"$(slurp)\" /dev/stdout | tee ~/screenshots/$(date +%Y-%m-%d_%H-%m-%s).png | wl-copy -t image/png"
|
||||||
"$mainMod, Return, exec, alacritty"
|
"$mainMod, Return, exec, alacritty"
|
||||||
"CTRL_ALT, Q, killactive,"
|
"CTRL_ALT, Q, killactive,"
|
||||||
"SUPER_ALT, Q, exit,"
|
"SUPER_ALT, Q, exit,"
|
||||||
"$mainMod, S, togglefloating,"
|
"$mainMod, S, togglefloating,"
|
||||||
|
"$mainMod, I, pin,"
|
||||||
"$mainMod, D, exec, rofi -show drun -show-icons"
|
"$mainMod, D, exec, rofi -show drun -show-icons"
|
||||||
"$mainMod, M, fullscreen, 1"
|
"$mainMod, M, fullscreen, 1"
|
||||||
"$mainMod, F, fullscreen, 0"
|
"$mainMod, F, fullscreen, 0"
|
||||||
|
@ -51,6 +51,16 @@
|
|||||||
#temperature.critical {
|
#temperature.critical {
|
||||||
color: #ff2222;
|
color: #ff2222;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#battery.critical {
|
||||||
|
color: #ff2222;
|
||||||
|
}
|
||||||
|
#cpu.high {
|
||||||
|
color: #ff2222;
|
||||||
|
}
|
||||||
|
#disk.high {
|
||||||
|
color: #ff2222;
|
||||||
|
}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
programs.waybar.settings.mainBar = {
|
programs.waybar.settings.mainBar = {
|
||||||
@ -61,7 +71,7 @@
|
|||||||
margin-right = 5;
|
margin-right = 5;
|
||||||
modules-left = ["hyprland/workspaces" "custom/music"];
|
modules-left = ["hyprland/workspaces" "custom/music"];
|
||||||
modules-center = ["hyprland/window"];
|
modules-center = ["hyprland/window"];
|
||||||
modules-right = ["disk" "pulseaudio" "network" "custom/pipe" "cpu" "temperature" "custom/pipe" "memory" "battery" "clock"];
|
modules-right = ["disk" "pulseaudio" "network" "custom/pipe" "cpu" "custom/pipe" "temperature" "custom/pipe" "memory" "battery" "clock"];
|
||||||
|
|
||||||
"hyprland/workspaces" = {
|
"hyprland/workspaces" = {
|
||||||
disable-scroll = true;
|
disable-scroll = true;
|
||||||
@ -76,8 +86,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
cpu = {
|
cpu = {
|
||||||
format = " {usage}% |";
|
format = " {usage}% ";
|
||||||
interval = 5;
|
states.high = 80;
|
||||||
|
interval = 5;
|
||||||
};
|
};
|
||||||
|
|
||||||
memory = {
|
memory = {
|
||||||
@ -87,13 +98,15 @@
|
|||||||
|
|
||||||
battery = {
|
battery = {
|
||||||
bat = "BAT0";
|
bat = "BAT0";
|
||||||
|
full-at = 79;
|
||||||
states = {
|
states = {
|
||||||
good = 79;
|
good = 20;
|
||||||
warning = 30;
|
|
||||||
critical = 15;
|
critical = 15;
|
||||||
};
|
};
|
||||||
format-time = " {H}:{m}";
|
format-time = " {H}:{m}";
|
||||||
format = " {icon} {capacity}%{time} |";
|
format-discharging = " {icon} {capacity}%{time} |";
|
||||||
|
format-charging = " {capacity}%{time} |";
|
||||||
|
format-plugged = "";
|
||||||
format-icons = [" " " " " " " " " "];
|
format-icons = [" " " " " " " " " "];
|
||||||
interval = 10;
|
interval = 10;
|
||||||
};
|
};
|
||||||
@ -131,6 +144,7 @@
|
|||||||
|
|
||||||
disk = {
|
disk = {
|
||||||
format =" {percentage_used}% |";
|
format =" {percentage_used}% |";
|
||||||
|
states.high = "5";
|
||||||
};
|
};
|
||||||
|
|
||||||
"custom/pipe" = {
|
"custom/pipe" = {
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2025/02/10 00:21:11 by tomoron #+# #+# #
|
# Created: 2025/02/10 00:21:11 by tomoron #+# #+# #
|
||||||
# Updated: 2025/02/12 09:36:07 by tomoron ### ########.fr #
|
# Updated: 2025/06/18 15:49:03 by tomoron ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
{lib, config, ... }:
|
{lib, config, ... }:
|
||||||
@ -34,7 +34,7 @@
|
|||||||
setxkbmap fr us&
|
setxkbmap fr us&
|
||||||
nitrogen --restore &
|
nitrogen --restore &
|
||||||
pgrep activate-linux >/dev/null || (sleep 2;activate-linux -d)&
|
pgrep activate-linux >/dev/null || (sleep 2;activate-linux -d)&
|
||||||
''; # this is messy but i don't care, x11 isn't my default now.
|
''; # this is messy but i don't care, x11 is just a fallback now
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2025/02/09 22:01:56 by tomoron #+# #+# #
|
# Created: 2025/02/09 22:01:56 by tomoron #+# #+# #
|
||||||
# Updated: 2025/04/15 15:58:07 by tomoron ### ########.fr #
|
# Updated: 2025/07/23 18:00:40 by tomoron ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
@ -14,22 +14,34 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs;[
|
home.packages = with pkgs;[
|
||||||
ripgrep
|
lrzip
|
||||||
|
pigz
|
||||||
activate-linux
|
htop
|
||||||
unison
|
gnumake
|
||||||
brightnessctl
|
git
|
||||||
playerctl
|
neofetch
|
||||||
python3
|
clang
|
||||||
vlc
|
ninja
|
||||||
|
gdb
|
||||||
|
valgrind
|
||||||
|
wget
|
||||||
|
cmake
|
||||||
|
man-pages
|
||||||
|
stress
|
||||||
|
ffmpeg-full
|
||||||
|
ripgrep
|
||||||
|
activate-linux
|
||||||
|
unison
|
||||||
|
brightnessctl
|
||||||
|
playerctl
|
||||||
|
python3
|
||||||
|
vlc
|
||||||
|
nix-index
|
||||||
|
dunst
|
||||||
|
yubikey-manager
|
||||||
|
bibata-cursors
|
||||||
|
libcaca
|
||||||
|
nasm
|
||||||
nerd-fonts.iosevka
|
nerd-fonts.iosevka
|
||||||
|
|
||||||
nix-index
|
|
||||||
yubikey-manager
|
|
||||||
yubico-pam
|
|
||||||
dunst
|
|
||||||
bibata-cursors
|
|
||||||
libcaca
|
|
||||||
nasm
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
1
homeConfigs/result
Symbolic link
1
homeConfigs/result
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/nix/store/ffxpgsp8bpdfab8kd0vnlpappy5s65ag-home-manager-generation
|
BIN
homeConfigs/utils/wallpaper_test.png
Normal file
BIN
homeConfigs/utils/wallpaper_test.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 797 KiB |
@ -6,7 +6,7 @@
|
|||||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2025/02/09 01:43:46 by tomoron #+# #+# #
|
# Created: 2025/02/09 01:43:46 by tomoron #+# #+# #
|
||||||
# Updated: 2025/04/03 13:24:06 by tomoron ### ########.fr #
|
# Updated: 2025/04/23 20:31:46 by tomoron ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
users.users.tom = {
|
users.users.tom = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "docker" "libvirtd" "dialout"];
|
extraGroups = [ "wheel" "docker" "libvirtd" "dialout" "wireshark"];
|
||||||
initialPassword = "password";
|
initialPassword = "password";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -2,12 +2,7 @@
|
|||||||
{ config, lib, inputs, pkgs, ... }:
|
{ config, lib, inputs, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
boot.kernelParams = [ "nvidia-drm-modset=1" ];
|
||||||
../modules/game.nix
|
|
||||||
../modules/nvidia.nix
|
|
||||||
../modules/vboxHost.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
cudatoolkit
|
cudatoolkit
|
||||||
lm_sensors
|
lm_sensors
|
||||||
@ -18,9 +13,10 @@
|
|||||||
hardware.cpu.intel.updateMicrocode = true;
|
hardware.cpu.intel.updateMicrocode = true;
|
||||||
|
|
||||||
boot.kernelModules = [ "kvm-intel" "nvidia" ];
|
boot.kernelModules = [ "kvm-intel" "nvidia" ];
|
||||||
|
mods.displayManager.enable = true;
|
||||||
|
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
open = true;
|
open = true;
|
||||||
|
|
||||||
prime.nvidiaBusId = "PCI:1:0:0";
|
prime.nvidiaBusId = "PCI:1:0:0";
|
||||||
|
@ -13,13 +13,13 @@
|
|||||||
|
|
||||||
services.getty.autologinUser = lib.mkForce "tom";
|
services.getty.autologinUser = lib.mkForce "tom";
|
||||||
services.getty.helpLine = lib.mkForce "";
|
services.getty.helpLine = lib.mkForce "";
|
||||||
programs.hyprland.enable = true;
|
# programs.hyprland.enable = true;
|
||||||
|
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; inherit pkgs; isOs = true;};
|
# home-manager.extraSpecialArgs = { inherit inputs; inherit pkgs; isOs = true;};
|
||||||
home-manager.users.tom = {
|
# home-manager.users.tom = {
|
||||||
imports = [
|
# imports = [
|
||||||
../../homeConfigs/home.nix
|
# ../../homeConfigs/home.nix
|
||||||
../../homeConfigs/hosts/iso.nix
|
# ../../homeConfigs/hosts/iso.nix
|
||||||
];
|
# ];
|
||||||
};
|
# };
|
||||||
}
|
}
|
||||||
|
@ -1,17 +1,46 @@
|
|||||||
{ pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
boot.kernelParams = [ "kvm.enable_virt_at_load=0" ];
|
|
||||||
|
|
||||||
boot.initrd.luks.devices.cryptroot.device = "/dev/disk/by-uuid/a4593b01-069d-4a5d-a550-74a762b89b3f";
|
boot.initrd.luks.devices.cryptroot.device = "/dev/disk/by-uuid/a4593b01-069d-4a5d-a550-74a762b89b3f";
|
||||||
|
boot.initrd.luks.devices.cryptroot.allowDiscards = true;
|
||||||
|
|
||||||
services.displayManager.enable = true;
|
mods.displayManager.enable = true;
|
||||||
services.displayManager.ly.enable = true;
|
mods.virtualManager.enable = false;
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
networking.hostName = "patate-douce";
|
networking.hostName = "patate-douce";
|
||||||
networking.wireless.enable = true;
|
networking.wireless.enable = true;
|
||||||
networking.networkmanager.enable = false;
|
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 = ''
|
||||||
|
options kvmfr static_size_mb=128
|
||||||
|
blacklist xpad
|
||||||
|
'';
|
||||||
|
virtualisation.libvirtd.qemu.verbatimConfig = ''
|
||||||
|
cgroup_device_acl = [
|
||||||
|
"/dev/kvmfr0", "/dev/null", "/dev/full", "/dev/zero",
|
||||||
|
"/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 = ''
|
||||||
|
SUBSYSTEM=="kvmfr", OWNER="tom", GROUP="kvm", MODE="0660"
|
||||||
|
'';
|
||||||
|
environment.systemPackages = with pkgs; [ looking-glass-client ];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.virt-manager.enable = true;
|
||||||
|
virtualisation.libvirtd.enable = true;
|
||||||
|
virtualisation.libvirtd.qemu.runAsRoot = true;
|
||||||
|
virtualisation.libvirtd.qemu.vhostUserPackages = [ pkgs.virtiofsd ];
|
||||||
|
|
||||||
networking.dhcpcd.enable = false;
|
networking.dhcpcd.enable = false;
|
||||||
systemd.network.enable = true;
|
systemd.network.enable = true;
|
||||||
networking.useNetworkd = true;
|
networking.useNetworkd = true;
|
||||||
@ -19,7 +48,6 @@
|
|||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
acpi
|
acpi
|
||||||
tlp
|
tlp
|
||||||
looking-glass-client
|
|
||||||
fprintd
|
fprintd
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -52,6 +80,9 @@
|
|||||||
|
|
||||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||||
|
|
||||||
|
programs.wireshark.enable = true;
|
||||||
|
programs.wireshark.usbmon.enable = true;
|
||||||
|
|
||||||
# boot.plymouth = {
|
# boot.plymouth = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# theme = "ycontre-glow";
|
# theme = "ycontre-glow";
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
networking.hostName = "server";
|
networking.hostName = "server";
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
services.openssh.settings.PasswordAuthentication = false;
|
||||||
services.openssh.ports = [ 1880 ];
|
services.openssh.ports = [ 1880 ];
|
||||||
|
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
@ -73,7 +74,7 @@
|
|||||||
virtualisation.docker = {
|
virtualisation.docker = {
|
||||||
liveRestore = false;
|
liveRestore = false;
|
||||||
enableOnBoot = true;
|
enableOnBoot = true;
|
||||||
package = inputs.pkgs-docker-2750.legacyPackages."x86_64-linux".docker;
|
# package = inputs.pkgs-docker-2750.legacyPackages."x86_64-linux".docker;
|
||||||
# daemon.settings = {
|
# daemon.settings = {
|
||||||
# runtimes.nvidia.path = "${pkgs.nvidia-docker}/bin/nvidia-container-runtime";
|
# runtimes.nvidia.path = "${pkgs.nvidia-docker}/bin/nvidia-container-runtime";
|
||||||
# exec-opts = ["native.cgroupdriver=cgroupfs"];
|
# exec-opts = ["native.cgroupdriver=cgroupfs"];
|
||||||
@ -87,6 +88,7 @@
|
|||||||
hardware.nvidia-container-toolkit.enable = true;
|
hardware.nvidia-container-toolkit.enable = true;
|
||||||
|
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
open = true;
|
open = true;
|
||||||
|
|
||||||
# prime.nvidiaBusId = "PCI:1:0:0";
|
# prime.nvidiaBusId = "PCI:1:0:0";
|
||||||
|
21
osConfigs/modules/displayManager.nix
Normal file
21
osConfigs/modules/displayManager.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{config, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
options.mods.displayManager.enable = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "enable the display manager";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.mods.displayManager.enable {
|
||||||
|
services.displayManager.enable = true;
|
||||||
|
services.displayManager.ly.enable = true;
|
||||||
|
services.displayManager.ly.settings =
|
||||||
|
{
|
||||||
|
sleep_cmd = "systemctl sleep";
|
||||||
|
asterisk = "A";
|
||||||
|
auth_fails= 3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,14 +1,19 @@
|
|||||||
{ config, lib, inputs, pkgs, ... }:
|
{ config, lib, inputs, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
options.mods.virtualbox.enable = lib.mkOption {
|
options.mods.virtualManager.enable = lib.mkOption {
|
||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
description = "enable virtualbox as host";
|
description = "enable virtual manager as host";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.mods.virtualbox.enable {
|
config = lib.mkIf config.mods.virtualManager.enable {
|
||||||
virtualisation.virtualbox.host.enable = true;
|
programs.virt-manager.enable = true;
|
||||||
users.users.tom.extraGroups = [ "vboxusers" ];
|
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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,28 +2,13 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
home-manager
|
home-manager
|
||||||
vim
|
vim
|
||||||
pciutils
|
pciutils
|
||||||
pigz
|
usbutils
|
||||||
htop
|
ntfs3g
|
||||||
gnumake
|
cryptsetup
|
||||||
git
|
acpi
|
||||||
neofetch
|
yubico-pam
|
||||||
neovim
|
|
||||||
ntfs3g
|
|
||||||
clang
|
|
||||||
ninja
|
|
||||||
gdb
|
|
||||||
valgrind
|
|
||||||
wget
|
|
||||||
cmake
|
|
||||||
usbutils
|
|
||||||
man-pages
|
|
||||||
stress
|
|
||||||
ffmpeg
|
|
||||||
cryptsetup
|
|
||||||
acpi
|
|
||||||
dconf
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user