Compare commits
4 Commits
a99d0731c1
...
1fb2bebc88
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1fb2bebc88 | ||
|
|
6c91bb673f | ||
|
|
944213f7d6 | ||
|
|
6bc4f52451 |
30
README.md
30
README.md
@ -1,4 +1,28 @@
|
|||||||
# NixOSDots
|
## Personal notes
|
||||||
|
|
||||||
My collection of nixOS and nixDarwin configuration
|
##### Todo:
|
||||||
This is an early WIP, expect breaking changes.
|
Change the greeter to not carry some useless xserver, see noctalia greet, or greetd
|
||||||
|
|
||||||
|
##### Boilerplate:
|
||||||
|
|
||||||
|
for a module (host, etc...)
|
||||||
|
```
|
||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.<module> = { config, pkgs, inputs, ...}: {
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
For a program (wrapped)
|
||||||
|
```
|
||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.<program> = { pkgs, lib, self', ... }: {
|
||||||
|
};
|
||||||
|
|
||||||
|
perSystem = { pkgs, lib, ...} : {
|
||||||
|
<program>
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|||||||
@ -22,7 +22,9 @@
|
|||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
python
|
python
|
||||||
python.pkgs.pygame
|
python.pkgs.pygame
|
||||||
|
python.pkgs.ics
|
||||||
|
python.pkgs.tkinter
|
||||||
#python.pkgs.pip
|
#python.pkgs.pip
|
||||||
#python.pkgs.virtualenv
|
#python.pkgs.virtualenv
|
||||||
|
|
||||||
|
|||||||
960
flake.lock
generated
960
flake.lock
generated
File diff suppressed because it is too large
Load Diff
199
flake.nix
199
flake.nix
@ -1,51 +1,32 @@
|
|||||||
{
|
{
|
||||||
description = "Alexandre1a's nixOS and macOS config flake";
|
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# NixPKGS unstable
|
# System
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
nixos-hardware = {
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
url = "github:NixOS/nixos-hardware/master";
|
||||||
|
|
||||||
lanzaboote = {
|
|
||||||
url = "github:nix-community/lanzaboote/master";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
# Mmmh, secure boot
|
||||||
|
lanzaboote = {
|
||||||
|
url = "github:nix-community/lanzaboote/v1.0.0";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
pre-commit = {
|
||||||
|
inputs = {
|
||||||
|
flake-compat.follows = "flake-compat";
|
||||||
|
gitignore.follows = "gitignore";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
# Custom Kernel
|
# Custom Kernel
|
||||||
nix-cachyos-kernel = {
|
nix-cachyos-kernel = {
|
||||||
url = "github:xddxdd/nix-cachyos-kernel/release";
|
url = "github:xddxdd/nix-cachyos-kernel/release";
|
||||||
};
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
#============
|
flake-parts.follows = "flake-parts";
|
||||||
#=== Rice ===
|
flake-compat.follows = "flake-compat";
|
||||||
#============
|
};
|
||||||
|
|
||||||
# Hyprland
|
|
||||||
hyprland = {
|
|
||||||
url = "github:hyprwm/Hyprland";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
awww = {
|
|
||||||
url = "git+https://codeberg.org/LGFae/awww";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
stylix = {
|
|
||||||
url = "github:nix-community/stylix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
quickshell = {
|
|
||||||
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Spicetify
|
|
||||||
spicetify-nix = {
|
|
||||||
url = "github:Gerg-L/spicetify-nix";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Sops-nix
|
# Sops-nix
|
||||||
@ -54,12 +35,6 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Star citizen
|
|
||||||
nix-citizen = {
|
|
||||||
url = "github:Alexandre1a/nix-citizen";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nix-darwin = {
|
nix-darwin = {
|
||||||
url = "github:nix-darwin/nix-darwin/master";
|
url = "github:nix-darwin/nix-darwin/master";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@ -70,65 +45,91 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
zen-browser = {
|
#============
|
||||||
url = "github:youwen5/zen-browser-flake";
|
#=== Rice ===
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
#============
|
||||||
|
#awww = {
|
||||||
|
# url = "git+https://codeberg.org/LGFae/awww";
|
||||||
|
# inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
#};
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
url = "github:nix-community/stylix";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
flake-parts.follows = "flake-parts";
|
||||||
|
systems.follows = "systems";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Spicetify
|
||||||
|
spicetify-nix = {
|
||||||
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
systems.follows = "systems";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixvim = {
|
nixvim = {
|
||||||
url = "github:nix-community/nixvim";
|
url = "github:nix-community/nixvim";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
flake-parts.follows = "flake-parts";
|
||||||
|
systems.follows = "systems";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Best browser btw
|
||||||
|
zen-browser = {
|
||||||
|
url = "github:youwen5/zen-browser-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
# Star citizen
|
||||||
|
nix-citizen = {
|
||||||
|
url = "github:Alexandre1a/nix-citizen";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
flake-parts.follows = "flake-parts";
|
||||||
|
nix-gaming = {
|
||||||
|
inputs = {
|
||||||
|
flake-parts.follows = "flake-parts";
|
||||||
|
git-hooks = {
|
||||||
|
inputs = {
|
||||||
|
flake-compat.follows = "flake-compat";
|
||||||
|
gitignore.follows = "gitignore";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systems.follows = "systems";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Utils
|
||||||
|
flake-parts = {
|
||||||
|
url = "github:hercules-ci/flake-parts";
|
||||||
|
};
|
||||||
|
|
||||||
|
import-tree.url = "github:vic/import-tree";
|
||||||
|
|
||||||
|
wrapper-modules = {
|
||||||
|
url = "github:BirdeeHub/nix-wrapper-modules";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
# System closure reduction
|
||||||
|
flake-compat = {
|
||||||
|
url = "github:edolstra/flake-compat";
|
||||||
|
};
|
||||||
|
systems = {
|
||||||
|
url = "github:nix-systems/default";
|
||||||
|
};
|
||||||
|
gitignore = {
|
||||||
|
url = "github:hercules-ci/gitignore.nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nix-darwin ,nixpkgs, ... }@inputs: {
|
# Import `modules/` automatically
|
||||||
# use "nixos", or your hostname as the name of the configuration
|
outputs = inputs: inputs.flake-parts.lib.mkFlake
|
||||||
# it's a better practice than "default" shown in the video
|
{inherit inputs;}
|
||||||
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
(inputs.import-tree ./modules_dentritic);
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
./hosts/nixos/configuration.nix
|
|
||||||
inputs.home-manager.nixosModules.default
|
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
nixosConfigurations.framework = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
inputs.nixos-hardware.nixosModules.framework-16-7040-amd
|
|
||||||
inputs.lanzaboote.nixosModules.lanzaboote
|
|
||||||
inputs.stylix.nixosModules.stylix
|
|
||||||
./hosts/framework/configuration.nix
|
|
||||||
inputs.home-manager.nixosModules.default
|
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
nixosConfigurations.laptop = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
./hosts/laptop/configuration.nix
|
|
||||||
inputs.home-manager.nixosModules.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
nixosConfigurations.light = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
./hosts/light/configuration.nix
|
|
||||||
inputs.home-manager.nixosModules.default
|
|
||||||
inputs.sops-nix.nixosModules.sops
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
darwinConfigurations.macOS = nix-darwin.lib.darwinSystem {
|
|
||||||
specialArgs = {inherit inputs;};
|
|
||||||
modules = [
|
|
||||||
./hosts/macos/configuration.nix
|
|
||||||
inputs.home-manager.darwinModules.default
|
|
||||||
inputs.sops-nix.darwinModules.sops
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,7 +49,7 @@ in
|
|||||||
vesktop
|
vesktop
|
||||||
obsidian
|
obsidian
|
||||||
beeper
|
beeper
|
||||||
bitwarden-desktop
|
#bitwarden-desktop
|
||||||
jellyfin-desktop
|
jellyfin-desktop
|
||||||
kitty # Terminal emulator but needs a GUI
|
kitty # Terminal emulator but needs a GUI
|
||||||
|
|
||||||
@ -79,6 +79,7 @@ in
|
|||||||
lars = "time sudo nixos-rebuild switch --flake ~/Developer/nix/NixOSDots#laptop";
|
lars = "time sudo nixos-rebuild switch --flake ~/Developer/nix/NixOSDots#laptop";
|
||||||
cdd = "cd ~/Developer/nix/NixOSDots";
|
cdd = "cd ~/Developer/nix/NixOSDots";
|
||||||
ncg = "time nix-collect-garbage -d";
|
ncg = "time nix-collect-garbage -d";
|
||||||
|
nso = "time nix store optimise";
|
||||||
nfc = "time nix flake check ~/Developer/nix/NixOSDots";
|
nfc = "time nix flake check ~/Developer/nix/NixOSDots";
|
||||||
nfu = "time nix flake update --flake ~/Developer/nix/NixOSDots";
|
nfu = "time nix flake update --flake ~/Developer/nix/NixOSDots";
|
||||||
};
|
};
|
||||||
|
|||||||
@ -4,13 +4,13 @@ in
|
|||||||
{
|
{
|
||||||
# Common nixos systems modules (not nix-darwin)
|
# Common nixos systems modules (not nix-darwin)
|
||||||
imports = [
|
imports = [
|
||||||
modules.common.nix
|
modules.common.nix # Fait
|
||||||
modules.common.direnv
|
modules.common.direnv # Fait
|
||||||
# modules.nixos.swap
|
# modules.nixos.swap
|
||||||
modules.nixos.locale # For localisation options
|
modules.nixos.locale # For localisation options # A faire, prioritaire
|
||||||
modules.common.ssh
|
modules.common.ssh # A faire, prioritaire
|
||||||
modules.nixos.bootloader
|
modules.nixos.bootloader # Fait
|
||||||
modules.common.environment
|
modules.common.environment # A faire
|
||||||
modules.nixos.desktop.lightDM
|
modules.nixos.desktop.lightDM # Fait
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,21 +4,21 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix # Fait
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops # Inutile pour le moment
|
||||||
modules.hm.colors
|
modules.hm.colors # A faire, peu prioritaire
|
||||||
modules.nixos.secureboot
|
modules.nixos.secureboot # Fait
|
||||||
modules.common.module
|
modules.common.module # A faire
|
||||||
modules.nixos.secrets
|
modules.nixos.secrets # Voir sops
|
||||||
modules.nixos.desktop.bluetooth
|
modules.nixos.desktop.bluetooth # Fait
|
||||||
modules.nixos.desktop.utils
|
modules.nixos.desktop.utils # Fait
|
||||||
modules.nixos.gaming.kernel
|
modules.nixos.gaming.kernel # Fait
|
||||||
modules.nixos.gaming.amd
|
modules.nixos.gaming.amd # Fait
|
||||||
modules.nixos.gaming.starCitizen
|
modules.nixos.gaming.starCitizen # A faire, peu prioritaire
|
||||||
modules.nixos.gaming.steam
|
modules.nixos.gaming.steam # A faire, hautement prioritaire
|
||||||
modules.nixos.gaming.vr
|
modules.nixos.gaming.vr # A faire, peu prioritaire
|
||||||
modules.nixos.gaming.gstreamer
|
modules.nixos.gaming.gstreamer # A faire (?)
|
||||||
modules.nixos.gaming.mod
|
modules.nixos.gaming.mod # A faire, peu prioritaire
|
||||||
modules.common.spotify
|
modules.common.spotify # A faire, moyennement prioritaire
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,8 @@
|
|||||||
{
|
{
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-moon.yaml";
|
#base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-moon.yaml";
|
||||||
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/da-one-paper.yaml";
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,47 +1,47 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
zsh = {
|
zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.zsh;
|
package = pkgs.zsh;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
autocd = true;
|
autocd = true;
|
||||||
initContent = "fastfetch --logo small -s DateTime:Battery:CPU:GPU:Memory:Host:Media --percent-type 2";
|
initContent = "fastfetch --logo small -s DateTime:Battery:CPU:GPU:Memory:Host:Media --percent-type 2";
|
||||||
|
|
||||||
autosuggestion = {
|
autosuggestion = {
|
||||||
enable = true;
|
enable = true;
|
||||||
strategy = [ "match_prev_cmd" ];
|
strategy = [ "match_prev_cmd" ];
|
||||||
highlight = "fg=grey, underline";
|
highlight = "fg=grey, underline";
|
||||||
};
|
};
|
||||||
|
|
||||||
history = {
|
history = {
|
||||||
append = true;
|
append = true;
|
||||||
extended = true;
|
extended = true;
|
||||||
ignoreSpace = false;
|
ignoreSpace = false;
|
||||||
save = 100000;
|
save = 100000;
|
||||||
size = 100000;
|
size = 100000;
|
||||||
saveNoDups = true;
|
saveNoDups = true;
|
||||||
share = true;
|
share = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.oh-my-zsh;
|
package = pkgs.oh-my-zsh;
|
||||||
plugins = [
|
plugins = [
|
||||||
"git"
|
"git"
|
||||||
"react-native"
|
"react-native"
|
||||||
"golang"
|
"golang"
|
||||||
"docker"
|
"docker"
|
||||||
#"brew"
|
#"brew"
|
||||||
"eza"
|
"eza"
|
||||||
"fzf"
|
"fzf"
|
||||||
"gh"
|
"gh"
|
||||||
"kitty"
|
"kitty"
|
||||||
#"zsh-autosuggestions"
|
#"zsh-autosuggestions"
|
||||||
#"zsh-syntax-highlighting"
|
#"zsh-syntax-highlighting"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
39
modules_dentritic/features/core/bootloader.nix
Normal file
39
modules_dentritic/features/core/bootloader.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.bootloader = { pkgs, lib, inputs, ...}: {
|
||||||
|
boot = {
|
||||||
|
lanzaboote = {
|
||||||
|
enable = true;
|
||||||
|
pkiBundle = "/var/lib/sbctl";
|
||||||
|
autoGenerateKeys.enable = true;
|
||||||
|
autoEnrollKeys = {
|
||||||
|
enable = true;
|
||||||
|
autoReboot = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
loader = {
|
||||||
|
systemd-boot = {
|
||||||
|
enable = lib.mkForce false;
|
||||||
|
configurationLimit = 2;
|
||||||
|
extraEntries = {
|
||||||
|
"winslop.conf" = ''
|
||||||
|
title Winslop
|
||||||
|
efi /EFI/Microsoft/Boot/bootmgfw.efi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
efi = {
|
||||||
|
canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
kernel = {
|
||||||
|
sysctl = {
|
||||||
|
"vm.max_map_count" = 16777216;
|
||||||
|
"fs.file-max" = 524288;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}; #End of "boot"
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.sbctl ];
|
||||||
|
};
|
||||||
|
}
|
||||||
7
modules_dentritic/features/core/kernel.nix
Normal file
7
modules_dentritic/features/core/kernel.nix
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.kernelConfig = { pkgs, ... }: {
|
||||||
|
nixpkgs.overlays = [ inputs.nix-cachyos-kernel.overlays.default ];
|
||||||
|
boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-bore-lto-x86_64-v4;
|
||||||
|
};
|
||||||
|
}
|
||||||
44
modules_dentritic/features/core/nix.nix
Normal file
44
modules_dentritic/features/core/nix.nix
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.nixConfig = { config, pkgs, inputs, ...}: {
|
||||||
|
programs = {
|
||||||
|
direnv = {
|
||||||
|
enable = true;
|
||||||
|
silent = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
options = "--delete-older-than 2d";
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
auto-optimise-store = true;
|
||||||
|
|
||||||
|
substituters = [
|
||||||
|
"https://cache.nixos.org"
|
||||||
|
"https://nix-community.cachix.org"
|
||||||
|
"https://hyprland.cachix.org"
|
||||||
|
"https://nix-citizen.cachix.org"
|
||||||
|
];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
|
"nix-citizen.cachix.org-1:lPMkWc2X8XD4/7YPEEwXKKBg+SVbYTVrAaLA2wQTKCo="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
19
modules_dentritic/features/desktop/core/bluethooth.nix
Normal file
19
modules_dentritic/features/desktop/core/bluethooth.nix
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{ self, inputs, ... }: {
|
||||||
|
|
||||||
|
flake.nixosModules.bluetooth = { pkgs, lib, ...}: {
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
Experimental = true;
|
||||||
|
};
|
||||||
|
Policy = {
|
||||||
|
AutoEnable = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.blueman.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
20
modules_dentritic/features/desktop/core/greeter.nix
Normal file
20
modules_dentritic/features/desktop/core/greeter.nix
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.greeter = { pkgs, lib, ... }: {
|
||||||
|
services = {
|
||||||
|
xserver = {
|
||||||
|
displayManager = {
|
||||||
|
lightdm = {
|
||||||
|
enable = true;
|
||||||
|
greeters = {
|
||||||
|
slick = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
15
modules_dentritic/features/desktop/core/utils.nix
Normal file
15
modules_dentritic/features/desktop/core/utils.nix
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.utils = { pkgs, lib, ... }: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
kdePackages.gwenview
|
||||||
|
kdePackages.dolphin
|
||||||
|
kdePackages.ark
|
||||||
|
vlc
|
||||||
|
unzip
|
||||||
|
unrar
|
||||||
|
p7zip-rar
|
||||||
|
obs-studio
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
12
modules_dentritic/features/desktop/gaming/amd.nix
Normal file
12
modules_dentritic/features/desktop/gaming/amd.nix
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.amd = { pkgs, lib, ... }: {
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
};
|
||||||
|
environment = {
|
||||||
|
systemPackages = [ pkgs.btop-rocm ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
25
modules_dentritic/features/desktop/rice/fetch.nix
Normal file
25
modules_dentritic/features/desktop/rice/fetch.nix
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.sysFetch = { pkgs, lib, ... }: {
|
||||||
|
programs.fastfetch = {
|
||||||
|
enable = true;
|
||||||
|
package = self.packages.${pkgs.stdenv.hostPlatform.system}.myFastfetch;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
perSystem = { pkgs, lib, ... }: {
|
||||||
|
packages.myFastfetch = inputs.wrapper-modules.wrappers.fastfetch.wrap {
|
||||||
|
inherit pkgs;
|
||||||
|
settings = {
|
||||||
|
logo = {
|
||||||
|
type = "small";
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
"DateTime"
|
||||||
|
"Battery"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
29
modules_dentritic/features/desktop/rice/niri.nix
Normal file
29
modules_dentritic/features/desktop/rice/niri.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.niri = { pkgs, lib, ... }: {
|
||||||
|
programs.niri = {
|
||||||
|
enable = true;
|
||||||
|
package = self.packages.${pkgs.stdenv.hostPlatform.system}.myNiri;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
perSystem = { pkgs, lib, ...}: {
|
||||||
|
packages.myNiri = inputs.wrapper-modules.wrappers.niri.wrap {
|
||||||
|
inherit pkgs;
|
||||||
|
settings = {
|
||||||
|
input.keyboard = {
|
||||||
|
xkb.layout = "fr";
|
||||||
|
};
|
||||||
|
|
||||||
|
layout = {
|
||||||
|
gaps = 5;
|
||||||
|
};
|
||||||
|
|
||||||
|
binds = {
|
||||||
|
"Mod+Return".spawn-sh = lib.getExe pkgs.kitty;
|
||||||
|
"Mod+Q".close-window = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
9
modules_dentritic/hosts/common/common.nix
Normal file
9
modules_dentritic/hosts/common/common.nix
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.commonConfig = { config, pkgs, inputs, ...}: {
|
||||||
|
imports = [
|
||||||
|
self.nixosModules.nixConfig
|
||||||
|
self.nixosModules.kernelConfig
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
96
modules_dentritic/hosts/framework16/configuration.nix
Normal file
96
modules_dentritic/hosts/framework16/configuration.nix
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosConfigurations.FW16 = inputs.nixpkgs.lib.nixosSystem {
|
||||||
|
modules = [
|
||||||
|
self.nixosModules.FW16Config
|
||||||
|
inputs.lanzaboote.nixosModules.lanzaboote
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
flake.nixosModules.FW16Config = { config, pkgs, inputs, ...}:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
self.nixosModules.FW16Hardware
|
||||||
|
self.nixosModules.amd
|
||||||
|
self.nixosModules.commonConfig
|
||||||
|
self.nixosModules.bootloader
|
||||||
|
self.nixosModules.niri
|
||||||
|
];
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "framework";
|
||||||
|
networkmanager = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa = {
|
||||||
|
enable = true;
|
||||||
|
support32Bit = true;
|
||||||
|
};
|
||||||
|
pulse = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Flatpak
|
||||||
|
#services = {
|
||||||
|
# flatpak = {
|
||||||
|
# enable = true;
|
||||||
|
# };
|
||||||
|
#};
|
||||||
|
|
||||||
|
# Todo -> Display server for all nixos machines (lightdm or smth else)
|
||||||
|
|
||||||
|
# User
|
||||||
|
users= {
|
||||||
|
users = {
|
||||||
|
alex = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Alexandre Delcamp--Enache";
|
||||||
|
shell= pkgs.zsh;
|
||||||
|
extraGroups = [ "networkmanager" "wheel" "video" "render" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
hyprland = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
autosuggestions = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
playerctl
|
||||||
|
|
||||||
|
# Video Accel
|
||||||
|
libva
|
||||||
|
libva-utils
|
||||||
|
mesa
|
||||||
|
];
|
||||||
|
sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
LIBVA_DRIVER_NAME = "radeonsi";
|
||||||
|
};
|
||||||
|
pathsToLink = [ "/share/zsh" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
system = {
|
||||||
|
stateVersion = "24.11";
|
||||||
|
};
|
||||||
|
|
||||||
|
# End of config
|
||||||
|
};
|
||||||
|
}
|
||||||
37
modules_dentritic/hosts/framework16/hardware.nix
Normal file
37
modules_dentritic/hosts/framework16/hardware.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{ self, inputs, ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.FW16Hardware = { config, lib, pkgs, modulesPath, ... }: {
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
inputs.nixos-hardware.nixosModules.framework-16-7040-amd
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-label/NIXROOT";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-label/NIXBOOT";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
};
|
||||||
|
}
|
||||||
10
modules_dentritic/parts.nix
Normal file
10
modules_dentritic/parts.nix
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
config = {
|
||||||
|
systems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"x86_64-darwin"
|
||||||
|
"aarch64-linux"
|
||||||
|
"aarch64-darwin"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user