Compare commits
54 Commits
new-42-hom
...
093ac9c
Author | SHA1 | Date | |
---|---|---|---|
093ac9c011 | |||
d6ca7ba793 | |||
17e3fc6a9e | |||
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 | |||
9defcf7ad4 | |||
e5c52b4bc5 | |||
72f6ae62bc | |||
1d1af1d929 | |||
a97f8c71a6 | |||
5db19e9bd4 | |||
f48ed2c39f |
@ -1,6 +1,9 @@
|
||||
name: Build iso when a new version is pushed
|
||||
run-name: iso building
|
||||
on: [push]
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
test:
|
||||
@ -8,13 +11,50 @@ jobs:
|
||||
steps:
|
||||
- name: get repo
|
||||
uses: actions/checkout@v4.2.2
|
||||
# - uses: https://github.com/cachix/install-nix-action@v31
|
||||
# - name: create iso image
|
||||
# run: make iso
|
||||
|
||||
- name: install nix
|
||||
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
|
||||
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
|
||||
uses: https://gitea.com/actions/release-action@main
|
||||
with:
|
||||
files: |-
|
||||
nixos.iso
|
||||
api_key: '${{secrets.RELEASE_TOKEN}}'
|
||||
run: |
|
||||
AUTH_TOKEN=${{secrets.RELEASE_TOKEN}}
|
||||
TAG_NAME=${{steps.vars.outputs.TAG}}
|
||||
owner=tom
|
||||
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)
|
||||
THREADS ?= $(shell nproc)
|
||||
FLAKE ?= .
|
||||
MODE = boot
|
||||
MODE ?= boot
|
||||
|
||||
FLAGS = --impure --cores $(THREADS) -j $(THREADS)
|
||||
|
||||
@ -22,4 +22,5 @@ iso :
|
||||
rm -rf result
|
||||
|
||||
cleanup :
|
||||
sudo nix-collect-garbage -d
|
||||
sudo nix-collect-garbage -d --delete-older-than 1d
|
||||
nix-store --optimize -vv
|
||||
|
57
flake.lock
generated
57
flake.lock
generated
@ -2,18 +2,17 @@
|
||||
"nodes": {
|
||||
"firefox-addons": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1743119709,
|
||||
"narHash": "sha256-tlJY7MfAena/yi3lmd7y7vQGpLma4Q1BLtO4dvzF/Vs=",
|
||||
"lastModified": 1754138575,
|
||||
"narHash": "sha256-6foT7Sflve4XuLnBKkgN9b9IP4FvdoBA2XQ2IyXmbog=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "f8861a4b09a181dd88f6626d0202d9225ae85d65",
|
||||
"rev": "27c945a6450d42c62f7e41019d7931b426bb786f",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@ -23,21 +22,6 @@
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1629284811,
|
||||
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -45,11 +29,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743345555,
|
||||
"narHash": "sha256-Df8PxfWYF/z6RWcsKuXSks/FOCOCA7EiRdlWE2u0rRc=",
|
||||
"lastModified": 1754085240,
|
||||
"narHash": "sha256-kVHCrTWEe8B1thAhFag1bk4QPY0ZP45V9vPbrwPHoNo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2760046f34780cc72f67e06240ccf6a7a3ae3765",
|
||||
"rev": "e102920c1becb114645c6f92fe14edc0b05cc229",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -60,11 +44,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1743167577,
|
||||
"narHash": "sha256-I09SrXIO0UdyBFfh0fxDq5WnCDg8XKmZ1HQbaXzMA1k=",
|
||||
"lastModified": 1753122741,
|
||||
"narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "0ed819e708af17bfc4bbc63ee080ef308a24aa42",
|
||||
"rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -76,11 +60,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1743095683,
|
||||
"narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=",
|
||||
"lastModified": 1753939845,
|
||||
"narHash": "sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1+A4GQej/lBk5y7I=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6",
|
||||
"rev": "94def634a20494ee057c76998843c015909d6311",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -90,6 +74,22 @@
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"plymouth-theme-ycontre-glow": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -116,6 +116,7 @@
|
||||
"home-manager": "home-manager",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"pkgs-docker-2750": "pkgs-docker-2750",
|
||||
"plymouth-theme-ycontre-glow": "plymouth-theme-ycontre-glow"
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2024/10/17 18:15:24 by tomoron #+# #+# #
|
||||
# Updated: 2025/03/19 15:48:10 by tomoron ### ########.fr #
|
||||
# Updated: 2025/04/13 13:35:56 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@ -30,6 +30,7 @@
|
||||
url = "git+file:///home/tom/desktop/bordel/ycontre-glow";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
pkgs-docker-2750.url = "github:NixOS/nixpkgs?rev=5757bbb8bd7c0630a0cc4bb19c47e588db30b97c";
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, home-manager, nixos-hardware, ... }@inputs:
|
||||
|
@ -6,7 +6,7 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# 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.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/rofi/config.rasi".text = "@theme \"rounded-nord-dark.rasi\"";
|
||||
|
||||
".local/share/rofi/themes".source = "${builtins.fetchGit {
|
||||
url = "https://github.com/newmanls/rofi-themes-collection";
|
||||
|
@ -20,7 +20,8 @@
|
||||
"LIBVA_DRIVER_NAME,nvidia"
|
||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
];
|
||||
cursor.no_hardware_cursors = 1;
|
||||
cursor.no_hardware_cursors = true;
|
||||
misc.vrr = 1;
|
||||
};
|
||||
|
||||
mods.hyprland.autoSuspend = false;
|
||||
|
5
homeConfigs/hosts/iso.nix
Normal file
5
homeConfigs/hosts/iso.nix
Normal file
@ -0,0 +1,5 @@
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
mods.nonChromium.enable = false;
|
||||
}
|
@ -38,6 +38,7 @@
|
||||
home.packages = with pkgs; [
|
||||
stremio
|
||||
blender
|
||||
wireshark
|
||||
];
|
||||
|
||||
#mods.sync.syncedAdditions = ["VirtualBox VMs"];
|
||||
|
@ -11,7 +11,7 @@
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
window.opacity = 0.9;
|
||||
window.opacity = 0.95;
|
||||
env.XTERM = "xterm-256color";
|
||||
font.size = 9;
|
||||
};
|
||||
|
@ -10,6 +10,7 @@
|
||||
config = lib.mkIf config.mods.git.enable {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
userEmail = "tomoron@student.42angouleme.fr";
|
||||
userName = "tomoron";
|
||||
extraConfig = {
|
||||
@ -17,6 +18,7 @@
|
||||
pull.rebase = true;
|
||||
push.autoSetupRemote = true;
|
||||
rerere.enabled = true;
|
||||
help.autocorrect = 1;
|
||||
};
|
||||
aliases = {
|
||||
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; [
|
||||
clang-tools
|
||||
nixd
|
||||
nodejs_23
|
||||
nodejs_24
|
||||
glsl_analyzer
|
||||
];
|
||||
|
||||
|
@ -13,11 +13,12 @@
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mainMod" = "SUPER";
|
||||
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"
|
||||
"CTRL_ALT, Q, killactive,"
|
||||
"SUPER_ALT, Q, exit,"
|
||||
"$mainMod, S, togglefloating,"
|
||||
"$mainMod, I, pin,"
|
||||
"$mainMod, D, exec, rofi -show drun -show-icons"
|
||||
"$mainMod, M, fullscreen, 1"
|
||||
"$mainMod, F, fullscreen, 0"
|
||||
|
@ -51,6 +51,16 @@
|
||||
#temperature.critical {
|
||||
color: #ff2222;
|
||||
}
|
||||
|
||||
#battery.critical {
|
||||
color: #ff2222;
|
||||
}
|
||||
#cpu.high {
|
||||
color: #ff2222;
|
||||
}
|
||||
#disk.high {
|
||||
color: #ff2222;
|
||||
}
|
||||
'';
|
||||
|
||||
programs.waybar.settings.mainBar = {
|
||||
@ -61,7 +71,7 @@
|
||||
margin-right = 5;
|
||||
modules-left = ["hyprland/workspaces" "custom/music"];
|
||||
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" = {
|
||||
disable-scroll = true;
|
||||
@ -76,8 +86,9 @@
|
||||
};
|
||||
|
||||
cpu = {
|
||||
format = " {usage}% |";
|
||||
interval = 5;
|
||||
format = " {usage}% ";
|
||||
states.high = 80;
|
||||
interval = 5;
|
||||
};
|
||||
|
||||
memory = {
|
||||
@ -87,13 +98,15 @@
|
||||
|
||||
battery = {
|
||||
bat = "BAT0";
|
||||
full-at = 79;
|
||||
states = {
|
||||
good = 79;
|
||||
warning = 30;
|
||||
good = 20;
|
||||
critical = 15;
|
||||
};
|
||||
format-time = " {H}:{m}";
|
||||
format = " {icon} {capacity}%{time} |";
|
||||
format-discharging = " {icon} {capacity}%{time} |";
|
||||
format-charging = " {capacity}%{time} |";
|
||||
format-plugged = "";
|
||||
format-icons = [" " " " " " " " " "];
|
||||
interval = 10;
|
||||
};
|
||||
@ -131,6 +144,7 @@
|
||||
|
||||
disk = {
|
||||
format =" {percentage_used}% |";
|
||||
states.high = "5";
|
||||
};
|
||||
|
||||
"custom/pipe" = {
|
||||
|
@ -6,7 +6,7 @@
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# 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, ... }:
|
||||
@ -34,7 +34,7 @@
|
||||
setxkbmap fr us&
|
||||
nitrogen --restore &
|
||||
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> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/02/09 22:01:56 by tomoron #+# #+# #
|
||||
# Updated: 2025/03/27 18:53:17 by tomoron ### ########.fr #
|
||||
# Updated: 2025/07/23 18:00:40 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
@ -14,24 +14,34 @@
|
||||
|
||||
{
|
||||
home.packages = with pkgs;[
|
||||
ripgrep
|
||||
|
||||
activate-linux
|
||||
unison
|
||||
discord
|
||||
google-chrome
|
||||
brightnessctl
|
||||
playerctl
|
||||
python3
|
||||
vlc
|
||||
lrzip
|
||||
pigz
|
||||
htop
|
||||
gnumake
|
||||
git
|
||||
neofetch
|
||||
clang
|
||||
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
|
||||
|
||||
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> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# 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 = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "docker" "libvirtd" "dialout"];
|
||||
extraGroups = [ "wheel" "docker" "libvirtd" "dialout" "wireshark"];
|
||||
initialPassword = "password";
|
||||
};
|
||||
|
||||
|
@ -2,12 +2,7 @@
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
../modules/game.nix
|
||||
../modules/nvidia.nix
|
||||
../modules/vboxHost.nix
|
||||
];
|
||||
|
||||
boot.kernelParams = [ "nvidia-drm-modset=1" ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
cudatoolkit
|
||||
lm_sensors
|
||||
@ -18,9 +13,10 @@
|
||||
hardware.cpu.intel.updateMicrocode = true;
|
||||
|
||||
boot.kernelModules = [ "kvm-intel" "nvidia" ];
|
||||
|
||||
mods.displayManager.enable = true;
|
||||
|
||||
hardware.nvidia = {
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
open = true;
|
||||
|
||||
prime.nvidiaBusId = "PCI:1:0:0";
|
||||
|
@ -13,10 +13,13 @@
|
||||
|
||||
services.getty.autologinUser = lib.mkForce "tom";
|
||||
services.getty.helpLine = lib.mkForce "";
|
||||
programs.hyprland.enable = true;
|
||||
# programs.hyprland.enable = true;
|
||||
|
||||
home-manager.extraSpecialArgs = { inherit inputs; inherit pkgs; isOs = true;};
|
||||
home-manager.users.tom = {
|
||||
imports = [ ../../homeConfigs/home.nix ];
|
||||
};
|
||||
# home-manager.extraSpecialArgs = { inherit inputs; inherit pkgs; isOs = true;};
|
||||
# home-manager.users.tom = {
|
||||
# imports = [
|
||||
# ../../homeConfigs/home.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.allowDiscards = true;
|
||||
|
||||
services.displayManager.enable = true;
|
||||
services.displayManager.ly.enable = true;
|
||||
mods.displayManager.enable = true;
|
||||
mods.virtualManager.enable = false;
|
||||
networking.firewall.enable = false;
|
||||
|
||||
networking.hostName = "patate-douce";
|
||||
networking.wireless.enable = 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 = ''
|
||||
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;
|
||||
systemd.network.enable = true;
|
||||
networking.useNetworkd = true;
|
||||
@ -19,7 +48,6 @@
|
||||
environment.systemPackages = with pkgs; [
|
||||
acpi
|
||||
tlp
|
||||
looking-glass-client
|
||||
fprintd
|
||||
];
|
||||
|
||||
@ -37,6 +65,22 @@
|
||||
#power management
|
||||
powerManagement.enable = true;
|
||||
powerManagement.cpuFreqGovernor = "powersave";
|
||||
|
||||
services.asusd = {
|
||||
enable = true;
|
||||
enableUserService = true;
|
||||
};
|
||||
services.supergfxd.enable = true;
|
||||
services.supergfxd.settings = {
|
||||
mode = "Integrated";
|
||||
vfio_enable = true;
|
||||
vfio_save = true;
|
||||
always_reboot = false;
|
||||
no_logind = true;
|
||||
logout_timeout_s = 180;
|
||||
hotplug_type = "None";
|
||||
};
|
||||
|
||||
services.auto-cpufreq.enable = true;
|
||||
services.auto-cpufreq.settings = {
|
||||
battery = {
|
||||
@ -52,6 +96,9 @@
|
||||
|
||||
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||
|
||||
programs.wireshark.enable = true;
|
||||
programs.wireshark.usbmon.enable = true;
|
||||
|
||||
# boot.plymouth = {
|
||||
# enable = true;
|
||||
# theme = "ycontre-glow";
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
networking.hostName = "server";
|
||||
services.openssh.enable = true;
|
||||
services.openssh.settings.PasswordAuthentication = false;
|
||||
services.openssh.ports = [ 1880 ];
|
||||
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
@ -26,6 +27,8 @@
|
||||
libnvidia-container
|
||||
screen
|
||||
];
|
||||
|
||||
|
||||
boot.supportedFilesystems = [ "zfs" ];
|
||||
|
||||
# services.cron.enable = false;
|
||||
@ -71,6 +74,7 @@
|
||||
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"];
|
||||
@ -84,6 +88,7 @@
|
||||
hardware.nvidia-container-toolkit.enable = true;
|
||||
|
||||
hardware.nvidia = {
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
open = true;
|
||||
|
||||
# prime.nvidiaBusId = "PCI:1:0:0";
|
||||
|
24
osConfigs/modules/displayManager.nix
Normal file
24
osConfigs/modules/displayManager.nix
Normal file
@ -0,0 +1,24 @@
|
||||
{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 =
|
||||
{
|
||||
animation = "doom";
|
||||
min_refresh_delta = 50;
|
||||
bigclock = "en";
|
||||
sleep_cmd = "systemctl sleep";
|
||||
asterisk = "A";
|
||||
auth_fails= 3;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,14 +1,19 @@
|
||||
{ config, lib, inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
options.mods.virtualbox.enable = lib.mkOption {
|
||||
options.mods.virtualManager.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = "enable virtualbox as host";
|
||||
description = "enable virtual manager as host";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.virtualbox.enable {
|
||||
virtualisation.virtualbox.host.enable = true;
|
||||
users.users.tom.extraGroups = [ "vboxusers" ];
|
||||
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 ];
|
||||
};
|
||||
}
|
||||
|
@ -2,28 +2,13 @@
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
home-manager
|
||||
vim
|
||||
pciutils
|
||||
pigz
|
||||
htop
|
||||
gnumake
|
||||
git
|
||||
neofetch
|
||||
neovim
|
||||
ntfs3g
|
||||
clang
|
||||
ninja
|
||||
gdb
|
||||
valgrind
|
||||
wget
|
||||
cmake
|
||||
usbutils
|
||||
man-pages
|
||||
stress
|
||||
ffmpeg
|
||||
cryptsetup
|
||||
acpi
|
||||
dconf
|
||||
home-manager
|
||||
vim
|
||||
pciutils
|
||||
usbutils
|
||||
ntfs3g
|
||||
cryptsetup
|
||||
acpi
|
||||
yubico-pam
|
||||
];
|
||||
}
|
||||
|
Reference in New Issue
Block a user