Compare commits
No commits in common. "1fb2bebc888a8cfd2581503d78ac045204133ec9" and "a99d0731c1e6d02a58754399ec2b0c54d9aca168" have entirely different histories.
1fb2bebc88
...
a99d0731c1
30
README.md
30
README.md
@ -1,28 +1,4 @@
|
|||||||
## Personal notes
|
# NixOSDots
|
||||||
|
|
||||||
##### Todo:
|
My collection of nixOS and nixDarwin configuration
|
||||||
Change the greeter to not carry some useless xserver, see noctalia greet, or greetd
|
This is an early WIP, expect breaking changes.
|
||||||
|
|
||||||
##### 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,9 +22,7 @@
|
|||||||
|
|
||||||
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
|
||||||
|
|
||||||
|
|||||||
962
flake.lock
generated
962
flake.lock
generated
File diff suppressed because it is too large
Load Diff
197
flake.nix
197
flake.nix
@ -1,32 +1,51 @@
|
|||||||
{
|
{
|
||||||
|
description = "Alexandre1a's nixOS and macOS config flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
# System
|
# NixPKGS unstable
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nixos-hardware = {
|
|
||||||
url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.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";
|
#============
|
||||||
flake-compat.follows = "flake-compat";
|
#=== Rice ===
|
||||||
};
|
#============
|
||||||
|
|
||||||
|
# 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
|
||||||
@ -34,6 +53,12 @@
|
|||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
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";
|
||||||
@ -45,91 +70,65 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
#============
|
|
||||||
#=== Rice ===
|
|
||||||
#============
|
|
||||||
#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 = {
|
|
||||||
url = "github:nix-community/nixvim";
|
|
||||||
inputs = {
|
|
||||||
nixpkgs.follows = "nixpkgs";
|
|
||||||
flake-parts.follows = "flake-parts";
|
|
||||||
systems.follows = "systems";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# Best browser btw
|
|
||||||
zen-browser = {
|
zen-browser = {
|
||||||
url = "github:youwen5/zen-browser-flake";
|
url = "github:youwen5/zen-browser-flake";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
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
|
nixvim = {
|
||||||
flake-parts = {
|
url = "github:nix-community/nixvim";
|
||||||
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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Import `modules/` automatically
|
outputs = { self, nix-darwin ,nixpkgs, ... }@inputs: {
|
||||||
outputs = inputs: inputs.flake-parts.lib.mkFlake
|
# use "nixos", or your hostname as the name of the configuration
|
||||||
{inherit inputs;}
|
# it's a better practice than "default" shown in the video
|
||||||
(inputs.import-tree ./modules_dentritic);
|
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||||
|
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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
modules = import ../../modules;
|
modules = import ../../modules;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@ -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,7 +79,6 @@ 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 # Fait
|
modules.common.nix
|
||||||
modules.common.direnv # Fait
|
modules.common.direnv
|
||||||
# modules.nixos.swap
|
# modules.nixos.swap
|
||||||
modules.nixos.locale # For localisation options # A faire, prioritaire
|
modules.nixos.locale # For localisation options
|
||||||
modules.common.ssh # A faire, prioritaire
|
modules.common.ssh
|
||||||
modules.nixos.bootloader # Fait
|
modules.nixos.bootloader
|
||||||
modules.common.environment # A faire
|
modules.common.environment
|
||||||
modules.nixos.desktop.lightDM # Fait
|
modules.nixos.desktop.lightDM
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,21 +4,21 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix # Fait
|
./hardware-configuration.nix
|
||||||
inputs.sops-nix.nixosModules.sops # Inutile pour le moment
|
inputs.sops-nix.nixosModules.sops
|
||||||
modules.hm.colors # A faire, peu prioritaire
|
modules.hm.colors
|
||||||
modules.nixos.secureboot # Fait
|
modules.nixos.secureboot
|
||||||
modules.common.module # A faire
|
modules.common.module
|
||||||
modules.nixos.secrets # Voir sops
|
modules.nixos.secrets
|
||||||
modules.nixos.desktop.bluetooth # Fait
|
modules.nixos.desktop.bluetooth
|
||||||
modules.nixos.desktop.utils # Fait
|
modules.nixos.desktop.utils
|
||||||
modules.nixos.gaming.kernel # Fait
|
modules.nixos.gaming.kernel
|
||||||
modules.nixos.gaming.amd # Fait
|
modules.nixos.gaming.amd
|
||||||
modules.nixos.gaming.starCitizen # A faire, peu prioritaire
|
modules.nixos.gaming.starCitizen
|
||||||
modules.nixos.gaming.steam # A faire, hautement prioritaire
|
modules.nixos.gaming.steam
|
||||||
modules.nixos.gaming.vr # A faire, peu prioritaire
|
modules.nixos.gaming.vr
|
||||||
modules.nixos.gaming.gstreamer # A faire (?)
|
modules.nixos.gaming.gstreamer
|
||||||
modules.nixos.gaming.mod # A faire, peu prioritaire
|
modules.nixos.gaming.mod
|
||||||
modules.common.spotify # A faire, moyennement prioritaire
|
modules.common.spotify
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,8 +3,7 @@
|
|||||||
{
|
{
|
||||||
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"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,39 +0,0 @@
|
|||||||
{ 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 ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
{ 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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,44 +0,0 @@
|
|||||||
{ 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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
{ self, inputs, ... }: {
|
|
||||||
|
|
||||||
flake.nixosModules.bluetooth = { pkgs, lib, ...}: {
|
|
||||||
hardware.bluetooth = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
General = {
|
|
||||||
Experimental = true;
|
|
||||||
};
|
|
||||||
Policy = {
|
|
||||||
AutoEnable = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.blueman.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,20 +0,0 @@
|
|||||||
{ self, inputs, ... }:
|
|
||||||
{
|
|
||||||
flake.nixosModules.greeter = { pkgs, lib, ... }: {
|
|
||||||
services = {
|
|
||||||
xserver = {
|
|
||||||
displayManager = {
|
|
||||||
lightdm = {
|
|
||||||
enable = true;
|
|
||||||
greeters = {
|
|
||||||
slick = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
{ self, inputs, ... }:
|
|
||||||
{
|
|
||||||
flake.nixosModules.utils = { pkgs, lib, ... }: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
kdePackages.gwenview
|
|
||||||
kdePackages.dolphin
|
|
||||||
kdePackages.ark
|
|
||||||
vlc
|
|
||||||
unzip
|
|
||||||
unrar
|
|
||||||
p7zip-rar
|
|
||||||
obs-studio
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
{ self, inputs, ... }:
|
|
||||||
{
|
|
||||||
flake.nixosModules.amd = { pkgs, lib, ... }: {
|
|
||||||
hardware.graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
};
|
|
||||||
environment = {
|
|
||||||
systemPackages = [ pkgs.btop-rocm ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,25 +0,0 @@
|
|||||||
{ 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"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
{ 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 = {};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
{ self, inputs, ... }:
|
|
||||||
{
|
|
||||||
flake.nixosModules.commonConfig = { config, pkgs, inputs, ...}: {
|
|
||||||
imports = [
|
|
||||||
self.nixosModules.nixConfig
|
|
||||||
self.nixosModules.kernelConfig
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,96 +0,0 @@
|
|||||||
{ 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
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,37 +0,0 @@
|
|||||||
{ 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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
config = {
|
|
||||||
systems = [
|
|
||||||
"x86_64-linux"
|
|
||||||
"x86_64-darwin"
|
|
||||||
"aarch64-linux"
|
|
||||||
"aarch64-darwin"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user