This commit is contained in:
Nathanaël Leprette 2025-05-25 20:39:46 +02:00
parent bc1d0e6b6d
commit c809fa8994
14 changed files with 2205 additions and 0 deletions

230
configuration.nix Normal file
View File

@ -0,0 +1,230 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, lib, inputs, ... }:
{
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "ThinkPadT470"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
networking.hosts = {
# cloud de Défis
#"109.190.223.134" = ["cloud.defis.info"];
# yunohost
#"192.168.1.42" = ["maisondupecheur.leprette.fr"];
#"192.168.1.93" = ["pve.leprette.fr"];
#"192.168.1.50" = ["leprette.fr"];
#"192.168.1.45" = ["lestoitspartages.fr"];
#"192.168.1.55" = ["pve.hamdel.in"];
#"192.168.1.121" = ["hamdel.in"];
#"10.0.242.1" = ["hamdel.in"];
#"10.0.242.1" = ["maisondupecheur.leprette.fr"];
#"192.168.1.158" = ["zyuno.local"];
"192.168.122.183" = ["zyuno.local dokos.zyuno.local dokos.local nc.zyuno.local db.zyuno.local"];
#"10.0.242.100" = ["zyuno.local dokos.local"];
#"192.168.1.50" = ["pve.accolades.coop pbs.accolades.coop"];
#"192.168.1.27" = ["accolades.coop ynh.accolades.coop nc.accolades.coop db.accolades.coop matrix.accolades.coop"];
};
# Open ports in the firewall.
networking.firewall.allowedTCPPorts = [ 80 ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Enable the OpenSSH daemon.
services.openssh.enable = true;
programs.ssh.startAgent = true;
# Set your time zone.
time.timeZone = "Europe/Paris";
# Select internationalisation properties.
i18n.defaultLocale = "fr_FR.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "fr_FR.UTF-8";
LC_IDENTIFICATION = "fr_FR.UTF-8";
LC_MEASUREMENT = "fr_FR.UTF-8";
LC_MONETARY = "fr_FR.UTF-8";
LC_NAME = "fr_FR.UTF-8";
LC_NUMERIC = "fr_FR.UTF-8";
LC_PAPER = "fr_FR.UTF-8";
LC_TELEPHONE = "fr_FR.UTF-8";
LC_TIME = "fr_FR.UTF-8";
};
# Configure keymap in X11
services.xserver = {
xkb.layout = "fr";
xkb.variant = "";
# xkb.extraLayouts = {
# ergol = {
# description = "Ergo-L";
# languages = [ "fr" ];
# symbolsFile = ./ergol.xkb_custom;
# };
# };
};
# Configure console keymap
console.keyMap = "fr";
# Power daemon
hardware.system76.power-daemon.enable = true;
# Enable sound with pipewire.
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this i>
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# Enable CUPS to print documents.
services.printing.enable = true;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
services.printing.drivers = [
pkgs.cnijfilter2
];
# nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
# "cnijfilter2"
# ];
hardware.sane.enable = true; # enables support for SANE scanners
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.thatoo = {
isNormalUser = true;
description = "Thatoo";
# wheel is group to gain sudo privileges, lp is group to access scanner that are also printer
extraGroups = [ "networkmanager" "wheel" "scanner" "lp" "nginx" "libvirtd" "mysql" ];
packages = with pkgs; [
];
};
xdg.mime.defaultApplications = {
"text/html" = "firefox.desktop";
"text/xml" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"message/rfc82" = "thunderbird.desktop";
"x-scheme-handler/mailto" = "thunderbird.desktop";
"text/calendar" = "thunderbird.desktop";
"text/x-vcard" = "thunderbird.desktop";
"text/plain" = "com.system76.CosmicEdit.desktop";
"image/jpeg" = "org.gnome.Loupe.desktop";
"image/png" = "org.gnome.Loupe.desktop";
"image/gif" = "org.gnome.Loupe.desktop";
"image/webp" = "org.gnome.Loupe.desktop";
"image/tiff" = "org.gnome.Loupe.desktop";
"image/x-tga" = "org.gnome.Loupe.desktop";
"image/vnd-ms.dds" = "org.gnome.Loupe.desktop";
"image/x-dds" = "org.gnome.Loupe.desktop";
"image/bmp" = "org.gnome.Loupe.desktop";
"image/vnd.microsoft.icon" = "org.gnome.Loupe.desktop";
"image/vnd.radiance" = "org.gnome.Loupe.desktop";
"image/x-exr" = "org.gnome.Loupe.desktop";
"image/x-portable-bitmap" = "org.gnome.Loupe.desktop";
"image/x-portable-graymap" = "org.gnome.Loupe.desktop";
"image/x-portable-pixmap" = "org.gnome.Loupe.desktop";
"image/x-portable-anymap" = "org.gnome.Loupe.desktop";
"image/x-qoi" = "org.gnome.Loupe.desktop";
"image/svg+xml" = "org.gnome.Loupe.desktop";
"image/svg+xml-compressed" = "org.gnome.Loupe.desktop";
"image/avif" = "org.gnome.Loupe.desktop";
"image/heic" = "org.gnome.Loupe.desktop";
"image/jxl" = "org.gnome.Loupe.desktop";
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# Auto system update
system.autoUpgrade = {
enable = false;
# enable = true;
flake = inputs.self.outPath;
flags = [
"--update-input"
"nixos-cosmic"
"--print-build-logs"
];
dates = "07:00";
randomizedDelaySec = "45min";
# allowReboot = true;
};
systemd.services.nixos-upgrade = {
serviceConfig = {
ExecStartPre = "/run/wrappers/bin/sudo -u thatoo ${pkgs.writeShellApplication {
name = "notify-upgrade";
runtimeInputs = with pkgs; [ libnotify ];
text = ''
export DISPLAY=${"\$"}{DISPLAY:=":0"}
export XDG_RUNTIME_DIR=${"\$"}{XDG_RUNTIME_DIR:=/run/user/$(id -u)}
export DBUS_SESSION_BUS_ADDRESS=${"\$"}{DBUS_SESSION_BUS_ADDRESS:="unix:path=${"\$"}{XDG_RUNTIME_DIR}/bus"}
notify-send --urgency=critical "Mise à jour de NixOS"
notify-send --urgency=critical --expire-time 60000 "Mise à jour de NixOS dans 1 minute"
sleep 1m
'';
}
}/bin/notify-upgrade";
};
};
# Automatic nix optimisation
# nix.optimise.automatic = true;
# Automatic Garbage Collection
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 15d";
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment?
}

248
desktop_environnement.nix Normal file
View File

