wayland + more per project dev

This commit is contained in:
Florian Schmitt 2023-08-13 19:18:11 +03:00
parent 6277991153
commit 1631a93094
12 changed files with 1074 additions and 324 deletions

View file

@ -6,7 +6,7 @@
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
hardware.bluetooth.enable = false; hardware.bluetooth.enable = true;
# Additional configuration from github/jeremiehuchet/nixos-macbookpro # Additional configuration from github/jeremiehuchet/nixos-macbookpro
boot.kernelParams = [ boot.kernelParams = [

View file

@ -27,6 +27,30 @@
fsType = "vfat"; fsType = "vfat";
}; };
fileSystems."/mnt/nas/music" =
{
device = "192.168.1.2:/volume1/music";
options = [ "nfsvers=4.2" "x-systemd.automount" "noauto" "rw" "relatime" "user" "acl" "defaults"];
fsType = "nfs";
};
services.rpcbind.enable = true; # needed for NFS
systemd.mounts = [{
type = "nfs";
mountConfig = {
Options = "defaults,acl,user,noauto,relatime,rw";
};
what = "192.168.1.2:/volume1/music";
where = "/mnt/nas/music";
}];
systemd.automounts = [{
wantedBy = [ "multi-user.target" ];
automountConfig = {
TimeoutIdleSec = "600";
};
where = "/mnt/nas/music";
}];
swapDevices = [ ]; swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View file

@ -20,13 +20,13 @@
shellAliases = { shellAliases = {
ls = "ls --hyperlink=auto"; ls = "ls --hyperlink=auto";
nixedit = "codium /etc/nixos"; nixedit = "codium /etc/nixos";
nixupdate = "sudo nixos-rebuild switch"; nixupdate = "sudo nix-channel --update && sudo nixos-rebuild switch";
nixclean = "sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system && sudo /nix/var/nix/profiles/system/bin/switch-to-configuration switch && sudo nix-store --gc"; nixclean = "sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system && sudo /nix/var/nix/profiles/system/bin/switch-to-configuration switch && sudo nix-store --gc";
}; };
shellInit = "cd ~/Developpements;"; shellInit = "cd ~/Developpements;";
ohMyZsh = { ohMyZsh = {
enable = true; enable = true;
plugins = [ "git" ]; plugins = [ "git" "ssh-agent" ];
theme = "robbyrussell"; theme = "robbyrussell";
}; };
}; };
@ -44,6 +44,7 @@
emacs-nox emacs-nox
findutils findutils
gnugrep gnugrep
gnumake
gnupg gnupg
imagemagick imagemagick
jq jq

View file

@ -32,7 +32,6 @@ in
#media-session.enable = true; #media-session.enable = true;
}; };
printing.enable = true; # Enable CUPS to print documents. printing.enable = true; # Enable CUPS to print documents.
redshift.enable = false; # may be causing flickers
xserver = { xserver = {
enable = true; enable = true;
layout = "us"; layout = "us";
@ -75,13 +74,13 @@ in
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nixpkgs.config = { # nixpkgs.config = {
packageOverrides = pkgs: with pkgs; { # packageOverrides = pkgs: with pkgs; {
unstable = import unstableTarball { # unstable = import unstableTarball {
config = config.nixpkgs.config; # config = config.nixpkgs.config;
}; # };
}; # };
}; # };
environment.plasma5.excludePackages = with pkgs.libsForQt5; [ environment.plasma5.excludePackages = with pkgs.libsForQt5; [
baloo baloo
@ -97,14 +96,23 @@ in
(vscode-with-extensions.override { (vscode-with-extensions.override {
vscode = vscodium; vscode = vscodium;
vscodeExtensions = with vscode-extensions; [ vscodeExtensions = with vscode-extensions; [
ms-ceintl.vscode-language-pack-fr bmewburn.vscode-intelephense-client
mkhl.direnv
jnoortheen.nix-ide
dracula-theme.theme-dracula dracula-theme.theme-dracula
gruntfuggly.todo-tree gruntfuggly.todo-tree
eamodio.gitlens jnoortheen.nix-ide
#junstyle.php-cs-fixer
mhutchie.git-graph mhutchie.git-graph
]; ms-ceintl.vscode-language-pack-fr
]
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "twig-language-2";
publisher = "mblode";
version = "2.1.14";
sha256 = "113w2iis4zi4z3sqc3vd2apyrh52hbh2gvmxjr5yvjpmrsksclbd";
}
]
;
}) })
(chromium.override { (chromium.override {
enableWideVine = true; # DRM support enableWideVine = true; # DRM support
@ -113,29 +121,32 @@ in
calibre calibre
digikam digikam
dracula-theme dracula-theme
palenight-theme #palenight-theme
numix-cursor-theme numix-cursor-theme
papirus-icon-theme papirus-icon-theme
element-desktop element-desktop
filezilla filezilla
gimp-with-plugins gimp-with-plugins
hyprland #hyprland
inkscape-with-extensions inkscape-with-extensions
joplin-desktop joplin-desktop
#keychain
kitty kitty
kitty-themes kitty-themes
latte-dock
libreoffice
libsForQt5.ark libsForQt5.ark
libsForQt5.bismuth libsForQt5.bismuth
mattermost-desktop mattermost-desktop
mixxx mixxx
nextcloud-client nextcloud-client
obsidian obsidian
libreoffice
signal-desktop signal-desktop
tdesktop tdesktop #telegram
unstable.thunderbird thunderbird
transmission-qt transmission-qt
vlc vlc
yt-dlp
]; ];
# environment.gnome.excludePackages = (with pkgs; [ # environment.gnome.excludePackages = (with pkgs; [

View file

@ -8,7 +8,7 @@
dejavu_fonts dejavu_fonts
inter inter
jetbrains-mono jetbrains-mono
(nerdfonts.override { fonts = [ "FiraCode" "FiraMono" ]; }) (nerdfonts.override { fonts = [ "FiraCode" "FiraMono" "Iosevka" ]; })
noto-fonts-cjk noto-fonts-cjk
noto-fonts-emoji noto-fonts-emoji
]; ];
@ -18,7 +18,7 @@
subpixel.lcdfilter = "light"; subpixel.lcdfilter = "light";
defaultFonts = { defaultFonts = {
monospace = [ "JetBrains Mono" ]; monospace = [ "Iosevka" ];
}; };
}; };
}; };

