From c809fa8994b607b56acbfd526ab6a5ca4ffb8f9f Mon Sep 17 00:00:00 2001 From: Thatoo Date: Sun, 25 May 2025 20:39:46 +0200 Subject: [PATCH] init --- configuration.nix | 230 ++++++++++++++++++++++++++++++++++ desktop_environnement.nix | 248 +++++++++++++++++++++++++++++++++++++ ergol.xkb_custom | 117 +++++++++++++++++ flake.lock | 111 +++++++++++++++++ flake.lock.bak | 105 ++++++++++++++++ flake.nix | 45 +++++++ hardware-configuration.nix | 40 ++++++ serveur_web.nix | 42 +++++++ system_packages.nix | 228 ++++++++++++++++++++++++++++++++++ system_packages.nix.save | 207 +++++++++++++++++++++++++++++++ system_packages.nix.save.1 | 210 +++++++++++++++++++++++++++++++ system_packages.nix.save.2 | 208 +++++++++++++++++++++++++++++++ system_packages.nix.save.3 | 207 +++++++++++++++++++++++++++++++ system_packages.nix.save.4 | 207 +++++++++++++++++++++++++++++++ 14 files changed, 2205 insertions(+) create mode 100644 configuration.nix create mode 100644 desktop_environnement.nix create mode 100644 ergol.xkb_custom create mode 100644 flake.lock create mode 100644 flake.lock.bak create mode 100644 flake.nix create mode 100644 hardware-configuration.nix create mode 100644 serveur_web.nix create mode 100644 system_packages.nix create mode 100644 system_packages.nix.save create mode 100644 system_packages.nix.save.1 create mode 100644 system_packages.nix.save.2 create mode 100644 system_packages.nix.save.3 create mode 100644 system_packages.nix.save.4 diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..aef9acb --- /dev/null +++ b/configuration.nix @@ -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. It‘s 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? + +} diff --git a/desktop_environnement.nix b/desktop_environnement.nix new file mode 100644 index 0000000..4b2b8fc --- /dev/null +++ b/desktop_environnement.nix @@ -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 = "t"; + command = "kgx"; + name = "Terminal"; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { + binding = "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" ]; +# }; + }; +} + diff --git a/ergol.xkb_custom b/ergol.xkb_custom new file mode 100644 index 0000000..b39b730 --- /dev/null +++ b/ergol.xkb_custom @@ -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 {[ 1 , exclam , U2081 , onesuperior , U201E , exclamdown , VoidSymbol , VoidSymbol ]}; // 1 ! „ ¡ ₁ ¹ + key {[ 2 , at , U2082 , twosuperior , U201C , guillemotleft , VoidSymbol , VoidSymbol ]}; // 2 @ “ « ₂ ² + key {[ 3 , numbersign , U2083 , threesuperior , U201D , guillemotright , VoidSymbol , VoidSymbol ]}; // 3 # ” » ₃ ³ + key {[ 4 , dollar , U2084 , U2074 , sterling , cent , VoidSymbol , VoidSymbol ]}; // 4 $ £ ¢ ₄ ⁴ + key {[ 5 , percent , U2085 , U2075 , EuroSign , U2030 , VoidSymbol , VoidSymbol ]}; // 5 % € ‰ ₅ ⁵ + key {[ 6 , asciicircum , U2086 , U2076 , yen , VoidSymbol , VoidSymbol , VoidSymbol ]}; // 6 ^ ¥ ₆ ⁶ + key {[ 7 , ampersand , U2087 , U2077 , currency , VoidSymbol , VoidSymbol , VoidSymbol ]}; // 7 & ¤ ₇ ⁷ + key {[ 8 , asterisk , U2088 , U2078 , section , VoidSymbol , VoidSymbol , VoidSymbol ]}; // 8 * § ₈ ⁸ + key {[ 9 , parenleft , U2089 , U2079 , paragraph , VoidSymbol , VoidSymbol , VoidSymbol ]}; // 9 ( ¶ ₉ ⁹ + key {[ 0 , parenright , U2080 , U2070 , degree , VoidSymbol , VoidSymbol , VoidSymbol ]}; // 0 ) ° ₀ ⁰ + + // Letters, first row + key {[ q , Q , at , VoidSymbol , acircumflex , Acircumflex , VoidSymbol , VoidSymbol ]}; // q Q â  @ + key {[ c , C , less , lessthanequal , ccedilla , Ccedilla , VoidSymbol , VoidSymbol ]}; // c C ç Ç < ≤ + key {[ o , O , greater , greaterthanequal, oe , OE , VoidSymbol , VoidSymbol ]}; // o O œ Œ > ≥ + key {[ p , P , dollar , dead_currency , ocircumflex , Ocircumflex , VoidSymbol , VoidSymbol ]}; // p P ô Ô $ ¤ + key {[ w , W , percent , U2030 , endash , VoidSymbol , VoidSymbol , VoidSymbol ]}; // w W – % ‰ + key {[ j , J , asciicircum , dead_circumflex , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // j J ^ ^ + key {[ m , M , ampersand , VoidSymbol , mu , VoidSymbol , VoidSymbol , VoidSymbol ]}; // m M µ & + key {[ d , D , asterisk , multiply , underscore , underscore , VoidSymbol , VoidSymbol ]}; // d D _ _ * × + key {[ ISO_Level5_Latch, ISO_Level5_Latch, apostrophe , dead_acute , dead_diaeresis , dead_diaeresis , VoidSymbol , VoidSymbol ]}; // *¨ *¨ ¨ ¨ ' ´ + key {[ f , F , grave , dead_grave , ucircumflex , Ucircumflex , VoidSymbol , VoidSymbol ]}; // f F û Û ` ` + + // Letters, second row + key {[ a , A , braceleft , VoidSymbol , agrave , Agrave , VoidSymbol , VoidSymbol ]}; // a A à À { + key {[ s , S , parenleft , U207D , eacute , Eacute , VoidSymbol , VoidSymbol ]}; // s S é É ( ⁽ + key {[ e , E , parenright , U207E , egrave , Egrave , VoidSymbol , VoidSymbol ]}; // e E è È ) ⁾ + key {[ n , N , braceright , VoidSymbol , ecircumflex , Ecircumflex , VoidSymbol , VoidSymbol ]}; // n N ê Ê } + key {[ comma , semicolon , equal , notequal , periodcentered , U2022 , VoidSymbol , VoidSymbol ]}; // , ; · • = ≠ + key {[ l , L , backslash , dead_stroke , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // l L \ / + key {[ r , R , plus , plusminus , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // r R + ± + key {[ t , T , minus , emdash , icircumflex , Icircumflex , VoidSymbol , VoidSymbol ]}; // t T î Î - — + key {[ i , I , slash , division , idiaeresis , Idiaeresis , VoidSymbol , VoidSymbol ]}; // i I ï Ï / ÷ + key {[ u , U , quotedbl , dead_diaeresis , ugrave , Ugrave , VoidSymbol , VoidSymbol ]}; // u U ù Ù " ¨ + + // Letters, third row + key {[ z , Z , asciitilde , dead_tilde , ae , AE , VoidSymbol , VoidSymbol ]}; // z Z æ Æ ~ ~ + key {[ x , X , bracketleft , VoidSymbol , ssharp , U1E9E , VoidSymbol , VoidSymbol ]}; // x X ß ẞ [ + key {[ minus , question , bracketright , VoidSymbol , U2011 , questiondown , VoidSymbol , VoidSymbol ]}; // - ? ‑ ¿ ] + key {[ v , V , underscore , endash , ntilde , Ntilde , VoidSymbol , VoidSymbol ]}; // v V ñ Ñ _ – + key {[ b , B , numbersign , VoidSymbol , emdash , VoidSymbol , VoidSymbol , VoidSymbol ]}; // b B — # + key {[ period , colon , bar , brokenbar , ellipsis , VoidSymbol , VoidSymbol , VoidSymbol ]}; // . : … | ¦ + key {[ h , H , exclam , notsign , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // h H ! ¬ + key {[ g , G , semicolon , dead_cedilla , dead_greek , VoidSymbol , VoidSymbol , VoidSymbol ]}; // g G µ ; ¸ + key {[ y , Y , colon , VoidSymbol , ydiaeresis , Ydiaeresis , VoidSymbol , VoidSymbol ]}; // y Y ÿ Ÿ : + key {[ k , K , question , VoidSymbol , ubreve , Ubreve , VoidSymbol , VoidSymbol ]}; // k K ŭ Ŭ ? + + // Pinky keys + key {[ slash , underscore , VoidSymbol , VoidSymbol , division , endash , VoidSymbol , VoidSymbol ]}; // / _ ÷ – + key {[ equal , plus , VoidSymbol , VoidSymbol , notequal , plusminus , VoidSymbol , VoidSymbol ]}; // = + ≠ ± + key {[ VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // + key {[ bracketleft , braceleft , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // [ { + key {[ bracketright , braceright , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // ] } + key {[ apostrophe , quotedbl , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // ' " + key {[ VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // + key {[ grave , asciitilde , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // ` ~ + key {[ backslash , bar , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // \ | + key {[ less , greater , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol , VoidSymbol ]}; // < > + + // Space bar + key {[ 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 { + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift ] + }; + modifier_map Mod3 { }; +}; diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..85ec5fd --- /dev/null +++ b/flake.lock @@ -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 +} diff --git a/flake.lock.bak b/flake.lock.bak new file mode 100644 index 0000000..15f80f1 --- /dev/null +++ b/flake.lock.bak @@ -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 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..dc42fc5 --- /dev/null +++ b/flake.nix @@ -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 + ]; + }; + }; +} diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..4faf187 --- /dev/null +++ b/hardware-configuration.nix @@ -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..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; +} diff --git a/serveur_web.nix b/serveur_web.nix new file mode 100644 index 0000000..de1754c --- /dev/null +++ b/serveur_web.nix @@ -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; + }; + }; + + + +} diff --git a/system_packages.nix b/system_packages.nix new file mode 100644 index 0000000..39f482d --- /dev/null +++ b/system_packages.nix @@ -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; + }; + }; + +} diff --git a/system_packages.nix.save b/system_packages.nix.save new file mode 100644 index 0000000..55e8f9a --- /dev/null +++ b/system_packages.nix.save @@ -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; + +} diff --git a/system_packages.nix.save.1 b/system_packages.nix.save.1 new file mode 100644 index 0000000..1d20a5f --- /dev/null +++ b/system_packages.nix.save.1 @@ -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; + +} diff --git a/system_packages.nix.save.2 b/system_packages.nix.save.2 new file mode 100644 index 0000000..b050a3a --- /dev/null +++ b/system_packages.nix.save.2 @@ -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; + +} diff --git a/system_packages.nix.save.3 b/system_packages.nix.save.3 new file mode 100644 index 0000000..074fd5a --- /dev/null +++ b/system_packages.nix.save.3 @@ -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; + +} diff --git a/system_packages.nix.save.4 b/system_packages.nix.save.4 new file mode 100644 index 0000000..22b8e40 --- /dev/null +++ b/system_packages.nix.save.4 @@ -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; + +}