@ -0,0 +1,248 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, lib, inputs, ... }:
{
# Enable the X11 windowing system.
# services.xserver = {
# enable = true;
# displayManager.gdm.enable = lib.mkDefault true;
# desktopManager.gnome.enable = lib.mkDefault true;
# };
services = {
xserver.enable = true;
# Enable the login manager
displayManager.cosmic-greeter.enable = lib.mkDefault true;
# Enable the COSMIC DE itself
desktopManager.cosmic.enable = lib.mkDefault true;
# Enable XWayland support in COSMIC
desktopManager.cosmic.xwayland.enable = lib.mkDefault true;
};
environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1; # to make Clipboard Manager work
systemd.user.extraConfig = ''DefaultEnvironment="PATH=/run/wrappers/bin:/etc/profiles/per-user/%u/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin"'';
specialisation = {
# cosmic.configuration = {
# Cosmic conflicts with gnome
# services.xserver.desktopManager.gnome.enable = false;
# services.desktopManager.cosmic.enable = true;
# Cosmic requires cosmic-greeter
# services.xserver.displayManager.gdm.enable = false;
# services.displayManager.cosmic-greeter.enable = true;
# environment.systemPackages = with pkgs; [
# adw-gtk3
# evince
# loupe
# cosmic-ext-applet-clipboard-manager
# cosmic-ext-applet-external-monitor-brightness
# cosmic-ext-calculator
# cosmic-ext-examine
# cosmic-ext-forecast
# cosmic-ext-tweaks
# cosmic-player
# cosmic-reader
# cosmic-wallpapers
# quick-webapps
# ];
# services.flatpak.enable = true;
# systemd.services.flatpak-repo = {
# wantedBy = [ "multi-user.target" ];
# path = [ pkgs.flatpak ];
# script = ''
# flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# '';
# };
# environment.sessionVariables.COSMIC_DATA_CONTROL_ENABLED = 1; # to make Clipboard Manager work
# system.nixos.tags = [ "Cosmic" ];
# };
gnome.configuration = {
# services.xserver = {
# desktopManager.gnome.enable = true;
# displayManager.gdm.enable = true;
# };
# Cosmic conflicts with gnome
services.xserver.desktopManager.gnome.enable = true;
services.desktopManager.cosmic.enable = false;
# Cosmic requires cosmic-greeter
services.xserver.displayManager.gdm.enable = true;
services.displayManager.cosmic-greeter.enable = false;
environment.systemPackages = with pkgs; [
gnomeExtensions.appindicator
gnomeExtensions.arcmenu
gnomeExtensions.blur-my-shell
gnomeExtensions.caffeine
gnomeExtensions.clipboard-indicator
gnomeExtensions.clipboard-history
gnomeExtensions.compiz-alike-magic-lamp-effect
gnomeExtensions.compiz-windows-effect
gnomeExtensions.coverflow-alt-tab
gnomeExtensions.custom-accent-colors
gnomeExtensions.dash-to-panel
gnomeExtensions.gtk4-desktop-icons-ng-ding
# gnomeExtensions.put-windows
gnomeExtensions.transparent-window-moving
gnomeExtensions.unblank
gnomeExtensions.window-state-manager
gnome-tweaks
];
programs.dconf.profiles = {
user.databases = [{
settings = with lib.gvariant; {
"org/gnome/desktop/interface" = {
cursor-theme = "Adwaita";
gtk-theme = "Adwaita";
icon-theme = "Adwaita";
clock-format = "24h";
clock-show-weekday = true;
clock-show-seconds = true;
show-battery-percentage = true;
};
"org/gnome/desktop/calendar".show-weekdate = true;
"org/gtk/settings/file-chooser" = {
sort-directories-first = true;
# show-hidden = true;
# view-type = "list";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
binding = "<Control><Alt>t";
command = "kgx";
name = "Terminal";
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
binding = "<Control><Alt>m";
command = "gnome-system-monitor";
name = "Monitor";
};
"org/gnome/settings-daemon/plugins/media-keys".custom-keybindings = [
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
];
"org/gnome/shell".enabled-extensions = [
"appindicatorsupport@rgcjonas.gmail.com"
"arcmenu@arcmenu.com"
"auto-move-windows@gnome-shell-extensions.gcampax.github.com"
"blur-my-shell@aunetx"
"caffeine@patapon.info"
"clipboard-history@alexsaveau.dev"
"CoverflowAltTab@palatis.blogspot.com"
"custom-accent-colors@demiskp"
"dash-to-panel@jderose9.github.com"
"gsconnect@andyholmes.github.io"
"gtk4-ding@smedius.gitlab.com"
"transparent-window-moving@noobsai.github.com"
"user-theme@gnome-shell-extensions.gcampax.github.com"
"workspace-switch-wraparound@theychx.org"
];
# "org/gnome/shell".favorite-apps = [
# "firefox.desktop"
# "thunderbird.desktop"
# "element-desktop.desktop"
# "org.keepassxc.KeePassXC.desktop"
# "org.gnome.Nautilus.desktop"
# "org.gnome.TextEditor.desktop"
# ];
"org/gnome/shell/extensions/dash-to-panel" = {
# Even when we are not using multiple panels on multiple monitors,
# the extension still creates them in the config, so we set the same
# configuration for each (up to 2 monitors).
animate-appicon-hover = true;
dot-position = "BOTTOM";
dot-style-focused = "METRO";
dot-style-unfocused = "DOTS";
intellihide = false;
# panel-positions = builtins.toJSON (lib.genAttrs [ "0" "1" ] (x: "TOP"));
# panel-sizes = builtins.toJSON (lib.genAttrs [ "0" "1" ] (x: 32));
panel-element-positions = builtins.toJSON (lib.genAttrs [ "0" "1" ] (x: [
{ element = "showAppsButton"; visible = false; position = "stackedTL"; }
{ element = "activitiesButton"; visible = false; position = "stackedTL"; }
{ element = "leftBox"; visible = true; position = "stackedTL"; }
{ element = "taskbar"; visible = true; position = "centered"; }
{ element = "centerBox"; visible = false; position = "stackedBR"; }
{ element = "rightBox"; visible = true; position = "stackedBR"; }
{ element = "dateMenu"; visible = true; position = "stackedBR"; }
{ element = "systemMenu"; visible = true; position = "stackedBR"; }
{ element = "desktopButton"; visible = false; position = "stackedBR"; }
]));
multi-monitors = true;
# show-apps-icon-file = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake-white.svg";
# show-apps-icon-padding = mkInt32 4;
# focus-highlight-dominant = true;
# dot-size = mkInt32 0;
# appicon-padding = mkInt32 2;
# appicon-margin = mkInt32 0;
# trans-use-custom-opacity = true;
# trans-panel-opacity = 0.25;
# show-favorites = false;
# group-apps = false;
# isolate-workspaces = true;
# hide-overview-on-startup = true;
# stockgs-keep-dash = true;
};
"org/gnome/shell/extensions/arcmenu" = {
menu-layout = "Budgie";
menu-button-icon = "Distro_Icon";
distro-icon = "22";
};
"org/gnome/shell/extensions/custom-accent-colors" = {
accent-color = "purple";
theme-flatpak = true;
theme-gtk3 = true;
theme-shell = true;
};
"org/gnome/shell/extensions/user-theme".name = "Custom-Accent-Colors";
};
}];
};
system.nixos.tags = [ "Gnome" ];
};
# budgie.configuration = {
# services.xserver = {
# Budgie conflicts with gnome
# desktopManager = {
# gnome.enable = false;
# budgie.enable = true;
# };
# Budgie requires lightdm
# displayManager = {
# gdm.enable = false;
# lightdm.enable = true;
# };
# };
# programs.dconf.profiles = {
# user.databases = [{
# settings = with lib.gvariant; {
# "org/gnome/desktop/interface" = {
# cursor-theme = "breeze_cursors";
# gtk-theme = "Adwaita";
# icon-theme = "hicolor";
# };
# "org/gnome/shell/extensions/user-theme".name = "Custom-Accent-Colors";
# };
# }];
# };
# system.nixos.tags = [ "Budgie" ];
# };
};
}

