Compare commits
22 commits
Author | SHA1 | Date | |
---|---|---|---|
|
255805947e | ||
|
fc5c9a04ec | ||
|
48ee250736 | ||
|
46eb72c8c2 | ||
|
22763e69d1 | ||
|
99445a500a | ||
|
74c71c4f22 | ||
|
95b6027225 | ||
|
4ba06c3ab1 | ||
|
0738d7da36 | ||
|
1c8a3a4ef3 | ||
|
5f15979193 | ||
|
aecd056e82 | ||
|
5beb18c87d | ||
|
d8b0e30d67 | ||
|
6d9ae3ec72 | ||
|
0b59cc1453 | ||
|
7b7d64bebf | ||
|
f6b5823194 | ||
|
02e704a1ba | ||
|
abd79040f3 | ||
|
86b388f501 |
17 changed files with 782 additions and 491 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1 +1,4 @@
|
||||||
|
.DS_Store
|
||||||
|
deploy/result
|
||||||
configuration.nix
|
configuration.nix
|
||||||
|
darwin-configuration.nix
|
||||||
|
|
57
deploy/krops.nix
Normal file
57
deploy/krops.nix
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
let
|
||||||
|
krops = builtins.fetchGit {
|
||||||
|
url = "https://cgit.krebsco.de/krops/";
|
||||||
|
};
|
||||||
|
lib = import "${krops}/lib";
|
||||||
|
pkgs = import "${krops}/pkgs" {};
|
||||||
|
|
||||||
|
source = name: lib.evalSource [
|
||||||
|
{
|
||||||
|
dotfiles.file = toString ../dotfiles;
|
||||||
|
machines.file = toString ../machines;
|
||||||
|
modules.file = toString ../modules;
|
||||||
|
nixos-config.symlink = "machines/${name}/configuration.nix";
|
||||||
|
nixpkgs.git = {
|
||||||
|
clean.exclude = ["/.version-suffix"];
|
||||||
|
ref = "086b448a5d54fd117f4dc2dee55c9f0ff461bdc1";
|
||||||
|
url = https://github.com/NixOS/nixpkgs;
|
||||||
|
shallow = true;
|
||||||
|
};
|
||||||
|
#secrets.pass = {
|
||||||
|
# dir = toString ./secrets";
|
||||||
|
# name = "${name}";
|
||||||
|
#};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
zoro = pkgs.krops.writeDeploy "deploy-zoro" {
|
||||||
|
source = source "zoro";
|
||||||
|
target = lib.mkTarget "optisseur@10.42.0.3:4222" // {
|
||||||
|
extraOptions = [
|
||||||
|
#"-o"
|
||||||
|
#"ControlMaster=auto"
|
||||||
|
#"-o"
|
||||||
|
#"ControlPath=~/.ssh/master-%r@%h:%p"
|
||||||
|
#"-o"
|
||||||
|
#"ControlPersist=480m"
|
||||||
|
];
|
||||||
|
sudo = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sanji = pkgs.krops.writeDeploy "deploy-sanji" {
|
||||||
|
source = source "sanji";
|
||||||
|
target = "root@server02.mydomain.org";
|
||||||
|
};
|
||||||
|
|
||||||
|
in {
|
||||||
|
zoro = zoro;
|
||||||
|
sanji = sanji;
|
||||||
|
all = pkgs.writeScript "deploy-all-servers"
|
||||||
|
(lib.concatStringsSep "\n" [ zoro sanji ]);
|
||||||
|
}
|
||||||
|
|
||||||
|
# ssh-add -t 4h ~/.ssh/id_ed25519
|
||||||
|
# nix-build ./krops.nix -A zoro && ./result
|
||||||
|
# nix-build ./krops.nix -A sanji && ./result
|
||||||
|
# nix-build ./krops.nix -A all && ./result
|
|
@ -89,5 +89,5 @@ background_opacity 1
|
||||||
#background_image ~/Nextcloud/Images/Wallpapers/kitty-bg.png
|
#background_image ~/Nextcloud/Images/Wallpapers/kitty-bg.png
|
||||||
#background_image_layout cscaled
|
#background_image_layout cscaled
|
||||||
#background_tint 0.99
|
#background_tint 0.99
|
||||||
modify_font cell_height 130%
|
#modify_font cell_height 130%
|
||||||
startup_session ~/.config/kitty/session.conf
|
startup_session ~/.config/kitty/session.conf
|
||||||
|
|
1
dotfiles/lazygit/config.yml
Normal file
1
dotfiles/lazygit/config.yml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
quitOnTopLevelReturn: true
|
|
@ -83,7 +83,7 @@ return {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
window = {
|
window = {
|
||||||
position = "float",
|
position = "current",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -99,11 +99,24 @@ return {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"folke/noice.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
cmdline = {
|
||||||
|
view = "cmdline",
|
||||||
|
},
|
||||||
|
presets = {
|
||||||
|
bottom_search = true,
|
||||||
|
command_palette = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
opts = {
|
opts = {
|
||||||
defaults = {
|
defaults = {
|
||||||
layout_strategy = "center",
|
layout_strategy = "bottom_pane",
|
||||||
layout_config = {
|
layout_config = {
|
||||||
prompt_position = "top",
|
prompt_position = "top",
|
||||||
preview_cutoff = 5, -- Preview should always show (unless previewer = false)
|
preview_cutoff = 5, -- Preview should always show (unless previewer = false)
|
||||||
|
@ -117,9 +130,9 @@ return {
|
||||||
sorting_strategy = "ascending",
|
sorting_strategy = "ascending",
|
||||||
border = true,
|
border = true,
|
||||||
borderchars = {
|
borderchars = {
|
||||||
prompt = { "─", "│", " ", "│", "╭", "╮", "│", "│" },
|
prompt = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
||||||
results = { "─", "│", "─", "│", "├", "┤", "╯", "╰" },
|
results = { "─", "│", "─", "│", "├", "╮", "╯", "╰" },
|
||||||
preview = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" },
|
preview = { "─", "│", "─", "│", "╭", "┤", "╯", "╰" },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
"$schema" = 'https://starship.rs/config-schema.json'
|
"$schema" = 'https://starship.rs/config-schema.json'
|
||||||
|
|
||||||
#format = '${custom.tztime}$all$directory$character'
|
|
||||||
format = '$directory$character'
|
format = '$directory$character'
|
||||||
right_format = '$all'
|
right_format = '$all'
|
||||||
add_newline = true # Inserts a blank line between shell prompts
|
add_newline = true
|
||||||
|
command_timeout = 2000
|
||||||
|
|
||||||
[character]
|
[character]
|
||||||
success_symbol = '[➜ ](bold green)'
|
success_symbol = '[➜ ](bold green)'
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
# Edit this configuration file to define what should be installed on
|
# Edit this configuration file to define what should be installed on
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ’nixos-help’).
|
# and in the NixOS manual (accessible by running ’nixos-help’).
|
||||||
|
@ -14,7 +13,9 @@
|
||||||
"hid_apple.swap_fn_leftctrl=1"
|
"hid_apple.swap_fn_leftctrl=1"
|
||||||
"hid_apple.iso_layout=0"
|
"hid_apple.iso_layout=0"
|
||||||
];
|
];
|
||||||
boot.kernel.sysctl = { "vm.swappiness" = 10;};
|
boot.kernel.sysctl = {
|
||||||
|
"vm.swappiness" = 10;
|
||||||
|
};
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
@ -38,7 +39,10 @@
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [ 80 443 ];
|
allowedTCPPorts = [
|
||||||
|
80
|
||||||
|
443
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
|
@ -76,7 +80,18 @@
|
||||||
../modules/local-dev.nix
|
../modules/local-dev.nix
|
||||||
../modules/nixos.nix
|
../modules/nixos.nix
|
||||||
];
|
];
|
||||||
|
services.eris-server = {
|
||||||
|
enable = true;
|
||||||
|
backends = [
|
||||||
|
"badger+file:///var/eris?put&get" # local one on /var/eris
|
||||||
|
# "coap+tcp://eris.example.com:5683?get" # an online one
|
||||||
|
];
|
||||||
|
mountpoint = "/mnt/media/eris"; # useful to mount eris-fs folders
|
||||||
|
listenHttp = ":8080"; # or "[::1]:8080"
|
||||||
|
listenCoap = ":5683"; # or "[::1]:5683"
|
||||||
|
decode = true; # for http access via https://127.0.0.1:8080/uri-res/N2R?urn:eris:...
|
||||||
|
package = pkgs.eris-go; # default package
|
||||||
|
};
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
# on your system were taken. It's perfectly fine and recommended to leave
|
# on your system were taken. It's perfectly fine and recommended to leave
|
||||||
|
|
|
@ -1,15 +1,27 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[ (modulesPath + "/hardware/network/broadcom-43xx.nix")
|
(modulesPath + "/hardware/network/broadcom-43xx.nix")
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"nvme"
|
||||||
|
"usbhid"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.blacklistedKernelModules = [ ];
|
boot.blacklistedKernelModules = [ ];
|
||||||
|
@ -17,39 +29,51 @@
|
||||||
#rtl8192eu
|
#rtl8192eu
|
||||||
];
|
];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/d56411cf-7072-48a8-aab7-70fb73695e64";
|
device = "/dev/disk/by-uuid/d56411cf-7072-48a8-aab7-70fb73695e64";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot/efi" =
|
fileSystems."/boot/efi" = {
|
||||||
{ device = "/dev/disk/by-uuid/37E1-D07F";
|
device = "/dev/disk/by-uuid/37E1-D07F";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
fileSystems."/mnt/nas/music" =
|
fileSystems."/mnt/nas/music" = {
|
||||||
{
|
device = "192.168.1.2:/volume1/music";
|
||||||
device = "192.168.1.2:/volume1/music";
|
options = [
|
||||||
options = [ "nfsvers=4.2" "x-systemd.automount" "noauto" "rw" "relatime" "user" "acl" "defaults"];
|
"nfsvers=4.2"
|
||||||
fsType = "nfs";
|
"x-systemd.automount"
|
||||||
};
|
"noauto"
|
||||||
|
"rw"
|
||||||
|
"relatime"
|
||||||
|
"user"
|
||||||
|
"acl"
|
||||||
|
"defaults"
|
||||||
|
];
|
||||||
|
fsType = "nfs";
|
||||||
|
};
|
||||||
|
|
||||||
services.rpcbind.enable = true; # needed for NFS
|
services.rpcbind.enable = true; # needed for NFS
|
||||||
systemd.mounts = [{
|
systemd.mounts = [
|
||||||
type = "nfs";
|
{
|
||||||
mountConfig = {
|
type = "nfs";
|
||||||
Options = "defaults,acl,user,noauto,relatime,rw";
|
mountConfig = {
|
||||||
};
|
Options = "defaults,acl,user,noauto,relatime,rw";
|
||||||
what = "192.168.1.2:/volume1/music";
|
};
|
||||||
where = "/mnt/nas/music";
|
what = "192.168.1.2:/volume1/music";
|
||||||
}];
|
where = "/mnt/nas/music";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
systemd.automounts = [{
|
systemd.automounts = [
|
||||||
wantedBy = [ "multi-user.target" ];
|
{
|
||||||
automountConfig = {
|
wantedBy = [ "multi-user.target" ];
|
||||||
TimeoutIdleSec = "600";
|
automountConfig = {
|
||||||
};
|
TimeoutIdleSec = "600";
|
||||||
where = "/mnt/nas/music";
|
};
|
||||||
}];
|
where = "/mnt/nas/music";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
@ -73,8 +97,8 @@
|
||||||
# brcmfmac being loaded during hibernation would not let a successful resume
|
# brcmfmac being loaded during hibernation would not let a successful resume
|
||||||
# https://bugzilla.kernel.org/show_bug.cgi?id=101681#c116.
|
# https://bugzilla.kernel.org/show_bug.cgi?id=101681#c116.
|
||||||
# Also brcmfmac could randomly crash on resume from sleep.
|
# Also brcmfmac could randomly crash on resume from sleep.
|
||||||
powerUpCommands = lib.mkBefore "${pkgs.kmod}/bin/modprobe brcmfmac";
|
powerUpCommands = lib.mkBefore "${pkgs.kmod}/bin/modprobe brcmfmac && ${pkgs.kmod}/bin/modprobe brcmfmac_wcc";
|
||||||
powerDownCommands = lib.mkBefore "${pkgs.kmod}/bin/rmmod brcmfmac";
|
powerDownCommands = lib.mkBefore "${pkgs.kmod}/bin/rmmod brcmfmac_wcc && ${pkgs.kmod}/bin/rmmod brcmfmac";
|
||||||
};
|
};
|
||||||
|
|
||||||
# USB subsystem wakes up MBP right after suspend unless we disable it.
|
# USB subsystem wakes up MBP right after suspend unless we disable it.
|
||||||
|
@ -82,7 +106,7 @@
|
||||||
SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled"
|
SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services.logind.extraConfig = ''
|
services.logind.extraConfig = ''
|
||||||
RuntimeDirectorySize=8G
|
RuntimeDirectorySize=8G
|
||||||
HandleLidSwitchDocked=ignore
|
HandleLidSwitchDocked=ignore
|
||||||
'';
|
'';
|
||||||
|
|
40
machines/zoro/hardware-configuration.nix
Normal file
40
machines/zoro/hardware-configuration.nix
Normal 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" "usbhid" "uas" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/f2ac5701-a169-4053-bca8-acdfa2227cfc";
|
||||||
|
fsType = "btrfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/0682-2C9F";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/372c281f-7970-40a6-824d-97dd5d2d6043"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
|
@ -1,6 +1,12 @@
|
||||||
# cli programs should be available on servers and desktop
|
# cli programs should be available on servers and desktop
|
||||||
{ pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
unstable =
|
||||||
|
import
|
||||||
|
(builtins.fetchTarball "https://github.com/nixos/nixpkgs/tarball/7afa2c97ebb0585d00c64c112344483e89e00545")
|
||||||
|
# reuse the current configuration
|
||||||
|
{ config = config.nixpkgs.config; };
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
|
@ -8,6 +14,14 @@
|
||||||
keybindings = true;
|
keybindings = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# programs.neovim = {
|
||||||
|
# enable = true;
|
||||||
|
# defaultEditor = true;
|
||||||
|
# package = unstable.neovim;
|
||||||
|
# viAlias = true;
|
||||||
|
# vimAlias = true;
|
||||||
|
# };
|
||||||
|
|
||||||
# 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; [
|
||||||
|
@ -35,12 +49,15 @@
|
||||||
htop
|
htop
|
||||||
lazygit
|
lazygit
|
||||||
lsd
|
lsd
|
||||||
|
magic-wormhole
|
||||||
mc
|
mc
|
||||||
micro
|
micro
|
||||||
mosh
|
mosh
|
||||||
mpc-cli
|
mpc-cli
|
||||||
mpd
|
mpd
|
||||||
|
mpv
|
||||||
neofetch
|
neofetch
|
||||||
|
unstable.neovim
|
||||||
ollama
|
ollama
|
||||||
pandoc
|
pandoc
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
openvpn.servers = {
|
openvpn.servers = {
|
||||||
arn = {
|
arn = {
|
||||||
config = '' config /home/mrflos/Nextcloud/vpn\ ARN/2023/vpn510.conf '';
|
config = ''config /home/mrflos/Nextcloud/vpn\ ARN/2023/vpn510.conf '';
|
||||||
autoStart = false;
|
autoStart = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -62,8 +62,8 @@
|
||||||
};
|
};
|
||||||
droidcam.enable = true;
|
droidcam.enable = true;
|
||||||
firefox.enable = true;
|
firefox.enable = true;
|
||||||
firefox.languagePacks = ["fr"];
|
firefox.languagePacks = [ "fr" ];
|
||||||
hyprland.enable = true;
|
#hyprland.enable = true;
|
||||||
|
|
||||||
ssh.askPassword = pkgs.lib.mkForce "${pkgs.ksshaskpass.out}/bin/ksshaskpass"; # conflict between kde and gnome cf. https://github.com/NixOS/nixpkgs/issues/75867
|
ssh.askPassword = pkgs.lib.mkForce "${pkgs.ksshaskpass.out}/bin/ksshaskpass"; # conflict between kde and gnome cf. https://github.com/NixOS/nixpkgs/issues/75867
|
||||||
ssh.startAgent = true;
|
ssh.startAgent = true;
|
||||||
|
@ -73,8 +73,8 @@
|
||||||
nix-ld.enable = true;
|
nix-ld.enable = true;
|
||||||
# Sets up all the libraries to load
|
# Sets up all the libraries to load
|
||||||
nix-ld.libraries = with pkgs; [
|
nix-ld.libraries = with pkgs; [
|
||||||
stdenv.cc.cc
|
stdenv.cc.cc
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -93,32 +93,33 @@
|
||||||
# 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; [
|
||||||
(callPackage ./sddm-rose-pine.nix {})
|
(callPackage ./sddm-rose-pine.nix { })
|
||||||
(vscode-with-extensions.override {
|
(vscode-with-extensions.override {
|
||||||
vscode = vscodium;
|
vscode = vscodium;
|
||||||
vscodeExtensions = with vscode-extensions; [
|
vscodeExtensions =
|
||||||
#bmewburn.vscode-intelephense-client
|
with vscode-extensions;
|
||||||
#dracula-theme.theme-dracula
|
[
|
||||||
mvllow.rose-pine
|
#bmewburn.vscode-intelephense-client
|
||||||
editorconfig.editorconfig
|
#dracula-theme.theme-dracula
|
||||||
esbenp.prettier-vscode
|
mvllow.rose-pine
|
||||||
github.github-vscode-theme
|
editorconfig.editorconfig
|
||||||
gruntfuggly.todo-tree
|
esbenp.prettier-vscode
|
||||||
jnoortheen.nix-ide
|
github.github-vscode-theme
|
||||||
mhutchie.git-graph
|
gruntfuggly.todo-tree
|
||||||
ms-ceintl.vscode-language-pack-fr
|
jnoortheen.nix-ide
|
||||||
#junstyle.php-cs-fixer
|
mhutchie.git-graph
|
||||||
#ms-vscode-remote.remote-ssh
|
ms-ceintl.vscode-language-pack-fr
|
||||||
]
|
#junstyle.php-cs-fixer
|
||||||
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
#ms-vscode-remote.remote-ssh
|
||||||
{
|
]
|
||||||
name = "vscode-twig-language-2";
|
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||||
publisher = "mblode";
|
{
|
||||||
version = "0.9.2";
|
name = "vscode-twig-language-2";
|
||||||
sha256 = "113w2iis4zi4z3sqc3vd2apyrh52hbh2gvmxjr5yvjpmrsksclbd";
|
publisher = "mblode";
|
||||||
}
|
version = "0.9.2";
|
||||||
]
|
sha256 = "113w2iis4zi4z3sqc3vd2apyrh52hbh2gvmxjr5yvjpmrsksclbd";
|
||||||
;
|
}
|
||||||
|
];
|
||||||
})
|
})
|
||||||
(chromium.override {
|
(chromium.override {
|
||||||
enableWideVine = true; # DRM support
|
enableWideVine = true; # DRM support
|
||||||
|
@ -127,34 +128,33 @@
|
||||||
audacious
|
audacious
|
||||||
calibre
|
calibre
|
||||||
digikam
|
digikam
|
||||||
#rose-pine-gtk-theme
|
eaglemode
|
||||||
#rose-pine-icon-theme
|
|
||||||
#element-desktop
|
|
||||||
filezilla
|
filezilla
|
||||||
gimp-with-plugins
|
gimp-with-plugins
|
||||||
hunspell
|
hunspell
|
||||||
hunspellDicts.fr-moderne
|
hunspellDicts.fr-moderne
|
||||||
#hyprpaper
|
|
||||||
inkscape-with-extensions
|
inkscape-with-extensions
|
||||||
#kde-rounded-corners
|
|
||||||
kitty
|
kitty
|
||||||
latte-dock
|
latte-dock
|
||||||
libreoffice-qt
|
libreoffice-qt
|
||||||
libsForQt5.ark
|
libsForQt5.ark
|
||||||
#libsForQt5.krohnkite
|
|
||||||
#libsForQt5.bismuth
|
|
||||||
mixxx
|
mixxx
|
||||||
mumble
|
mumble
|
||||||
neochat
|
|
||||||
nextcloud-client
|
nextcloud-client
|
||||||
obsidian
|
obsidian
|
||||||
signal-desktop
|
signal-desktop
|
||||||
thunderbird
|
thunderbird
|
||||||
tigervnc
|
tigervnc
|
||||||
#tor-browser-bundle-bin
|
|
||||||
transmission-qt
|
transmission-qt
|
||||||
unetbootin
|
unetbootin
|
||||||
vlc
|
vlc
|
||||||
|
|
||||||
|
## niri scroll window manager
|
||||||
|
niri
|
||||||
|
waybar
|
||||||
|
fuzzel
|
||||||
|
alacritty
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Do not restart the display manager automatically
|
# Do not restart the display manager automatically
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
# Inject the right home-manager config for the machine.
|
# Inject the right home-manager config for the machine.
|
||||||
{ config, pkgs, lib, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
plasma-manager = pkgs.fetchFromGitHub {
|
plasma-manager = pkgs.fetchFromGitHub {
|
||||||
owner = "pjones";
|
owner = "pjones";
|
||||||
|
@ -8,19 +13,18 @@ let
|
||||||
sha256 = "sha256-LJ/lFEupLSi7xtUps234hhMk7ZdVLRoYeU7KiCFaoGw=";
|
sha256 = "sha256-LJ/lFEupLSi7xtUps234hhMk7ZdVLRoYeU7KiCFaoGw=";
|
||||||
};
|
};
|
||||||
startupScript = pkgs.pkgs.writeShellScriptBin "hyprland-start" ''
|
startupScript = pkgs.pkgs.writeShellScriptBin "hyprland-start" ''
|
||||||
${pkgs.waybar}/bin/waybar &
|
${pkgs.waybar}/bin/waybar &
|
||||||
${pkgs.swww}/bin/swww init &
|
${pkgs.swww}/bin/swww init &
|
||||||
|
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
${pkgs.swww}/bin/swww img /home/mrflos/Nextcloud/Images/Wallpapers/chihiro014.jpg &
|
${pkgs.swww}/bin/swww img /home/mrflos/Nextcloud/Images/Wallpapers/chihiro014.jpg &
|
||||||
'';
|
'';
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
# TODO can we automate the installation of home-manager ?
|
# TODO can we automate the installation of home-manager ?
|
||||||
# sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz home-manager
|
# sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz home-manager
|
||||||
imports = [
|
imports = [ <home-manager/nixos> ];
|
||||||
<home-manager/nixos>
|
|
||||||
];
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
#programs.home-manager.enable = true;
|
#programs.home-manager.enable = true;
|
||||||
|
@ -29,314 +33,349 @@ in {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "mrflos";
|
description = "mrflos";
|
||||||
createHome = true;
|
createHome = true;
|
||||||
extraGroups = ["users" "docker" "libvirtd" "lxd" "networkmanager" "wheel" ];
|
extraGroups = [
|
||||||
|
"users"
|
||||||
|
"docker"
|
||||||
|
"libvirtd"
|
||||||
|
"lxd"
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
];
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.settings.trusted-users = [ "mrflos" ];
|
nix.settings.trusted-users = [ "mrflos" ];
|
||||||
|
home-manager.backupFileExtension = "backup";
|
||||||
|
home-manager.users.mrflos =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
home.stateVersion = "23.05";
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
gcc
|
||||||
|
cmake
|
||||||
|
ripgrep
|
||||||
|
fd
|
||||||
|
lua-language-server
|
||||||
|
rust-analyzer-unwrapped
|
||||||
|
php83Packages.composer
|
||||||
|
nodejs_20
|
||||||
|
swww
|
||||||
|
grimblast
|
||||||
|
swaylock
|
||||||
|
waybar
|
||||||
|
yarn
|
||||||
|
];
|
||||||
|
|
||||||
home-manager.users.mrflos = { pkgs, ... }: {
|
imports = [
|
||||||
home.stateVersion = "23.05";
|
(plasma-manager + "/modules")
|
||||||
home.packages = with pkgs; [
|
./home-plasma.nix
|
||||||
gcc
|
];
|
||||||
cmake
|
home.file = {
|
||||||
ripgrep
|
"./.config/kitty/" = {
|
||||||
fd
|
source = ../dotfiles/kitty;
|
||||||
lua-language-server
|
recursive = true;
|
||||||
rust-analyzer-unwrapped
|
};
|
||||||
php83Packages.composer
|
|
||||||
nodejs_20
|
|
||||||
swww
|
|
||||||
grimblast
|
|
||||||
swaylock
|
|
||||||
waybar
|
|
||||||
yarn
|
|
||||||
];
|
|
||||||
|
|
||||||
imports = [
|
"./.config/nvim/" = {
|
||||||
(plasma-manager + "/modules")
|
source = ../dotfiles/nvim;
|
||||||
./home-plasma.nix
|
recursive = true;
|
||||||
];
|
};
|
||||||
home.file = {
|
|
||||||
"./.config/kitty/" = {
|
"./.config/lazygit/" = {
|
||||||
source = ../dotfiles/kitty;
|
source = ../dotfiles/lazygit;
|
||||||
recursive = true;
|
recursive = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"./.config/tmux/" = {
|
||||||
|
source = ../dotfiles/tmux;
|
||||||
|
recursive = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
home.sessionVariables = {
|
||||||
"./.config/nvim/" = {
|
|
||||||
source = ../dotfiles/nvim;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"./.config/tmux/" = {
|
|
||||||
source = ../dotfiles/tmux;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
home.sessionVariables = {
|
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
};
|
};
|
||||||
home.sessionPath = [
|
home.sessionPath = [
|
||||||
"$HOME/.local/bin"
|
"$HOME/.local/bin"
|
||||||
"$HOME/go/bin"
|
"$HOME/go/bin"
|
||||||
];
|
];
|
||||||
accounts.email.accounts = {
|
accounts.email.accounts = {
|
||||||
"mrflos@chmok.net" = {
|
"mrflos@chmok.net" = {
|
||||||
realName = "Florian Schmitt";
|
realName = "Florian Schmitt";
|
||||||
userName = "mrflos@chmok.net";
|
userName = "mrflos@chmok.net";
|
||||||
address = "mrflos@chmok.net";
|
address = "mrflos@chmok.net";
|
||||||
|
|
||||||
primary = true;
|
primary = true;
|
||||||
thunderbird = { enable = true; };
|
thunderbird = {
|
||||||
imap = {
|
enable = true;
|
||||||
host = "mail.infomaniak.com";
|
};
|
||||||
port = 993;
|
imap = {
|
||||||
|
host = "mail.infomaniak.com";
|
||||||
|
port = 993;
|
||||||
|
};
|
||||||
|
|
||||||
|
smtp = {
|
||||||
|
host = "mail.infomaniak.com";
|
||||||
|
port = 465;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
"mrflos@yeswiki.pro" = {
|
||||||
|
realName = "Florian Schmitt - Yeswiki.pro";
|
||||||
|
userName = "mrflos@yeswiki.pro";
|
||||||
|
address = "mrflos@yeswiki.pro";
|
||||||
|
|
||||||
smtp = {
|
thunderbird = {
|
||||||
host = "mail.infomaniak.com";
|
enable = true;
|
||||||
port = 465;
|
};
|
||||||
|
imap = {
|
||||||
|
host = "mail.infomaniak.com";
|
||||||
|
port = 993;
|
||||||
|
};
|
||||||
|
|
||||||
|
smtp = {
|
||||||
|
host = "mail.infomaniak.com";
|
||||||
|
port = 465;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"mrflos@mrflos.pw" = {
|
||||||
|
realName = "Florian Schmitt";
|
||||||
|
userName = "mrflos";
|
||||||
|
address = "mrflos@mrflos.pw";
|
||||||
|
|
||||||
|
primary = false;
|
||||||
|
thunderbird = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
imap = {
|
||||||
|
host = "mrflos.pw";
|
||||||
|
port = 993;
|
||||||
|
#tls.enable = true;
|
||||||
|
#tls.useStartTls = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
smtp = {
|
||||||
|
host = "mrflos.pw";
|
||||||
|
port = 587;
|
||||||
|
#tls.useStartTls = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"contact@yeswiki.pro" = {
|
||||||
|
realName = "YesWiki.pro";
|
||||||
|
userName = "contact@yeswiki.pro";
|
||||||
|
address = "contact@yeswiki.pro";
|
||||||
|
|
||||||
|
primary = false;
|
||||||
|
thunderbird = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
imap = {
|
||||||
|
host = "mail.infomaniak.com";
|
||||||
|
port = 993;
|
||||||
|
};
|
||||||
|
|
||||||
|
smtp = {
|
||||||
|
host = "mail.infomaniak.com";
|
||||||
|
port = 465;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"contact@yeswiki.net" = {
|
||||||
|
realName = "YesWiki.net";
|
||||||
|
userName = "contact@yeswiki.net";
|
||||||
|
address = "contact@yeswiki.net";
|
||||||
|
|
||||||
|
primary = false;
|
||||||
|
thunderbird = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
imap = {
|
||||||
|
host = "mail.infomaniak.com";
|
||||||
|
port = 993;
|
||||||
|
};
|
||||||
|
|
||||||
|
smtp = {
|
||||||
|
host = "mail.infomaniak.com";
|
||||||
|
port = 465;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"mrflos@yeswiki.pro" = {
|
|
||||||
realName = "Florian Schmitt - Yeswiki.pro";
|
|
||||||
userName = "mrflos@yeswiki.pro";
|
|
||||||
address = "mrflos@yeswiki.pro";
|
|
||||||
|
|
||||||
thunderbird = { enable = true; };
|
programs = {
|
||||||
imap = {
|
direnv = {
|
||||||
host = "mail.infomaniak.com";
|
|
||||||
port = 993;
|
|
||||||
};
|
|
||||||
|
|
||||||
smtp = {
|
|
||||||
host = "mail.infomaniak.com";
|
|
||||||
port = 465;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"mrflos@mrflos.pw" = {
|
|
||||||
realName = "Florian Schmitt";
|
|
||||||
userName = "mrflos";
|
|
||||||
address = "mrflos@mrflos.pw";
|
|
||||||
|
|
||||||
primary = false;
|
|
||||||
thunderbird = { enable = true; };
|
|
||||||
imap = {
|
|
||||||
host = "mrflos.pw";
|
|
||||||
port = 993;
|
|
||||||
#tls.enable = true;
|
|
||||||
#tls.useStartTls = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
smtp = {
|
|
||||||
host = "mrflos.pw";
|
|
||||||
port = 587;
|
|
||||||
#tls.useStartTls = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"contact@yeswiki.pro" = {
|
|
||||||
realName = "YesWiki.pro";
|
|
||||||
userName = "contact@yeswiki.pro";
|
|
||||||
address = "contact@yeswiki.pro";
|
|
||||||
|
|
||||||
primary = false;
|
|
||||||
thunderbird = { enable = true; };
|
|
||||||
imap = {
|
|
||||||
host = "mail.infomaniak.com";
|
|
||||||
port = 993;
|
|
||||||
};
|
|
||||||
|
|
||||||
smtp = {
|
|
||||||
host = "mail.infomaniak.com";
|
|
||||||
port = 465;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"contact@yeswiki.net" = {
|
|
||||||
realName = "YesWiki.net";
|
|
||||||
userName = "contact@yeswiki.net";
|
|
||||||
address = "contact@yeswiki.net";
|
|
||||||
|
|
||||||
primary = false;
|
|
||||||
thunderbird = { enable = true; };
|
|
||||||
imap = {
|
|
||||||
host = "mail.infomaniak.com";
|
|
||||||
port = 993;
|
|
||||||
};
|
|
||||||
|
|
||||||
smtp = {
|
|
||||||
host = "mail.infomaniak.com";
|
|
||||||
port = 465;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
userName = "Florian Schmitt";
|
|
||||||
userEmail = "mrflos@gmail.com";
|
|
||||||
aliases = {
|
|
||||||
fa = "fetch --all --tags --prune --recurse-submodules --force";
|
|
||||||
};
|
|
||||||
extraConfig = {
|
|
||||||
pull.rebase = true;
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
core.editor = "nvim";
|
|
||||||
core.fileMode = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
neovim = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
starship = {
|
|
||||||
enable = true;
|
|
||||||
settings = with builtins; fromTOML (readFile ../dotfiles/starship/starship.toml);
|
|
||||||
};
|
|
||||||
|
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
shellAliases = {
|
|
||||||
#tmux = "tmux -f ~/.config/tmux/tmux.conf attach || tmux -f ~/.config/tmux/tmux.conf new";
|
|
||||||
bunx = "bun --bun x";
|
|
||||||
g = "lazygit";
|
|
||||||
kdenix = "nix run github:pjones/plasma-manager --extra-experimental-features nix-command --extra-experimental-features flakes > /home/mrflos/Developpements/nixos-config/modules/home-plasma.nix";
|
|
||||||
icat = "kitty +kitten icat";
|
|
||||||
nixedit = "vi /etc/nixos";
|
|
||||||
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";
|
|
||||||
yeswiki-updater = "cd /home/mrflos/Developpements/yeswiki-installer/ && sudo php yeswiki-updater.php";
|
|
||||||
};
|
|
||||||
initExtra = ''
|
|
||||||
export BUN_INSTALL="$HOME/.bun"
|
|
||||||
export PATH="$HOME/.local/bin:$BUN_INSTALL/bin:$PATH"
|
|
||||||
eval "$(atuin init zsh)"
|
|
||||||
eval "$(zoxide init zsh)"
|
|
||||||
'';
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
enableZshIntegration = true;
|
||||||
zstyle :omz:plugins:ssh-agent helper ksshaskpass
|
nix-direnv.enable = true;
|
||||||
zstyle :omz:plugins:ssh-agent agent-forwarding yes
|
};
|
||||||
zstyle :omz:plugins:ssh-agent lazy yes
|
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Florian Schmitt";
|
||||||
|
userEmail = "mrflos@gmail.com";
|
||||||
|
aliases = {
|
||||||
|
fa = "fetch --all --tags --prune --recurse-submodules --force";
|
||||||
|
};
|
||||||
|
extraConfig = {
|
||||||
|
pull.rebase = true;
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
core.editor = "nvim";
|
||||||
|
core.fileMode = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
defaultEditor = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
starship = {
|
||||||
|
enable = true;
|
||||||
|
settings = with builtins; fromTOML (readFile ../dotfiles/starship/starship.toml);
|
||||||
|
};
|
||||||
|
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
shellAliases = {
|
||||||
|
#tmux = "tmux -f ~/.config/tmux/tmux.conf attach || tmux -f ~/.config/tmux/tmux.conf new";
|
||||||
|
bunx = "bun --bun x";
|
||||||
|
g = "lazygit";
|
||||||
|
kdenix = "nix run github:pjones/plasma-manager --extra-experimental-features nix-command --extra-experimental-features flakes > /home/mrflos/Developpements/nixos-config/modules/home-plasma.nix";
|
||||||
|
icat = "kitty +kitten icat";
|
||||||
|
nixedit = "vi /etc/nixos";
|
||||||
|
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";
|
||||||
|
socks = "ssh -N -f -C -D 9090 mrflos@yunohost.yeswiki.net -p 6742";
|
||||||
|
vi = "/run/current-system/sw/bin/nvim";
|
||||||
|
vim = "/run/current-system/sw/bin/nvim";
|
||||||
|
yeswiki-updater = "cd /home/mrflos/Developpements/yeswiki-installer/ && sudo php yeswiki-updater.php";
|
||||||
|
};
|
||||||
|
initExtra = ''
|
||||||
|
export BUN_INSTALL="$HOME/.bun"
|
||||||
|
export PHP_CS_FIXER_IGNORE_ENV=1
|
||||||
|
export PATH="$HOME/.local/bin:$BUN_INSTALL/bin:$PATH"
|
||||||
|
eval "$(atuin init zsh)"
|
||||||
|
eval "$(zoxide init zsh)"
|
||||||
'';
|
'';
|
||||||
plugins = [ "git" "ssh-agent" ];
|
oh-my-zsh = {
|
||||||
# theme = "robbyrussell";
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
zstyle :omz:plugins:ssh-agent helper ksshaskpass
|
||||||
|
zstyle :omz:plugins:ssh-agent agent-forwarding yes
|
||||||
|
zstyle :omz:plugins:ssh-agent lazy yes
|
||||||
|
'';
|
||||||
|
plugins = [
|
||||||
|
"git"
|
||||||
|
"ssh-agent"
|
||||||
|
];
|
||||||
|
# theme = "robbyrussell";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.ssh-agent.enable = true;
|
||||||
|
wayland.windowManager.hyprland.enable = true;
|
||||||
|
wayland.windowManager.hyprland.settings = {
|
||||||
|
exec-once = ''${startupScript}/bin/hyprland-start'';
|
||||||
|
"$mod" = "SUPER";
|
||||||
|
|
||||||
|
# assign apps
|
||||||
|
"$term" = "kitty";
|
||||||
|
"$editor" = "nvim";
|
||||||
|
"$file" = "dolphin";
|
||||||
|
"$browser" = "firefox";
|
||||||
|
|
||||||
|
bind =
|
||||||
|
[
|
||||||
|
", Print, exec, grimblast copy area"
|
||||||
|
# Window/Session actions
|
||||||
|
"$mod, Q, killactive"
|
||||||
|
"ALT, F4, killactive"
|
||||||
|
"$mod, delete, exit" # kill hyperland session
|
||||||
|
"$mod, W, togglefloating" # toggle the window on focus to float
|
||||||
|
"$mod, G, togglegroup" # toggle the window on focus to float
|
||||||
|
"ALT, return, fullscreen" # toggle the window on focus to fullscreen
|
||||||
|
"$mod, L, exec, swaylock" # lock screen
|
||||||
|
# "$mod, backspace, exec, wlogout-launcher-hyprland 1" # logout menu
|
||||||
|
"$CONTROL, ESCAPE, exec, systemctl-toggle --user waybar.service"
|
||||||
|
|
||||||
|
# Application shortcuts
|
||||||
|
"$mod, T, exec, $term" # open terminal
|
||||||
|
"$mod, E, exec, $file" # open file manager
|
||||||
|
"$mod, C, exec, $editor" # open vscode
|
||||||
|
"$mod, F, exec, $browser" # open browser
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
"$mod, left, movefocus, l"
|
||||||
|
"$mod, right, movefocus, r"
|
||||||
|
"$mod, up, movefocus, u"
|
||||||
|
"$mod, down, movefocus, d"
|
||||||
|
"ALT, Tab, movefocus, d"
|
||||||
|
|
||||||
|
# Switch workspaces relative to the active workspace with mainMod + CTRL + [←→]
|
||||||
|
"$mod CTRL, right, workspace, r+1"
|
||||||
|
"$mod CTRL, left, workspace, r-1"
|
||||||
|
|
||||||
|
# move to the first empty workspace instantly with mainMod + CTRL + [↓]
|
||||||
|
"$mod CTRL, down, workspace, empty"
|
||||||
|
|
||||||
|
# Move active window to a relative workspace with mainMod + CTRL + ALT + [←→]
|
||||||
|
"$mod CTRL ALT, right, movetoworkspace, r+1"
|
||||||
|
"$mod CTRL ALT, left, movetoworkspace, r-1"
|
||||||
|
|
||||||
|
# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓]
|
||||||
|
"$mod SHIFT $CONTROL, left, movewindow, l"
|
||||||
|
"$mod SHIFT $CONTROL, right, movewindow, r"
|
||||||
|
"$mod SHIFT $CONTROL, up, movewindow, u"
|
||||||
|
"$mod SHIFT $CONTROL, down, movewindow, d"
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
"$mod, mouse_down, workspace, e+1"
|
||||||
|
"$mod, mouse_up, workspace, e-1"
|
||||||
|
|
||||||
|
# Special workspaces (scratchpad)
|
||||||
|
"$mod ALT, S, movetoworkspacesilent, special"
|
||||||
|
"$mod, S, togglespecialworkspace,"
|
||||||
|
|
||||||
|
# Toggle Layout
|
||||||
|
"$mod, J, togglesplit," # dwindle
|
||||||
|
]
|
||||||
|
++ (
|
||||||
|
# workspaces
|
||||||
|
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
||||||
|
builtins.concatLists (
|
||||||
|
builtins.genList (
|
||||||
|
x:
|
||||||
|
let
|
||||||
|
ws =
|
||||||
|
let
|
||||||
|
c = (x + 1) / 10;
|
||||||
|
in
|
||||||
|
builtins.toString (x + 1 - (c * 10));
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
||||||
|
"$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
|
||||||
|
"$mod ALT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}" # Move window silently to workspace Super + Alt + [0-9]
|
||||||
|
]
|
||||||
|
) 10
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
# Move/Resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = [
|
||||||
|
"$mod, mouse:272, movewindow"
|
||||||
|
"$mod, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Resize windows
|
||||||
|
binde = [
|
||||||
|
"$mod SHIFT, right, resizeactive, 30 0"
|
||||||
|
"$mod SHIFT, left, resizeactive, -30 0"
|
||||||
|
"$mod SHIFT, up, resizeactive, 0 -30"
|
||||||
|
"$mod SHIFT, down, resizeactive, 0 30"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.ssh-agent.enable = true;
|
|
||||||
wayland.windowManager.hyprland.enable = true;
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
|
||||||
exec-once = ''${startupScript}/bin/hyprland-start'';
|
|
||||||
"$mod" = "SUPER";
|
|
||||||
|
|
||||||
# assign apps
|
|
||||||
"$term" = "kitty";
|
|
||||||
"$editor" = "nvim";
|
|
||||||
"$file" = "dolphin";
|
|
||||||
"$browser" = "firefox";
|
|
||||||
|
|
||||||
bind = [
|
|
||||||
", Print, exec, grimblast copy area"
|
|
||||||
# Window/Session actions
|
|
||||||
"$mod, Q, killactive"
|
|
||||||
"ALT, F4, killactive"
|
|
||||||
"$mod, delete, exit" # kill hyperland session
|
|
||||||
"$mod, W, togglefloating" # toggle the window on focus to float
|
|
||||||
"$mod, G, togglegroup" # toggle the window on focus to float
|
|
||||||
"ALT, return, fullscreen" # toggle the window on focus to fullscreen
|
|
||||||
"$mod, L, exec, swaylock" # lock screen
|
|
||||||
# "$mod, backspace, exec, wlogout-launcher-hyprland 1" # logout menu
|
|
||||||
"$CONTROL, ESCAPE, exec, systemctl-toggle --user waybar.service"
|
|
||||||
|
|
||||||
# Application shortcuts
|
|
||||||
"$mod, T, exec, $term" # open terminal
|
|
||||||
"$mod, E, exec, $file" # open file manager
|
|
||||||
"$mod, C, exec, $editor" # open vscode
|
|
||||||
"$mod, F, exec, $browser" # open browser
|
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
|
||||||
"$mod, left, movefocus, l"
|
|
||||||
"$mod, right, movefocus, r"
|
|
||||||
"$mod, up, movefocus, u"
|
|
||||||
"$mod, down, movefocus, d"
|
|
||||||
"ALT, Tab, movefocus, d"
|
|
||||||
|
|
||||||
|
|
||||||
# Switch workspaces relative to the active workspace with mainMod + CTRL + [←→]
|
|
||||||
"$mod CTRL, right, workspace, r+1"
|
|
||||||
"$mod CTRL, left, workspace, r-1"
|
|
||||||
|
|
||||||
# move to the first empty workspace instantly with mainMod + CTRL + [↓]
|
|
||||||
"$mod CTRL, down, workspace, empty"
|
|
||||||
|
|
||||||
# Move active window to a relative workspace with mainMod + CTRL + ALT + [←→]
|
|
||||||
"$mod CTRL ALT, right, movetoworkspace, r+1"
|
|
||||||
"$mod CTRL ALT, left, movetoworkspace, r-1"
|
|
||||||
|
|
||||||
# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓]
|
|
||||||
"$mod SHIFT $CONTROL, left, movewindow, l"
|
|
||||||
"$mod SHIFT $CONTROL, right, movewindow, r"
|
|
||||||
"$mod SHIFT $CONTROL, up, movewindow, u"
|
|
||||||
"$mod SHIFT $CONTROL, down, movewindow, d"
|
|
||||||
|
|
||||||
# Scroll through existing workspaces with mainMod + scroll
|
|
||||||
"$mod, mouse_down, workspace, e+1"
|
|
||||||
"$mod, mouse_up, workspace, e-1"
|
|
||||||
|
|
||||||
# Special workspaces (scratchpad)
|
|
||||||
"$mod ALT, S, movetoworkspacesilent, special"
|
|
||||||
"$mod, S, togglespecialworkspace,"
|
|
||||||
|
|
||||||
# Toggle Layout
|
|
||||||
"$mod, J, togglesplit," # dwindle
|
|
||||||
]
|
|
||||||
++ (
|
|
||||||
# workspaces
|
|
||||||
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
|
||||||
builtins.concatLists (builtins.genList (
|
|
||||||
x: let
|
|
||||||
ws = let
|
|
||||||
c = (x + 1) / 10;
|
|
||||||
in
|
|
||||||
builtins.toString (x + 1 - (c * 10));
|
|
||||||
in [
|
|
||||||
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
|
||||||
"$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
|
|
||||||
"$mod ALT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}" # Move window silently to workspace Super + Alt + [0-9]
|
|
||||||
]
|
|
||||||
)
|
|
||||||
10)
|
|
||||||
);
|
|
||||||
|
|
||||||
# Move/Resize windows with mainMod + LMB/RMB and dragging
|
|
||||||
bindm = [
|
|
||||||
"$mod, mouse:272, movewindow"
|
|
||||||
"$mod, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Resize windows
|
|
||||||
binde = [
|
|
||||||
"$mod SHIFT, right, resizeactive, 30 0"
|
|
||||||
"$mod SHIFT, left, resizeactive, -30 0"
|
|
||||||
"$mod SHIFT, up, resizeactive, 0 -30"
|
|
||||||
"$mod SHIFT, down, resizeactive, 0 30"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,21 +45,35 @@
|
||||||
"kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S";
|
"kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S";
|
||||||
"kcm_touchpad"."Disable Touchpad" = "Touchpad Off";
|
"kcm_touchpad"."Disable Touchpad" = "Touchpad Off";
|
||||||
"kcm_touchpad"."Enable Touchpad" = "Touchpad On";
|
"kcm_touchpad"."Enable Touchpad" = "Touchpad On";
|
||||||
"kcm_touchpad"."Toggle Touchpad" = ["Touchpad Toggle,Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku"];
|
"kcm_touchpad"."Toggle Touchpad" = [
|
||||||
|
"Touchpad Toggle,Touchpad Toggle"
|
||||||
|
"Meta+Ctrl+Zenkaku Hankaku"
|
||||||
|
];
|
||||||
"kded5"."Show System Activity" = "Ctrl+Esc";
|
"kded5"."Show System Activity" = "Ctrl+Esc";
|
||||||
"kded5"."display" = ["Display" "Meta+P,Display" "Meta+P,Changer d'affichage"];
|
"kded5"."display" = [
|
||||||
|
"Display"
|
||||||
|
"Meta+P,Display"
|
||||||
|
"Meta+P,Changer d'affichage"
|
||||||
|
];
|
||||||
"khotkeys"."{d03619b6-9b3c-48cc-9d9c-a2aadb485550}" = [ ];
|
"khotkeys"."{d03619b6-9b3c-48cc-9d9c-a2aadb485550}" = [ ];
|
||||||
"kitty.desktop"."_launch" = "Meta+T,none";
|
"kitty.desktop"."_launch" = "Meta+T,none";
|
||||||
"kmix"."decrease_microphone_volume" = "Microphone Volume Down";
|
"kmix"."decrease_microphone_volume" = "Microphone Volume Down";
|
||||||
"kmix"."decrease_volume" = "Volume Down";
|
"kmix"."decrease_volume" = "Volume Down";
|
||||||
"kmix"."increase_microphone_volume" = "Microphone Volume Up";
|
"kmix"."increase_microphone_volume" = "Microphone Volume Up";
|
||||||
"kmix"."increase_volume" = "Volume Up";
|
"kmix"."increase_volume" = "Volume Up";
|
||||||
"kmix"."mic_mute" = ["Microphone Mute" "Meta+Volume Mute,Microphone Mute" "Meta+Volume Mute,Couper le son du microphone"];
|
"kmix"."mic_mute" = [
|
||||||
|
"Microphone Mute"
|
||||||
|
"Meta+Volume Mute,Microphone Mute"
|
||||||
|
"Meta+Volume Mute,Couper le son du microphone"
|
||||||
|
];
|
||||||
"kmix"."mute" = "Volume Mute";
|
"kmix"."mute" = "Volume Mute";
|
||||||
"konversation"."next_active_tab" = [ ];
|
"konversation"."next_active_tab" = [ ];
|
||||||
"konversation"."toggle_mainwindow_visibility" = [ ];
|
"konversation"."toggle_mainwindow_visibility" = [ ];
|
||||||
"ksmserver"."Halt Without Confirmation" = "none,,Éteindre sans confirmation";
|
"ksmserver"."Halt Without Confirmation" = "none,,Éteindre sans confirmation";
|
||||||
"ksmserver"."Lock Session" = ["Screensaver,Meta+L" "Screensaver,Verrouiller la session"];
|
"ksmserver"."Lock Session" = [
|
||||||
|
"Screensaver,Meta+L"
|
||||||
|
"Screensaver,Verrouiller la session"
|
||||||
|
];
|
||||||
"ksmserver"."Log Out" = "Ctrl+Alt+Del";
|
"ksmserver"."Log Out" = "Ctrl+Alt+Del";
|
||||||
"ksmserver"."Log Out Without Confirmation" = "none,,Déconnexion sans confirmation";
|
"ksmserver"."Log Out Without Confirmation" = "none,,Déconnexion sans confirmation";
|
||||||
"ksmserver"."Reboot Without Confirmation" = "none,,Redémarrer sans confirmation";
|
"ksmserver"."Reboot Without Confirmation" = "none,,Redémarrer sans confirmation";
|
||||||
|
@ -67,7 +81,11 @@
|
||||||
"kwin"."Decrease Opacity" = "none,,Diminuer l'opacité de la fenêtre active de 5 %";
|
"kwin"."Decrease Opacity" = "none,,Diminuer l'opacité de la fenêtre active de 5 %";
|
||||||
"kwin"."Edit Tiles" = "none,Meta+T,Basculer ou sortir de l'éditeur de recouvrement";
|
"kwin"."Edit Tiles" = "none,Meta+T,Basculer ou sortir de l'éditeur de recouvrement";
|
||||||
"kwin"."Expose" = "Ctrl+F9";
|
"kwin"."Expose" = "Ctrl+F9";
|
||||||
"kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C),Ctrl+F10" "Launch (C),Activer / désactiver la présentation des fenêtres (tous les bureaux)"];
|
"kwin"."ExposeAll" = [
|
||||||
|
"Ctrl+F10"
|
||||||
|
"Launch (C),Ctrl+F10"
|
||||||
|
"Launch (C),Activer / désactiver la présentation des fenêtres (tous les bureaux)"
|
||||||
|
];
|
||||||
"kwin"."ExposeClass" = "Ctrl+F7";
|
"kwin"."ExposeClass" = "Ctrl+F7";
|
||||||
"kwin"."ExposeClassCurrentDesktop" = [ ];
|
"kwin"."ExposeClassCurrentDesktop" = [ ];
|
||||||
"kwin"."Grid-Tiling: Close Desktop" = [ ];
|
"kwin"."Grid-Tiling: Close Desktop" = [ ];
|
||||||
|
@ -198,7 +216,10 @@
|
||||||
"kwin"."Walk Through Windows of Current Application Alternative (Reverse)" = "none,,Naviguer parmi les fenêtres de l'application alternative courante (en ordre inverse)";
|
"kwin"."Walk Through Windows of Current Application Alternative (Reverse)" = "none,,Naviguer parmi les fenêtres de l'application alternative courante (en ordre inverse)";
|
||||||
"kwin"."Window Above Other Windows" = "none,,Conserver une fenêtre au-dessus des autres";
|
"kwin"."Window Above Other Windows" = "none,,Conserver une fenêtre au-dessus des autres";
|
||||||
"kwin"."Window Below Other Windows" = "none,,Conserver une fenêtre au-dessous des autres";
|
"kwin"."Window Below Other Windows" = "none,,Conserver une fenêtre au-dessous des autres";
|
||||||
"kwin"."Window Close" = ["Alt+F4" "Meta+Q,Alt+F4,Fermer une fenêtre"];
|
"kwin"."Window Close" = [
|
||||||
|
"Alt+F4"
|
||||||
|
"Meta+Q,Alt+F4,Fermer une fenêtre"
|
||||||
|
];
|
||||||
"kwin"."Window Fullscreen" = "none,,Mettre une fenêtre en plein écran";
|
"kwin"."Window Fullscreen" = "none,,Mettre une fenêtre en plein écran";
|
||||||
"kwin"."Window Grow Horizontal" = "none,,Maximiser horizontalement une fenêtre";
|
"kwin"."Window Grow Horizontal" = "none,,Maximiser horizontalement une fenêtre";
|
||||||
"kwin"."Window Grow Vertical" = "none,,Maximiser verticalement une fenêtre";
|
"kwin"."Window Grow Vertical" = "none,,Maximiser verticalement une fenêtre";
|
||||||
|
@ -206,7 +227,10 @@
|
||||||
"kwin"."Window Maximize" = "Meta+PgUp";
|
"kwin"."Window Maximize" = "Meta+PgUp";
|
||||||
"kwin"."Window Maximize Horizontal" = "none,,Maximiser horizontalement une fenêtre";
|
"kwin"."Window Maximize Horizontal" = "none,,Maximiser horizontalement une fenêtre";
|
||||||
"kwin"."Window Maximize Vertical" = "none,,Maximiser verticalement une fenêtre";
|
"kwin"."Window Maximize Vertical" = "none,,Maximiser verticalement une fenêtre";
|
||||||
"kwin"."Window Minimize" = ["Meta+PgDown" "Meta+M,Meta+PgDown,Réduire une fenêtre"];
|
"kwin"."Window Minimize" = [
|
||||||
|
"Meta+PgDown"
|
||||||
|
"Meta+M,Meta+PgDown,Réduire une fenêtre"
|
||||||
|
];
|
||||||
"kwin"."Window Move" = "none,,Déplacer une fenêtre";
|
"kwin"."Window Move" = "none,,Déplacer une fenêtre";
|
||||||
"kwin"."Window Move Center" = "none,,Déplacer la fenêtre au centre";
|
"kwin"."Window Move Center" = "none,,Déplacer la fenêtre au centre";
|
||||||
"kwin"."Window No Border" = "none,,Afficher / Masquer la barre de titre et la bordure";
|
"kwin"."Window No Border" = "none,,Afficher / Masquer la barre de titre et la bordure";
|
||||||
|
@ -270,7 +294,11 @@
|
||||||
"kwin"."Window to Screen 6" = "none,,Envoyer la fenêtre sur l'écran 6";
|
"kwin"."Window to Screen 6" = "none,,Envoyer la fenêtre sur l'écran 6";
|
||||||
"kwin"."Window to Screen 7" = "none,,Envoyer la fenêtre sur l'écran 7";
|
"kwin"."Window to Screen 7" = "none,,Envoyer la fenêtre sur l'écran 7";
|
||||||
"kwin"."view_actual_size" = "Meta+0";
|
"kwin"."view_actual_size" = "Meta+0";
|
||||||
"kwin"."view_zoom_in" = ["Meta++" "Meta+=,Meta++" "Meta+=,Zoom avant"];
|
"kwin"."view_zoom_in" = [
|
||||||
|
"Meta++"
|
||||||
|
"Meta+=,Meta++"
|
||||||
|
"Meta+=,Zoom avant"
|
||||||
|
];
|
||||||
"kwin"."view_zoom_out" = "Meta+-";
|
"kwin"."view_zoom_out" = "Meta+-";
|
||||||
"lattedock"."activate entry 1" = "none,Meta+1,Activer l'entrée 1";
|
"lattedock"."activate entry 1" = "none,Meta+1,Activer l'entrée 1";
|
||||||
"lattedock"."activate entry 10" = "none,Meta+0,Activer l'entrée 10";
|
"lattedock"."activate entry 10" = "none,Meta+0,Activer l'entrée 10";
|
||||||
|
@ -326,8 +354,15 @@
|
||||||
"org.kde.konsole.desktop"."NewWindow" = [ ];
|
"org.kde.konsole.desktop"."NewWindow" = [ ];
|
||||||
"org.kde.konsole.desktop"."_launch" = "Ctrl+Alt+T,none";
|
"org.kde.konsole.desktop"."_launch" = "Ctrl+Alt+T,none";
|
||||||
"org.kde.krunner.desktop"."RunClipboard" = "Alt+Shift+F2,none";
|
"org.kde.krunner.desktop"."RunClipboard" = "Alt+Shift+F2,none";
|
||||||
"org.kde.krunner.desktop"."_launch" = ["Alt+Space" "Alt+F2" "Search,none"];
|
"org.kde.krunner.desktop"."_launch" = [
|
||||||
"org.kde.plasma.emojier.desktop"."_launch" = ["Meta+." "Meta+Ctrl+Alt+Shift+Space,none"];
|
"Alt+Space"
|
||||||
|
"Alt+F2"
|
||||||
|
"Search,none"
|
||||||
|
];
|
||||||
|
"org.kde.plasma.emojier.desktop"."_launch" = [
|
||||||
|
"Meta+."
|
||||||
|
"Meta+Ctrl+Alt+Shift+Space,none"
|
||||||
|
];
|
||||||
"org.kde.spectacle.desktop"."ActiveWindowScreenShot" = "Meta+Print,none";
|
"org.kde.spectacle.desktop"."ActiveWindowScreenShot" = "Meta+Print,none";
|
||||||
"org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = [ ];
|
"org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = [ ];
|
||||||
"org.kde.spectacle.desktop"."FullScreenScreenShot" = "Shift+Print,none";
|
"org.kde.spectacle.desktop"."FullScreenScreenShot" = "Shift+Print,none";
|
||||||
|
@ -1090,7 +1125,7 @@
|
||||||
"kwinrc"."Tiling/ed6da6d2-dc03-5e69-aae5-b2fee83fe2cd"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
|
"kwinrc"."Tiling/ed6da6d2-dc03-5e69-aae5-b2fee83fe2cd"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
|
||||||
"kwinrc"."Windows"."AutoRaise" = true;
|
"kwinrc"."Windows"."AutoRaise" = true;
|
||||||
"kwinrc"."Windows"."AutoRaiseInterval" = 300;
|
"kwinrc"."Windows"."AutoRaiseInterval" = 300;
|
||||||
"kwinrc"."Windows"."ElectricBorderCornerRatio" = 0.01;
|
"kwinrc"."Windows"."ElectricBorderCornerRatio" = 1.0e-2;
|
||||||
"kwinrc"."Windows"."Placement" = "Maximizing";
|
"kwinrc"."Windows"."Placement" = "Maximizing";
|
||||||
"kwinrc"."Windows"."RollOverDesktops" = true;
|
"kwinrc"."Windows"."RollOverDesktops" = true;
|
||||||
"kwinrc"."Xwayland"."Scale" = 1.75;
|
"kwinrc"."Xwayland"."Scale" = 1.75;
|
||||||
|
|
|
@ -1,5 +1,11 @@
|
||||||
# Local developpement
|
# Local developpement
|
||||||
{ pkgs, config, lib, ... }: {
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
docker.enable = true;
|
docker.enable = true;
|
||||||
#docker.rootless = {
|
#docker.rootless = {
|
||||||
|
@ -17,31 +23,34 @@
|
||||||
${pkgs.systemd}/bin/systemctl start mysql
|
${pkgs.systemd}/bin/systemctl start mysql
|
||||||
# etc
|
# etc
|
||||||
'';
|
'';
|
||||||
serviceConfig = let
|
serviceConfig =
|
||||||
startstop = command:
|
let
|
||||||
(pkgs.writeShellApplication {
|
startstop =
|
||||||
name = "yeswikidev";
|
command:
|
||||||
runtimeInputs = with pkgs; [ systemd ];
|
(pkgs.writeShellApplication {
|
||||||
text = ''
|
name = "yeswikidev";
|
||||||
systemctl ${command} mysql.service
|
runtimeInputs = with pkgs; [ systemd ];
|
||||||
'';
|
text = ''
|
||||||
});
|
systemctl ${command} mysql.service
|
||||||
#startstopFullShell = pkgs.writeShellApplication {
|
'';
|
||||||
# name = "yeswikidev";
|
});
|
||||||
# runtimeInputs = with pkgs; [ systemd ];
|
#startstopFullShell = pkgs.writeShellApplication {
|
||||||
# text = ''
|
# name = "yeswikidev";
|
||||||
# systemctl "$1" mysql.service
|
# runtimeInputs = with pkgs; [ systemd ];
|
||||||
# '';
|
# text = ''
|
||||||
#});
|
# systemctl "$1" mysql.service
|
||||||
#commands = [ "start" "stop" ];
|
# '';
|
||||||
#scripts = map (command: (pkgs.writeShellApplication {
|
#});
|
||||||
# name = "yeswikidev";
|
#commands = [ "start" "stop" ];
|
||||||
# runtimeInputs = with pkgs; [ systemd ];
|
#scripts = map (command: (pkgs.writeShellApplication {
|
||||||
# text = ''
|
# name = "yeswikidev";
|
||||||
# systemctl ${command} mysql.service
|
# runtimeInputs = with pkgs; [ systemd ];
|
||||||
# '';
|
# text = ''
|
||||||
#})) commands;
|
# systemctl ${command} mysql.service
|
||||||
|
# '';
|
||||||
|
#})) commands;
|
||||||
|
|
||||||
|
in
|
||||||
#execs = {
|
#execs = {
|
||||||
# ExecStart = "start";
|
# ExecStart = "start";
|
||||||
# ExecStop = "stop";
|
# ExecStop = "stop";
|
||||||
|
@ -50,17 +59,17 @@
|
||||||
# https://nixos.org/manual/nix/stable/language/builtins#builtins-mapAttrs
|
# https://nixos.org/manual/nix/stable/language/builtins#builtins-mapAttrs
|
||||||
#execAttrs = attrNames execs; # ["Start" "Stop"];
|
#execAttrs = attrNames execs; # ["Start" "Stop"];
|
||||||
#execs2 = mapAttrs (k: v: ()) execs;
|
#execs2 = mapAttrs (k: v: ()) execs;
|
||||||
in {
|
{
|
||||||
# pkgs.writeScript, pkgs.writeScriptBin
|
# pkgs.writeScript, pkgs.writeScriptBin
|
||||||
#ExecStart = startstop "start";
|
#ExecStart = startstop "start";
|
||||||
#ExecStop = startstop "stop";
|
#ExecStop = startstop "stop";
|
||||||
# OR
|
# OR
|
||||||
# ExecStart = "${startstopFullShell} start";
|
# ExecStart = "${startstopFullShell} start";
|
||||||
# ExecStop = "${startstopFullShell} stop";
|
# ExecStop = "${startstopFullShell} stop";
|
||||||
# OR
|
# OR
|
||||||
# ExecStart = "${scripts[0]}";
|
# ExecStart = "${scripts[0]}";
|
||||||
# ExecStop = "${scripts[1]}";
|
# ExecStop = "${scripts[1]}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services.mysql = {
|
services.mysql = {
|
||||||
|
@ -70,41 +79,47 @@
|
||||||
|
|
||||||
# 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 =
|
||||||
let
|
with pkgs;
|
||||||
php83 = pkgs.php83.buildEnv { extraConfig = "memory_limit = 2G"; };
|
let
|
||||||
in [
|
php83 = pkgs.php83.buildEnv { extraConfig = "memory_limit = 2G"; };
|
||||||
#clang
|
in
|
||||||
dart-sass
|
[
|
||||||
dbeaver-bin
|
#clang
|
||||||
docker-compose
|
dart-sass
|
||||||
gcc
|
dbeaver-bin
|
||||||
go
|
docker-compose
|
||||||
nixfmt-rfc-style
|
eris-go
|
||||||
nixpkgs-fmt
|
gcc
|
||||||
nodejs
|
go
|
||||||
nodePackages.eslint
|
nixfmt-rfc-style
|
||||||
nodePackages.prettier
|
lua
|
||||||
php83
|
lua-language-server
|
||||||
php83Packages.composer
|
luarocks
|
||||||
php83Packages.php-cs-fixer
|
nixpkgs-fmt
|
||||||
python3
|
nodejs
|
||||||
python311Packages.virtualenv
|
nodePackages.eslint
|
||||||
rpi-imager
|
nodePackages.prettier
|
||||||
ruff-lsp
|
php83
|
||||||
stylelint
|
php83Packages.composer
|
||||||
symfony-cli
|
php83Packages.php-cs-fixer
|
||||||
tree-sitter
|
python3
|
||||||
virt-manager
|
python311Packages.virtualenv
|
||||||
yarn
|
rpi-imager
|
||||||
zig
|
ruff-lsp
|
||||||
# image optimizers
|
stylelint
|
||||||
image_optim
|
symfony-cli
|
||||||
nodePackages.svgo
|
tree-sitter
|
||||||
jpegoptim
|
virt-manager
|
||||||
optipng
|
yarn
|
||||||
pngquant
|
zig
|
||||||
gifsicle
|
# image optimizers
|
||||||
libwebp
|
image_optim
|
||||||
];
|
nodePackages.svgo
|
||||||
|
jpegoptim
|
||||||
|
optipng
|
||||||
|
pngquant
|
||||||
|
gifsicle
|
||||||
|
libwebp
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
35
modules/minimal-server.nix
Normal file
35
modules/minimal-server.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# cli basic programs and configs that should be available on every server
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
bat
|
||||||
|
btop
|
||||||
|
findutils
|
||||||
|
fzf
|
||||||
|
gnugrep
|
||||||
|
git
|
||||||
|
glances
|
||||||
|
htop
|
||||||
|
lazygit
|
||||||
|
lsd
|
||||||
|
magic-wormhole
|
||||||
|
mc
|
||||||
|
micro
|
||||||
|
mosh
|
||||||
|
neovim
|
||||||
|
ripgrep
|
||||||
|
tmux
|
||||||
|
tree
|
||||||
|
unzip
|
||||||
|
wget
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
# Auto system update
|
# Auto system update
|
||||||
system.autoUpgrade = {
|
system.autoUpgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" ];
|
nix.settings.experimental-features = [ "nix-command" ];
|
||||||
|
@ -14,7 +14,5 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# TODO : find what is installing this, probably obsidian?
|
# TODO : find what is installing this, probably obsidian?
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
nixpkgs.config.permittedInsecurePackages = [ "electron-25.9.0" ];
|
||||||
"electron-25.9.0"
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ stdenvNoCC
|
{
|
||||||
, fetchFromGitHub
|
stdenvNoCC,
|
||||||
, libsForQt5
|
fetchFromGitHub,
|
||||||
|
libsForQt5,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenvNoCC.mkDerivation rec {
|
stdenvNoCC.mkDerivation rec {
|
||||||
|
@ -8,9 +9,7 @@ stdenvNoCC.mkDerivation rec {
|
||||||
version = "1.2";
|
version = "1.2";
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [
|
propagatedUserEnvPkgs = [ libsForQt5.qt5.qtgraphicaleffects ];
|
||||||
libsForQt5.qt5.qtgraphicaleffects
|
|
||||||
];
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lwndhrst";
|
owner = "lwndhrst";
|
||||||
|
|
Loading…
Reference in a new issue