File diff suppressed because it is too large Load diff

View file

@ -1,107 +1,6 @@
# Local developpement # Local developpement
{ pkgs, config, lib, ... }: { pkgs, config, lib, ... }:
# let
# # # using pkgs2 to avoid recursive loop with fetchFromGitHub
# # # see https://stackoverflow.com/questions/73097604/nixos-how-to-import-some-configuration-from-gitlab-infinite-recursion-encounte
# # pkgs2 = (import <nixpkgs> { });
# # nix-phps = pkgs2.fetchFromGitHub {
# # owner = "fossar";
# # repo = "nix-phps";
# # rev = "ac2bb3d416a10fc66d0148dddc63a19c6c5a907c";
# # hash = "sha256-74kQIFf3Cu1aeOsohCiLuA1aXNGYt2U9tTUP0yvm4EA=";
# # };
# # phps = import nix-phps;
# # phpfpm pools with php version from nix-phps
# mkPhpFpm = phpXX:
# {
# name = phpXX;
# value = {
# user = config.services.caddy.user;
# group = config.services.caddy.group;
# phpPackage = phps.packages.${builtins.currentSystem}.${phpXX}.buildEnv {
# extensions = ({ enabled, all }: enabled ++ (with all; [
# xdebug
# ]));
# extraConfig = ''
# '';
# };
# settings = {
# "listen.owner" = config.services.caddy.user;
# "pm" = "dynamic";
# "pm.max_children" = 75;
# "pm.start_servers" = 10;
# "pm.min_spare_servers" = 5;
# "pm.max_spare_servers" = 20;
# "pm.max_requests" = 500;
# };
# phpOptions = ''
# display_errors = on
# error_reporting = E_ALL
# '';
# };
# };
# phpfpmPools = builtins.listToAttrs (builtins.map mkPhpFpm [ "php73" "php74" "php80" "php81" ]);
# # caddy virtual hosts
# mkDot = list: (builtins.concatStringsSep "." list);
# mkVhost = { phpXX, root, sub }: rec {
# name = (mkDot [ sub phpXX "localhost" ]);
# value = {
# extraConfig =
# ''
# root * /var/www/${root}
# file_server browse
# php_fastcgi unix/${config.services.phpfpm.pools.${phpXX}.socket}
# '';
# };
# };
# caddyLocalRootCert = builtins.readFile ./../_local/caddy.root.cert.pem;
# localDevConfig = builtins.fromJSON (builtins.readFile ./../_local/devconfig.json);
# caddyVhosts = builtins.listToAttrs (builtins.map mkVhost localDevConfig.hosts);
# # hosts.json example
# # {
# # "hosts":
# # [
# # { "sub": "project1", "phpXX": "php73", "root": "/project1/public" },
# # { "sub": "project2", "phpXX": "php81", "root": "/project2/www" }
# # ],
# # "databases": [ "db1", "db2"]
# # }
# in
{ {
# mailhog
services.mailhog = {
enable = true;
};
# databases
services.mysql = {
enable = true;
package = pkgs.mariadb;
ensureDatabases = ["yeswiki"];
initialScript = pkgs.writeText "mysql-init.sql" ''
CREATE USER 'root'@'localhost' IDENTIFIED BY 'secret';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
'';
};
# services.postgresql = {
# enable = true;
# };
# # phpfpm
# services.phpfpm.pools = phpfpmPools;
# # caddy webserver
# networking.firewall.allowedTCPPorts = [ 80 443 ];
# services.caddy = {
# enable = true;
# virtualHosts = caddyVhosts;
# };
# # caddy localhost root certificate
# security.pki.certificates = [ caddyLocalRootCert ];
virtualisation = { virtualisation = {
docker.enable = true; docker.enable = true;
docker.rootless = { docker.rootless = {
@ -115,12 +14,16 @@
# List packages installed in system profile. To search, run: # List packages installed in system profile. To search, run:
# $ nix search wget # $ nix search wget
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
(import (fetchTarball https://github.com/cachix/devenv/archive/v0.6.3.tar.gz)).default (import (fetchTarball https://install.devenv.sh/latest)).default
direnv direnv
docker-compose docker-compose
nodejs nodejs
php php
gcc
clang
zig
php82Packages.composer php82Packages.composer
php82Packages.php-cs-fixer
rpi-imager rpi-imager
symfony-cli symfony-cli
virt-manager virt-manager

View file

@ -1,3 +0,0 @@
source_url "https://raw.githubusercontent.com/cachix/devenv/d1f7b48e35e6dee421cfd0f51481d17f77586997/direnvrc" "sha256-YBzqskFZxmNb3kYVoKD9ZixoPXJh1C9ZvTLGFRkauZ0="
use devenv

View file

@ -1,5 +0,0 @@
# Devenv
.devenv*
devenv.local.nix

View file

@ -1,138 +0,0 @@
{
"nodes": {
"devenv": {
"locked": {
"dir": "src/modules",
"lastModified": 1680782537,
"narHash": "sha256-oQQoEzpuo4fjyPNCu3/Tc+f8hPAvvuoy4bIo9hn7akg=",
"owner": "cachix",
"repo": "devenv",
"rev": "e639583e5974e1d0f58ac110356f7f182d6f6004",
"type": "github"
},
"original": {
"dir": "src/modules",
"owner": "cachix",
"repo": "devenv",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1660459072,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1680881774,
"narHash": "sha256-Ou4+/oVbEWr+Lnnsc7yr21bdTTJFql9GvFzhPr7/Tew=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d218e35480c7ea6cbb50ea68e6b1d88f5d2dc451",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1678872516,
"narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-22.11",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1680865110,
"narHash": "sha256-SOBuUZe+icM5zqeEBGRY/fM6BDanEySw4Ph9TQgC3MY=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "a6a5e1fa5327a8809c51bc6c69407b8a76f1a4ec",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"devenv": "devenv",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks"
}
}
},
"root": "root",
"version": 7
}

View file

@ -1,50 +0,0 @@
{ pkgs, config, ... }:
{
packages = [
pkgs.yarn
];
hosts."yeswiki.test" = "127.0.0.1";
languages.javascript.enable = true;
languages.php = {
enable = true;
version = "8.2";
ini = ''
memory_limit = 512M
'';
fpm.pools.web = {
# user = "mrflos";
settings = {
# "clear_env" = "no";
# "listen.owner" = "mrflos";
"pm" = "dynamic";
"pm.max_children" = 5;
"pm.start_servers" = 2;
"pm.min_spare_servers" = 1;
"pm.max_spare_servers" = 5;
};
};
};
services.mysql = {
enable = true;
package = pkgs.mariadb;
};
services.caddy = {
enable = true;
virtualHosts."http://yeswiki.test" = {
extraConfig = ''
root * /var/www/yeswiki
php_fastcgi unix/${config.languages.php.fpm.pools.web.socket}
file_server
'';
};
};
env.GREET = "Environnement de développement de mrflos";
enterShell = ''
echo $GREET
'';
}

View file

@ -1,3 +0,0 @@
inputs:
nixpkgs:
url: github:NixOS/nixpkgs/nixpkgs-unstable