117
ergol.xkb_custom Normal file
View File

@ -0,0 +1,117 @@
// Project page : https://github.com/Nuclear-Squid/ergol
// Author : NuclearSquid
// Version : 0.7.0 LTS
// Last change : 2024-02-05
// License : WTFPL - Do What The Fuck You Want Public License
//
// French (Ergo-L)
//
// Base layer + dead key
// ╭╌╌╌╌╌┰─────┬─────┬─────┬─────┬─────┰─────┬─────┬─────┬─────┬─────┰╌╌╌╌╌┬╌╌╌╌╌╮
// ┆ ~ ┃ ! ¡ │ @ « │ # » │ $ ¢ │ % ‰ ┃ ^ │ & │ * │ ( │ ) ┃ _ ┆ + ± ┆
// ┆ ` ┃ 1 „ │ 2 “ │ 3 ” │ 4 £ │ 5 € ┃ 6 ¥ │ 7 ¤ │ 8 § │ 9 ¶ │ 0 ° ┃ / ÷ ┆ = ≠ ┆
// ╰╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤
// ┃ Q │ C │ O │ P │ W ┃ J │ M │ D _ │***¨ │ F ┃ { ┆ } ┆
// ┃ â │ ç │ œ │ ô │ ┃ │ µ │ _ │***¨ │ û ┃ [ ┆ ] ┆
// ┠─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤
// ┃ A │ S │ E │ N │ ; • ┃ L │ R │ T │ I │ U ┃ " ┆ | ┆
// ┃ à │ é │ è │ ê │ , · ┃ │ │ î │ ï │ ù ┃ ' ┆ \ ┆
// ╭╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┴╌╌╌╌╌╯
// ┆ > ┃ Z │ X │ ? ¿ │ V │ B ┃ : │ H │ G │ Y │ K ┃
// ┆ < ┃ æ │ ß │ - │ ñ │ — ┃ . … │ │ *µ │ ÿ │ ŭ ┃
// ╰╌╌╌╌╌┸─────┴─────┴─────┴─────┴─────┸─────┴─────┴─────┴─────┴─────┚
//
// AltGr layer
// ╭╌╌╌╌╌┰─────┬─────┬─────┬─────┬─────┰─────┬─────┬─────┬─────┬─────┰╌╌╌╌╌┬╌╌╌╌╌╮
// ┆ ┃ ¹ │ ² │ ³ │ ⁴ │ ⁵ ┃ ⁶ │ ⁷ │ ⁸ │ ⁹ │ ⁰ ┃ ┆ ┆
// ┆ ┃ ₁ │ ₂ │ ₃ │ ₄ │ ₅ ┃ ₆ │ ₇ │ ₈ │ ₉ │ ₀ ┃ ┆ ┆
// ╰╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤
// ┃ │ │ │ *¤ │ ‰ ┃ *^ │ │ × │ *´ │ *` ┃ ┆ ┆
// ┃ @ │ < │ > │ $ │ % ┃ ^ │ & │ * │ ' │ ` ┃ ┆ ┆
// ┠─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤
// ┃ │ ⁽ │ ⁾ │ │ ≠ ┃ */ │ ± │ — │ ÷ │ *¨ ┃ ┆ ┆
// ┃ { │ ( │ ) │ } │ = ┃ \ │ + │ - │ / │ " ┃ ┆ ┆
// ╭╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┴╌╌╌╌╌╯
// ┆ ┃ *~ │ │ │ │ ┃ │ ¬ │ *¸ │ │ ┃
// ┆ ┃ ~ │ [ │ ] │ _ │ # ┃ | │ ! │ ; │ : │ ? ┃
// ╰╌╌╌╌╌┸─────┴─────┴─────┴─────┴─────┸─────┴─────┴─────┴─────┴─────┚
partial alphanumeric_keys modifier_keys
xkb_symbols "ergol" {
name[group1]= "French (Ergo-L)";
key.type[group1] = "EIGHT_LEVEL";
// Digits
key <AE01> {[ 1 , exclam , U2081 , onesuperior , U201E , exclamdown , VoidSymbol , VoidSymbol ]}; // 1 ! „ ¡ ₁ ¹
key <AE02> {[ 2 , at , U2082 , twosuperior , U201C , guillemotleft , VoidSymbol , VoidSymbol ]}; // 2 @ “ « ₂ ²
key <AE03> {[ 3 , numbersign , U2083 , threesuperior , U201D , guillemotright , VoidSymbol , VoidSymbol ]}; // 3 # ” » ₃ ³
key <AE04> {[ 4 , dollar , U2084 , U2074 , sterling , cent , VoidSymbol , VoidSymbol ]}; // 4 $ £ ¢ ₄ ⁴
key <AE05> {[ 5 , percent , U2085 , U2075 , EuroSign , U2030 , VoidSymbol , VoidSymbol ]}; // 5 % € ‰ ₅ ⁵
key <AE06> {[ 6 , asciicircum , U2086 , U2076 , yen , VoidSymbol , VoidSymbol , VoidSymbol ]}; // 6 ^ ¥ ₆ ⁶
key <AE07> {[ 7 , ampersand , U2087 , U2077 , currency , VoidSymbol , VoidSymbol , VoidSymbol ]}; // 7 & ¤ ₇ ⁷
key <AE08> {[ 8 , asterisk , U2088 , U2078 , section , VoidSymbol , VoidSymbol , VoidSymbol ]}; // 8 * § ₈ ⁸
key <AE09> {[ 9 , parenleft , U2089 , U2079 , paragraph , VoidSymbol , VoidSymbol , VoidSymbol ]}; // 9 ( ¶ ₉ ⁹
key <AE10> {[ 0 , parenright , U2080 , U2070 , degree , VoidSymbol , VoidSymbol , VoidSymbol ]}; // 0 ) ° ₀ ⁰
// Letters, first row
key <AD01> {[ q , Q , at , VoidSymbol , acircumflex , Acircumflex , VoidSymbol , VoidSymbol ]}; // q Q â Â @
key <AD02> {[ c , C , less , lessthanequal , ccedilla , Ccedilla , VoidSymbol , VoidSymbol ]}; // c C ç Ç < ≤
key <AD03> {[ o , O , greater , greaterthanequal, oe , OE , VoidSymbol , VoidSymbol ]}; // o O œ Œ > ≥
key <AD04> {[ p , P , dollar , dead_currency , ocircumflex , Ocircumflex , VoidSymbol , VoidSymbol ]}; // p P ô Ô $ ¤
key <AD05> {[ w , W , percent , U2030 , endash , VoidSymbol , VoidSymbol , VoidSymbol ]}; // w W % ‰
key <AD06> {[ j , J , asciicircum , dead_circumflex , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // j J ^ ^
key <AD07> {[ m , M , ampersand , VoidSymbol , mu , VoidSymbol , VoidSymbol , VoidSymbol ]}; // m M µ &
key <AD08> {[ d , D , asterisk , multiply , underscore , underscore , VoidSymbol , VoidSymbol ]}; // d D _ _ * ×
key <AD09> {[ ISO_Level5_Latch, ISO_Level5_Latch, apostrophe , dead_acute , dead_diaeresis , dead_diaeresis , VoidSymbol , VoidSymbol ]}; // *¨ *¨ ¨ ¨ ' ´
key <AD10> {[ f , F , grave , dead_grave , ucircumflex , Ucircumflex , VoidSymbol , VoidSymbol ]}; // f F û Û ` `
// Letters, second row
key <AC01> {[ a , A , braceleft , VoidSymbol , agrave , Agrave , VoidSymbol , VoidSymbol ]}; // a A à À {
key <AC02> {[ s , S , parenleft , U207D , eacute , Eacute , VoidSymbol , VoidSymbol ]}; // s S é É ( ⁽
key <AC03> {[ e , E , parenright , U207E , egrave , Egrave , VoidSymbol , VoidSymbol ]}; // e E è È ) ⁾
key <AC04> {[ n , N , braceright , VoidSymbol , ecircumflex , Ecircumflex , VoidSymbol , VoidSymbol ]}; // n N ê Ê }
key <AC05> {[ comma , semicolon , equal , notequal , periodcentered , U2022 , VoidSymbol , VoidSymbol ]}; // , ; · • = ≠
key <AC06> {[ l , L , backslash , dead_stroke , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // l L \ /
key <AC07> {[ r , R , plus , plusminus , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // r R + ±
key <AC08> {[ t , T , minus , emdash , icircumflex , Icircumflex , VoidSymbol , VoidSymbol ]}; // t T î Î - —
key <AC09> {[ i , I , slash , division , idiaeresis , Idiaeresis , VoidSymbol , VoidSymbol ]}; // i I ï Ï / ÷
key <AC10> {[ u , U , quotedbl , dead_diaeresis , ugrave , Ugrave , VoidSymbol , VoidSymbol ]}; // u U ù Ù " ¨
// Letters, third row
key <AB01> {[ z , Z , asciitilde , dead_tilde , ae , AE , VoidSymbol , VoidSymbol ]}; // z Z æ Æ ~ ~
key <AB02> {[ x , X , bracketleft , VoidSymbol , ssharp , U1E9E , VoidSymbol , VoidSymbol ]}; // x X ß ẞ [
key <AB03> {[ minus , question , bracketright , VoidSymbol , U2011 , questiondown , VoidSymbol , VoidSymbol ]}; // - ? ¿ ]
key <AB04> {[ v , V , underscore , endash , ntilde , Ntilde , VoidSymbol , VoidSymbol ]}; // v V ñ Ñ _
key <AB05> {[ b , B , numbersign , VoidSymbol , emdash , VoidSymbol , VoidSymbol , VoidSymbol ]}; // b B — #
key <AB06> {[ period , colon , bar , brokenbar , ellipsis , VoidSymbol , VoidSymbol , VoidSymbol ]}; // . : … | ¦
key <AB07> {[ h , H , exclam , notsign , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // h H ! ¬
key <AB08> {[ g , G , semicolon , dead_cedilla , dead_greek , VoidSymbol , VoidSymbol , VoidSymbol ]}; // g G µ ; ¸
key <AB09> {[ y , Y , colon , VoidSymbol , ydiaeresis , Ydiaeresis , VoidSymbol , VoidSymbol ]}; // y Y ÿ Ÿ :
key <AB10> {[ k , K , question , VoidSymbol , ubreve , Ubreve , VoidSymbol , VoidSymbol ]}; // k K ŭ Ŭ ?
// Pinky keys
key <AE11> {[ slash , underscore , VoidSymbol , VoidSymbol , division , endash , VoidSymbol , VoidSymbol ]}; // / _ ÷
key <AE12> {[ equal , plus , VoidSymbol , VoidSymbol , notequal , plusminus , VoidSymbol , VoidSymbol ]}; // = + ≠ ±
key <AE13> {[ VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; //
key <AD11> {[ bracketleft , braceleft , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // [ {
key <AD12> {[ bracketright , braceright , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // ] }
key <AC11> {[ apostrophe , quotedbl , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // ' "
key <AB11> {[ VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; //
key <TLDE> {[ grave , asciitilde , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // ` ~
key <BKSL> {[ backslash , bar , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // \ |
key <LSGT> {[ less , greater , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // < >
// Space bar
key <SPCE> {[ space , U202F , space , nobreakspace , U2019 , U2019 , VoidSymbol , VoidSymbol ]}; //
// The AltGr key is an ISO_Level3_Shift:
include "level3(ralt_switch)"
// The “OneDeadKey” is an ISO_Level5_Latch, which is activated by this:
// (note: MDSW [Mode_switch] is an alias for LVL5 on recent versions of XKB)
replace key <MDSW> {
type[Group1] = "ONE_LEVEL",
symbols[Group1] = [ ISO_Level5_Shift ]
};
modifier_map Mod3 { <MDSW> };
};

111
flake.lock generated Normal file
View File

@ -0,0 +1,111 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flakey-profile": {
"locked": {
"lastModified": 1712898590,
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
"owner": "lf-",
"repo": "flakey-profile",
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
"type": "github"
},
"original": {
"owner": "lf-",
"repo": "flakey-profile",
"type": "github"
}
},
"lix": {
"flake": false,
"locked": {
"lastModified": 1737234286,
"narHash": "sha256-pgDJZjj4jpzkFxsqBTI/9Yb0n3gW+DvDtuv9SwQZZcs=",
"rev": "079528098f5998ba13c88821a2eca1005c1695de",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/079528098f5998ba13c88821a2eca1005c1695de.tar.gz?rev=079528098f5998ba13c88821a2eca1005c1695de"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/release-2.92.tar.gz"
}
},
"lix-module": {
"inputs": {
"flake-utils": "flake-utils",
"flakey-profile": "flakey-profile",
"lix": "lix",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1742943028,
"narHash": "sha256-fprwZKE1uMzO9tiWWOrmLWBW3GPkMayQfb0xOvVFIno=",
"rev": "868d97695bab9d21f6070b03957bcace249fbe3c",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/868d97695bab9d21f6070b03957bcace249fbe3c.tar.gz?rev=868d97695bab9d21f6070b03957bcace249fbe3c"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1747953325,
"narHash": "sha256-y2ZtlIlNTuVJUZCqzZAhIw5rrKP4DOSklev6c8PyCkQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "55d1f923c480dadce40f5231feb472e81b0bab48",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"lix-module": "lix-module",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

105
flake.lock.bak Normal file
View File

@ -0,0 +1,105 @@
{
"nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1717312683,
"narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
"owner": "nix-community",
"repo": "flake-compat",
"rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "flake-compat",
"type": "github"
}
},
"nixos-cosmic": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable",
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1733517677,
"narHash": "sha256-9xb5qKLMqczkzw5qC1XjMwb0Q02hdLlmfLOmw1Y4HKs=",
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"rev": "25aa22b5972d27a6b432ccd6f9e2f42b1b7b71ca",
"type": "github"
},
"original": {
"owner": "lilyinstarlight",
"repo": "nixos-cosmic",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1732837521,
"narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1732981179,
"narHash": "sha256-F7thesZPvAMSwjRu0K8uFshTk3ZZSNAsXTIFvXBT+34=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "62c435d93bf046a5396f3016472e8f7c8e2aed65",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"nixos-cosmic": "nixos-cosmic",
"nixpkgs": [
"nixos-cosmic",
"nixpkgs-stable"
]
}
},
"rust-overlay": {
"inputs": {
"nixpkgs": [
"nixos-cosmic",
"nixpkgs"
]
},
"locked": {
"lastModified": 1732933841,
"narHash": "sha256-dge02pUSe2QeC/B3PriA0R8eAX+EU3aDoXj9FcS3XDw=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "c65e91d4a33abc3bc4a892d3c5b5b378bad64ea1",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

45
flake.nix Normal file
View File

@ -0,0 +1,45 @@
{
description = "Thatoo's flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
# nixpkgs_unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
# nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
# nixos-cosmic.url = "github:PhoenixPhantom/nixos-cosmic";
# nixpkgs.follows = "nixos-cosmic/nixpkgs-stable"; # NOTE: change "nixpkgs" to "nixpkgs-stable" to use stable NixOS release
# nixpkgs_unstable.follows = "nixos-cosmic/nixpkgs"; # NOTE: change "nixpkgs" to "nixpkgs-stable" to use stable NixOS release
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
# inputs.nixpkgs.follows = "nixos-cosmic";
# inputs.nixpkgs.follows = "nixos-cosmic/nixpkgs-stable";
};
# affinity-nix.url = "github:mrshmllow/affinity-nix";
};
# outputs = inputs@{ self, nixpkgs, nixpkgs_unstable, nixos-cosmic, ... }: {
# outputs = inputs@{ self, nixpkgs, nixos-cosmic, affinity-nix, ... }: {
# outputs = inputs@{ self, nixpkgs, nixos-cosmic, lix-module, ... }: {
outputs = inputs@{ self, nixpkgs, lix-module, ... }: {
# outputs = inputs@{ self, nixpkgs, nixos-cosmic, ... }: {
nixosConfigurations.ThinkPadT470 = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [
{
# nix.settings = {
# substituters = [ "https://cosmic.cachix.org/" ];
# trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ];
# };
}
# nixos-cosmic.nixosModules.default
lix-module.nixosModules.default
./hardware-configuration.nix
./configuration.nix
./system_packages.nix
./desktop_environnement.nix
./serveur_web.nix
];
};
};
}

View File

@ -0,0 +1,40 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/5e134435-7b37-47dc-be59-3fa50c520c71";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-93f48648-7703-49c7-8f82-a774daf4f0c3".device = "/dev/disk/by-uuid/93f48648-7703-49c7-8f82-a774daf4f0c3";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/CDAA-5157";
fsType = "vfat";
};
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.enp0s31f6.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

42
serveur_web.nix Normal file
View File

@ -0,0 +1,42 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, lib, ... }:
{
services.nginx = {
enable = true;
virtualHosts."localhost" = {
root = "/var/www";
locations = {
"~ \\.php$".extraConfig = ''
fastcgi_pass unix:${config.services.phpfpm.pools.mypool.socket};
fastcgi_index index.php;
'';
};
};
};
services.mysql = {
enable = true;
package = pkgs.mariadb;
};
services.phpfpm.pools.mypool = {
user = "nobody";
settings = {
"pm" = "dynamic";
"listen.owner" = config.services.nginx.user;
"pm.max_children" = 5;
"pm.start_servers" = 2;
"pm.min_spare_servers" = 1;
"pm.max_spare_servers" = 3;
"pm.max_requests" = 500;
};
};
}

228
system_packages.nix Normal file
View File

@ -0,0 +1,228 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
#{nixpkgs, nixpkgs_unstable, nix_software_center}:
{ config, pkgs, lib, inputs, ... }:
{
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
adw-gtk3
aspellDicts.fr #dictionary to spellcheck gnome apps
aspellDicts.en #dictionary to spellcheck gnome apps
hunspellDicts.fr-any #dictionary to spellcheck other apps
hunspellDicts.en_US #dictionary to spellcheck other apps
hunspellDicts.en_CA #dictionary to spellcheck other apps
hunspellDicts.en_AU #dictionary to spellcheck other apps
hunspellDicts.en_GB-ize #dictionary to spellcheck other apps
affine
# inputs.affinity-nix.packages.x86_64-linux.photo
# inputs.affinity-nix.packages.x86_64-linux.designer
# inputs.affinity-nix.packages.x86_64-linux.publisher
android-tools
apache-directory-studio
audacity
avidemux
baobab
bat # modern cat command
calibre
carburetor
clapgrep
clementine
cobang
# cosmic-ext-applet-clipboard-manager
# cosmic-ext-applet-external-monitor-brightness
cosmic-ext-calculator
cosmic-ext-tweaks
cosmic-player
# cosmic-reader
cosmic-wallpapers
cromite
dconf-editor
diebahn #Railway
drawing
dmidecode
digikam
duf #modern df command
element-desktop
# examine
# evince
eza # modern ls command
fd # modern find command
ffmpeg
filezilla
firefox-devedition
firefoxpwa
flameshot
fontforge
forecast
freetube
fractal
gcolor3
gearlever #manage appimage
gimp
git
gnome-obfuscate
grsync
gparted
gpxsee
gscan2pdf
gtkhash
gittyup
handbrake
hardinfo2
heimdall
heimdall-gui
httpie # modern wget and curl command
httrack
imagemagick
inkscape-with-extensions
jitsi-meet-electron
libsForQt5.kdenlive
keepassxc
klavaro
libreoffice-qt
loupe
marktext
mission-center
mousai
naps2 # Scan documents to PDF and more, as simply as possible
nautilus-python
neohtop
nextcloud-client
nextcloud-talk-desktop
ncdu # modern du command
obs-studio
onlyoffice-bin_latest
openshot-qt
openssl
openvpn3
papers # remplaçant de evince
pdf4qt
pdfarranger
php
publii
# pulsar
python3
# quick-webapps
remmina
resources
rustdesk-flutter
servo
simple-scan
soundconverter
sportstracker
# steam-run #needed to launch Nextcloud Talk
subtitleeditor
teams-for-linux
textpieces
tor-browser
thunderbird
traceroute
transmission_4-gtk
tribler
tuba
ungoogled-chromium
vdhcoapp
ventoy
vlc
vorta
vscodium
wget
wifi-qr
wl-clipboard # to add clipboard sharing with waydroid
zed-editor
# zettlr #Marion aime bien Marktext pour l'instant
# zombietrackergps
# inputs.nixpkgs_unstable.legacyPackages."${pkgs.system}".NOMDEPAQUET
];
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # turn on native wayland support in all chrome and most electron
programs = {
firefox = {
enable = true;
# package = pkgs.firefox;
package = pkgs.librewolf;
wrapperConfig.pipewireSupport = true;
nativeMessagingHosts.packages = with pkgs; [
browserpass
gnomeExtensions.gsconnect
firefoxpwa
];
};
kdeconnect = {
enable = true;
package = pkgs.gnomeExtensions.gsconnect;
};
appimage = {
enable = true;
binfmt = true;
};
};
# services.tor = {
# enable = true;
# settings = {
# ExitNodes = "fr";
# StrictNodes = "1";
# };
# };
services.flatpak.enable = true;
systemd.services.flatpak-repo = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.flatpak ];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
nixpkgs = {
config = {
permittedInsecurePackages = [
# "pulsar-1.128.0"
"ventoy-1.1.05"
];
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"cnijfilter2"
"corefonts"
"ventoy"
# "steam-run" #needed to launch Nextcloud Talk
# "steam-unwrapped" #needed to launch Nextcloud Talk instead of -original
# "steam-original" #needed to launch Nextcloud Talk
];
};
};
virtualisation = {
libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ];
};
};
spiceUSBRedirection.enable = true;
waydroid.enable = true;
};
programs.virt-manager.enable = true;
fonts = {
packages = with pkgs; [
corefonts
ubuntu-sans
ubuntu-classic
ubuntu-sans-mono
];
fontconfig = {
defaultFonts.emoji = [
"Noto Color Emoji"
];
useEmbeddedBitmaps = true;
};
};
}

207
system_packages.nix.save Normal file
View File

@ -0,0 +1,207 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
#{nixpkgs, nixpkgs_unstable, nix_software_center}:
{ config, pkgs, lib, inputs, ... }:
{
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
adw-gtk3
aspellDicts.fr #dictionary to spellcheck gnome apps
aspellDicts.en #dictionary to spellcheck gnome apps
hunspellDicts.fr-any #dictionary to spellcheck other apps
hunspellDicts.en_US #dictionary to spellcheck other apps
hunspellDicts.en_CA #dictionary to spellcheck other apps
hunspellDicts.en_AU #dictionary to spellcheck other apps
hunspellDicts.en_GB-ize #dictionary to spellcheck other apps
affine
android-tools
apache-directory-studio
audacity
avidemux
bat # modern cat command
calibre
clapgrep
clementine
cosmic-ext-applet-clipboard-manager
cosmic-ext-applet-external-monitor-brightness
cosmic-ext-calculator
cosmic-ext-examine
cosmic-ext-forecast
cosmic-ext-tweaks
cosmic-player
cosmic-reader
cosmic-wallpapers
dconf-editor
drawing
dmidecode
digikam
duf #modern df command
element-desktop
evince
eza # modern ls command
fd # modern find command
ffmpeg
filezilla
firefox-devedition
firefoxpwa
flameshot
fontforge
freetube
fractal
gearlever #manage appimage
gimp
git
gnome-obfuscate
grsync
gparted
gpxsee
gscan2pdf
gtkhash
handbrake
hardinfo2
heimdall
heimdall-gui
httpie # modern wget and curl command
httrack
imagemagick
inkscape-with-extensions
jitsi-meet-electron
libsForQt5.kdenlive
keepassxc
klavaro
libreoffice-qt
loupe
marktext
# mission-center
mousai
nautilus-python
nextcloud-client
nextcloud-talk-desktop
ncdu # modern du command
obs-studio
onlyoffice-bin_latest
openshot-qt
openssl
openvpn3
pdf4qt
pdfarranger
php
pick-colour-picker
publii
pulsar
python3
quick-webapps
remmina
resources
rustdesk-flutter
simple-scan
soundconverter
# sportstracker
# steam-run #needed to launch Nextcloud Talk
subtitleeditor
textpieces
tor-browser
thunderbird
traceroute
transmission_4-gtk
tribler
tuba
ungoogled-chromium
vorta
vlc
ventoy
vscodium
wget
wifi-qr
wl-clipboard # to add clipboard sharing with waydroid
zed-editor
zettlr
zombietrackergps
# inputs.nixpkgs_unstable.legacyPackages."${pkgs.system}".NOMDEPAQUET
];
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # turn on native wayland support in all chrome and most electron
programs = {
firefox = {
enable = true;
package = pkgs.firefox;
wrapperConfig = {
pipewireSupport = true;
};
nativeMessagingHosts.packages = with pkgs; [
browserpass
gnomeExtensions.gsconnect
firefoxpwa
];
};
kdeconnect = {
enable = true;
package = pkgs.gnomeExtensions.gsconnect;
};
appimage = {
enable = true;
binfmt = true;
};
};
# services.tor = {
# enable = true;
# settings = {
# ExitNodes = "fr";
# StrictNodes = "1";
# };
# };
# oldfation way to handle appimage on nixos
# boot.binfmt.registrations.appimage = {
# wrapInterpreterInShell = false;
# interpreter = "${pkgs.appimage-run}/bin/appimage-run";
# recognitionType = "magic";
# offset = 0;
# mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
# magicOrExtension = ''\x7fELF....AI\x02'';
# };
services.flatpak.enable = true;
systemd.services.flatpak-repo = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.flatpak ];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
nixpkgs = {
config = {
permittedInsecurePackages = [
"pulsar-1.122.0"
];
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
# "steam-run" #needed to launch Nextcloud Talk
# "steam-original" #needed to launch Nextcloud Talk
];
};
};
virtualisation = {
libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ];
};
};
spiceUSBRedirection.enable = true;
waydroid.enable = true;
};
programs.virt-manager.enable = true;
}

210
system_packages.nix.save.1 Normal file
View File

@ -0,0 +1,210 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
#{nixpkgs, nixpkgs_unstable, nix_software_center}:
{ config, pkgs, lib, inputs, ... }:
{
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
adw-gtk3
aspellDicts.fr #dictionary to spellcheck gnome apps
aspellDicts.en #dictionary to spellcheck gnome apps
hunspellDicts.fr-any #dictionary to spellcheck other apps
hunspellDicts.en_US #dictionary to spellcheck other apps
hunspellDicts.en_CA #dictionary to spellcheck other apps
hunspellDicts.en_AU #dictionary to spellcheck other apps
hunspellDicts.en_GB-ize #dictionary to spellcheck other apps
affine
android-tools
apache-directory-studio
audacity
avidemux
bat # modern cat command
calibre
clapgrep
clementine
cosmic-ext-applet-clipboard-manager
cosmic-ext-applet-external-monitor-brightness
cosmic-ext-calculator
cosmic-ext-examine
cosmic-ext-forecast
cosmic-ext-tweaks
cosmic-player
cosmic-reader
cosmic-wallpapers
dconf-editor
diebahn #Railway
drawing
dmidecode
digikam
duf #modern df command
element-desktop
evince
eza # modern ls command
fd # modern find command
ffmpeg
filezilla
firefox-devedition
firefoxpwa
flameshot
fontforge
freetube
fractal
gearlever #manage appimage
gimp
git
gnome-obfuscate
grsync
gparted
gpxsee
gscan2pdf
gtkhash
handbrake
hardinfo2
heimdall
heimdall-gui
httpie # modern wget and curl command
httrack
imagemagick
inkscape-with-extensions
jitsi-meet-electron
libsForQt5.kdenlive
keepassxc
klavaro
libreoffice-qt
loupe
marktext
# mission-center
mousai
nautilus-python
nextcloud-client
nextcloud-talk-desktop
ncdu # modern du command
obs-studio
onlyoffice-bin_latest
openshot-qt
openssl
openvpn3
pdf4qt
pdfarranger
php
pick-colour-picker
epick
gpick
publii
pulsar
python3
quick-webapps
remmina
resources
rustdesk-flutter
simple-scan
soundconverter
# sportstracker
# steam-run #needed to launch Nextcloud Talk
subtitleeditor
textpieces
tor-browser
thunderbird
traceroute
transmission_4-gtk
tribler
tuba
ungoogled-chromium
vorta
vlc
ventoy
vscodium
wget
wifi-qr
wl-clipboard # to add clipboard sharing with waydroid
zed-editor
zettlr
zombietrackergps
# inputs.nixpkgs_unstable.legacyPackages."${pkgs.system}".NOMDEPAQUET
];
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # turn on native wayland support in all chrome and most electron
programs = {
firefox = {
enable = true;
package = pkgs.firefox;
wrapperConfig = {
pipewireSupport = true;
};
nativeMessagingHosts.packages = with pkgs; [
browserpass
gnomeExtensions.gsconnect
firefoxpwa
];
};
kdeconnect = {
enable = true;
package = pkgs.gnomeExtensions.gsconnect;
};
appimage = {
enable = true;
binfmt = true;
};
};
# services.tor = {
# enable = true;
# settings = {
# ExitNodes = "fr";
# StrictNodes = "1";
# };
# };
# oldfation way to handle appimage on nixos
# boot.binfmt.registrations.appimage = {
# wrapInterpreterInShell = false;
# interpreter = "${pkgs.appimage-run}/bin/appimage-run";
# recognitionType = "magic";
# offset = 0;
# mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
# magicOrExtension = ''\x7fELF....AI\x02'';
# };
services.flatpak.enable = true;
systemd.services.flatpak-repo = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.flatpak ];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
nixpkgs = {
config = {
permittedInsecurePackages = [
"pulsar-1.122.0"
];
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
# "steam-run" #needed to launch Nextcloud Talk
# "steam-original" #needed to launch Nextcloud Talk
];
};
};
virtualisation = {
libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ];
};
};
spiceUSBRedirection.enable = true;
waydroid.enable = true;
};
programs.virt-manager.enable = true;
}

208
system_packages.nix.save.2 Normal file
View File

@ -0,0 +1,208 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
#{nixpkgs, nixpkgs_unstable, nix_software_center}:
{ config, pkgs, lib, inputs, ... }:
{
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
adw-gtk3
aspellDicts.fr #dictionary to spellcheck gnome apps
aspellDicts.en #dictionary to spellcheck gnome apps
hunspellDicts.fr-any #dictionary to spellcheck other apps
hunspellDicts.en_US #dictionary to spellcheck other apps
hunspellDicts.en_CA #dictionary to spellcheck other apps
hunspellDicts.en_AU #dictionary to spellcheck other apps
hunspellDicts.en_GB-ize #dictionary to spellcheck other apps
affine
android-tools
apache-directory-studio
audacity
avidemux
bat # modern cat command
calibre
clapgrep
clementine
cosmic-ext-applet-clipboard-manager
cosmic-ext-applet-external-monitor-brightness
cosmic-ext-calculator
cosmic-ext-examine
cosmic-ext-forecast
cosmic-ext-tweaks
cosmic-player
cosmic-reader
cosmic-wallpapers
dconf-editor
diebahn #Railway
drawing
dmidecode
digikam
duf #modern df command
element-desktop
evince
eza # modern ls command
fd # modern find command
ffmpeg
filezilla
firefox-devedition
firefoxpwa
flameshot
fontforge
freetube
fractal
gearlever #manage appimage
gimp
git
gnome-obfuscate
grsync
gparted
gpxsee
gscan2pdf
gtkhash
handbrake
hardinfo2
heimdall
heimdall-gui
httpie # modern wget and curl command
httrack
imagemagick
inkscape-with-extensions
jitsi-meet-electron
libsForQt5.kdenlive
keepassxc
klavaro
libreoffice-qt
loupe
marktext
# mission-center
mousai
nautilus-python
nextcloud-client
nextcloud-talk-desktop
ncdu # modern du command
obs-studio
onlyoffice-bin_latest
openshot-qt
openssl
openvpn3
pdf4qt
pdfarranger
php
pick-colour-picker
publii
pulsar
python3
quick-webapps
remmina
resources
rustdesk-flutter
simple-scan
soundconverter
# sportstracker
# steam-run #needed to launch Nextcloud Talk
subtitleeditor
textpieces
tor-browser
thunderbird
traceroute
transmission_4-gtk
tribler
tuba
ungoogled-chromium
vorta
vlc
ventoy
vscodium
wget
wifi-qr
wl-clipboard # to add clipboard sharing with waydroid
zed-editor
zettlr
zombietrackergps
# inputs.nixpkgs_unstable.legacyPackages."${pkgs.system}".NOMDEPAQUET
];
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # turn on native wayland support in all chrome and most electron
programs = {
firefox = {
enable = true;
package = pkgs.firefox;
wrapperConfig = {
pipewireSupport = true;
};
nativeMessagingHosts.packages = with pkgs; [
browserpass
gnomeExtensions.gsconnect
firefoxpwa
];
};
kdeconnect = {
enable = true;
package = pkgs.gnomeExtensions.gsconnect;
};
appimage = {
enable = true;
binfmt = true;
};
};
# services.tor = {
# enable = true;
# settings = {
# ExitNodes = "fr";
# StrictNodes = "1";
# };
# };
# oldfation way to handle appimage on nixos
# boot.binfmt.registrations.appimage = {
# wrapInterpreterInShell = false;
# interpreter = "${pkgs.appimage-run}/bin/appimage-run";
# recognitionType = "magic";
# offset = 0;
# mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
# magicOrExtension = ''\x7fELF....AI\x02'';
# };
services.flatpak.enable = true;
systemd.services.flatpak-repo = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.flatpak ];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
nixpkgs = {
config = {
permittedInsecurePackages = [
"pulsar-1.122.0"
];
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
# "steam-run" #needed to launch Nextcloud Talk
# "steam-original" #needed to launch Nextcloud Talk
];
};
};
virtualisation = {
libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ];
};
};
spiceUSBRedirection.enable = true;
waydroid.enable = true;
};
programs.virt-manager.enable = true;
}

207
system_packages.nix.save.3 Normal file
View File

@ -0,0 +1,207 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
#{nixpkgs, nixpkgs_unstable, nix_software_center}:
{ config, pkgs, lib, inputs, ... }:
{
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
adw-gtk3
aspellDicts.fr #dictionary to spellcheck gnome apps
aspellDicts.en #dictionary to spellcheck gnome apps
hunspellDicts.fr-any #dictionary to spellcheck other apps
hunspellDicts.en_US #dictionary to spellcheck other apps
hunspellDicts.en_CA #dictionary to spellcheck other apps
hunspellDicts.en_AU #dictionary to spellcheck other apps
hunspellDicts.en_GB-ize #dictionary to spellcheck other apps
affine
android-tools
apache-directory-studio
audacity
avidemux
bat # modern cat command
calibre
clapgrep
clementine
cosmic-ext-applet-clipboard-manager
cosmic-ext-applet-external-monitor-brightness
cosmic-ext-calculator
cosmic-ext-examine
cosmic-ext-forecast
cosmic-ext-tweaks
cosmic-player
cosmic-reader
cosmic-wallpapers
dconf-editor
diebahn #Railway
drawing
dmidecode
digikam
duf #modern df command
element-desktop
evince
eza # modern ls command
fd # modern find command
ffmpeg
filezilla
firefox-devedition
firefoxpwa
flameshot
fontforge
freetube
fractal
gearlever #manage appimage
gimp
git
gnome-obfuscate
grsync
gparted
gpxsee
gscan2pdf
gtkhash
handbrake
hardinfo2
heimdall
heimdall-gui
httpie # modern wget and curl command
httrack
imagemagick
inkscape-with-extensions
jitsi-meet-electron
libsForQt5.kdenlive
keepassxc
klavaro
libreoffice-qt
loupe
marktext
# mission-center
mousai
nautilus-python
nextcloud-client
nextcloud-talk-desktop
ncdu # modern du command
obs-studio
onlyoffice-bin_latest
openshot-qt
openssl
openvpn3
pdf4qt
pdfarranger
php
publii
pulsar
python3
quick-webapps
remmina
resources
rustdesk-flutter
simple-scan
soundconverter
# sportstracker
# steam-run #needed to launch Nextcloud Talk
subtitleeditor
textpieces
tor-browser
thunderbird
traceroute
transmission_4-gtk
tribler
tuba
ungoogled-chromium
vorta
vlc
ventoy
vscodium
wget
wifi-qr
wl-clipboard # to add clipboard sharing with waydroid
zed-editor
zettlr
zombietrackergps
# inputs.nixpkgs_unstable.legacyPackages."${pkgs.system}".NOMDEPAQUET
];
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # turn on native wayland support in all chrome and most electron
programs = {
firefox = {
enable = true;
package = pkgs.firefox;
wrapperConfig = {
pipewireSupport = true;
};
nativeMessagingHosts.packages = with pkgs; [
browserpass
gnomeExtensions.gsconnect
firefoxpwa
];
};
kdeconnect = {
enable = true;
package = pkgs.gnomeExtensions.gsconnect;
};
appimage = {
enable = true;
binfmt = true;
};
};
# services.tor = {
# enable = true;
# settings = {
# ExitNodes = "fr";
# StrictNodes = "1";
# };
# };
# oldfation way to handle appimage on nixos
# boot.binfmt.registrations.appimage = {
# wrapInterpreterInShell = false;
# interpreter = "${pkgs.appimage-run}/bin/appimage-run";
# recognitionType = "magic";
# offset = 0;
# mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
# magicOrExtension = ''\x7fELF....AI\x02'';
# };
services.flatpak.enable = true;
systemd.services.flatpak-repo = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.flatpak ];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
nixpkgs = {
config = {
permittedInsecurePackages = [
"pulsar-1.122.0"
];
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
# "steam-run" #needed to launch Nextcloud Talk
# "steam-original" #needed to launch Nextcloud Talk
];
};
};
virtualisation = {
libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ];
};
};
spiceUSBRedirection.enable = true;
waydroid.enable = true;
};
programs.virt-manager.enable = true;
}

207
system_packages.nix.save.4 Normal file
View File

@ -0,0 +1,207 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
#{nixpkgs, nixpkgs_unstable, nix_software_center}:
{ config, pkgs, lib, inputs, ... }:
{
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
adw-gtk3
aspellDicts.fr #dictionary to spellcheck gnome apps
aspellDicts.en #dictionary to spellcheck gnome apps
hunspellDicts.fr-any #dictionary to spellcheck other apps
hunspellDicts.en_US #dictionary to spellcheck other apps
hunspellDicts.en_CA #dictionary to spellcheck other apps
hunspellDicts.en_AU #dictionary to spellcheck other apps
hunspellDicts.en_GB-ize #dictionary to spellcheck other apps
affine
android-tools
apache-directory-studio
audacity
avidemux
bat # modern cat command
calibre
clapgrep
clementine
cosmic-ext-applet-clipboard-manager
cosmic-ext-applet-external-monitor-brightness
cosmic-ext-calculator
cosmic-ext-examine
cosmic-ext-forecast
cosmic-ext-tweaks
cosmic-player
cosmic-reader
cosmic-wallpapers
dconf-editor
diebahn #Railway
drawing
dmidecode
digikam
duf #modern df command
element-desktop
evince
eza # modern ls command
fd # modern find command
ffmpeg
filezilla
firefox-devedition
firefoxpwa
flameshot
fontforge
freetube
fractal
gearlever #manage appimage
gimp
git
gnome-obfuscate
grsync
gparted
gpxsee
gscan2pdf
gtkhash
handbrake
hardinfo2
heimdall
heimdall-gui
httpie # modern wget and curl command
httrack
imagemagick
inkscape-with-extensions
jitsi-meet-electron
libsForQt5.kdenlive
keepassxc
klavaro
libreoffice-qt
loupe
marktext
# mission-center
mousai
nautilus-python
nextcloud-client
nextcloud-talk-desktop
ncdu # modern du command
obs-studio
onlyoffice-bin_latest
openshot-qt
openssl
openvpn3
pdf4qt
pdfarranger
php
publii
pulsar
python3
quick-webapps
remmina
resources
rustdesk-flutter
simple-scan
soundconverter
# sportstracker
# steam-run #needed to launch Nextcloud Talk
subtitleeditor
textpieces
tor-browser
thunderbird
traceroute
transmission_4-gtk
tribler
tuba
ungoogled-chromium
vorta
vlc
ventoy
vscodium
wget
wifi-qr
wl-clipboard # to add clipboard sharing with waydroid
zed-editor
zettlr
zombietrackergps
# inputs.nixpkgs_unstable.legacyPackages."${pkgs.system}".NOMDEPAQUET
];
environment.sessionVariables.NIXOS_OZONE_WL = "1"; # turn on native wayland support in all chrome and most electron
programs = {
firefox = {
enable = true;
package = pkgs.firefox;
wrapperConfig = {
pipewireSupport = true;
};
nativeMessagingHosts.packages = with pkgs; [
browserpass
gnomeExtensions.gsconnect
firefoxpwa
];
};
kdeconnect = {
enable = true;
package = pkgs.gnomeExtensions.gsconnect;
};
appimage = {
enable = true;
binfmt = true;
};
};
# services.tor = {
# enable = true;
# settings = {
# ExitNodes = "fr";
# StrictNodes = "1";
# };
# };
# oldfation way to handle appimage on nixos
# boot.binfmt.registrations.appimage = {
# wrapInterpreterInShell = false;
# interpreter = "${pkgs.appimage-run}/bin/appimage-run";
# recognitionType = "magic";
# offset = 0;
# mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
# magicOrExtension = ''\x7fELF....AI\x02'';
# };
services.flatpak.enable = true;
systemd.services.flatpak-repo = {
wantedBy = [ "multi-user.target" ];
path = [ pkgs.flatpak ];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
nixpkgs = {
config = {
permittedInsecurePackages = [
"pulsar-1.122.0"
];
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
# "steam-run" #needed to launch Nextcloud Talk
# "steam-original" #needed to launch Nextcloud Talk
];
};
};
virtualisation = {
libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ];
};
};
spiceUSBRedirection.enable = true;
waydroid.enable = true;
};
programs.virt-manager.enable = true;
}