diff --git a/dotfiles/init_yeswiki_repos.sh b/dotfiles/init_yeswiki_repos.sh index e923eea..92a6fcc 100755 --- a/dotfiles/init_yeswiki_repos.sh +++ b/dotfiles/init_yeswiki_repos.sh @@ -13,7 +13,7 @@ #printf "================ End install script dependencies ============\n" corebranch="doryphore-dev" -curdir="$HOME/Developpements" #${PWD} +curdir="$HOME/Code" #${PWD} repos=$(curl --request GET --url "https://api.github.com/orgs/yeswiki/repos?per_page=200" | jq '.[].full_name' | tr -d "\"" | sort) # core diff --git a/dotfiles/kitty/kitty.conf b/dotfiles/kitty/kitty.conf index 6f3179a..fd6f1e7 100644 --- a/dotfiles/kitty/kitty.conf +++ b/dotfiles/kitty/kitty.conf @@ -83,7 +83,7 @@ map ctrl+shift+0 resize_window reset confirm_os_window_close 0 enable_audio_bell no -window_padding_width 6 +window_padding_width 2 #hide_window_decorations yes font_size 14.0 background_opacity 1 diff --git a/dotfiles/nvim/lua/configs/conform.lua b/dotfiles/nvim/lua/configs/conform.lua index f67c26c..2d2eb34 100644 --- a/dotfiles/nvim/lua/configs/conform.lua +++ b/dotfiles/nvim/lua/configs/conform.lua @@ -4,12 +4,14 @@ local options = { css = { "prettier" }, html = { "prettier" }, js = { "prettier" }, + javascript = { "prettier" }, + typescript = { "prettier" }, php = { "php_cs_fixer" }, python = { "black" }, }, format_on_save = { - timeout_ms = 500, + timeout_ms = 15000, lsp_fallback = true, }, } diff --git a/dotfiles/nvim/lua/plugins/init.lua b/dotfiles/nvim/lua/plugins/init.lua index 9e3a3c7..0a58b26 100644 --- a/dotfiles/nvim/lua/plugins/init.lua +++ b/dotfiles/nvim/lua/plugins/init.lua @@ -45,6 +45,44 @@ return { "ThePrimeagen/harpoon", branch = "harpoon2", dependencies = { "nvim-lua/plenary.nvim" }, + opts = { + menu = { + width = vim.api.nvim_win_get_width(0) - 4, + }, + settings = { + save_on_toggle = true, + }, + }, + keys = function() + local keys = { + { + "H", + function() + require("harpoon"):list():add() + end, + desc = "Harpoon File", + }, + { + "h", + function() + local harpoon = require "harpoon" + harpoon.ui:toggle_quick_menu(harpoon:list()) + end, + desc = "Harpoon Quick Menu", + }, + } + + for i = 1, 6 do + table.insert(keys, { + "", + function() + require("harpoon"):list():select(i) + end, + desc = "Harpoon to File " .. i, + }) + end + return keys + end, }, { "nvim-treesitter/nvim-treesitter", @@ -64,6 +102,7 @@ return { "php", "python", "rust", + "templ", "toml", "tsx", "typescript", diff --git a/dotfiles/tmux/tmux.conf b/dotfiles/tmux/tmux.conf index 202f183..4e53bee 100644 --- a/dotfiles/tmux/tmux.conf +++ b/dotfiles/tmux/tmux.conf @@ -8,7 +8,7 @@ set -g escape-time 0 # zero-out escape time delay set -g history-limit 1000000 # increase history size (from 2,000) set -g renumber-windows on # renumber all windows when any window is closed set -g set-clipboard on # use system clipboard -set -g status-position top # macOS / darwin style +set -g status-position bottom # macOS / darwin style set -g default-terminal "${TERM}" set -g pane-active-border-style 'fg=magenta,bg=default' set -g pane-border-style 'fg=brightblack,bg=default' diff --git a/machines/dragon/configuration.nix b/machines/dragon/configuration.nix index 6821814..4e5bd6a 100644 --- a/machines/dragon/configuration.nix +++ b/machines/dragon/configuration.nix @@ -13,9 +13,9 @@ networking.hostName = "dragon"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. networking.extraHosts = - '' - 163.172.173.184 aleks-test-install-bookworm.test - ''; + '' + 163.172.173.184 aleks-test-install-bookworm.test + ''; # Configure network proxy if necessary # networking.proxy.default = "http://user:password@proxy:port/"; @@ -42,12 +42,61 @@ LC_TIME = "fr_FR.UTF-8"; }; - # Enable the X11 windowing system. - services.xserver.enable = true; - services.xserver.videoDrivers = [ "amdgpu" ]; - - # Configure keymap in X11 + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + + + nixpkgs.config.allowUnfree = true; + nixpkgs.config.nvidia.acceptLicense = true; + hardware.nvidia = { + + # Modesetting is required. + modesetting.enable = true; + + # Nvidia power management. Experimental, and can cause sleep/suspend to fail. + # Enable this if you have graphical corruption issues or application crashes after waking + # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead + # of just the bare essentials. + powerManagement.enable = true; + + # Fine-grained power management. Turns off GPU when not in use. + # Experimental and only works on modern Nvidia GPUs (Turing or newer). + powerManagement.finegrained = false; + + # Use the NVidia open source kernel module (not to be confused with the + # independent third-party "nouveau" open source driver). + # Support is limited to the Turing and later architectures. Full list of + # supported GPUs is at: + # https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus + # Only available from driver 515.43.04+ + # Currently alpha-quality/buggy, so false is currently the recommended setting. + open = false; + + # Enable the Nvidia settings menu, + # accessible via `nvidia-settings`. + nvidiaSettings = true; + + # Optionally, you may need to select the appropriate driver version for your specific GPU. + package = config.boot.kernelPackages.nvidiaPackages.latest; + }; + #hardware.opengl = { + # enable = true; + #}; + #hardware.nvidia = { + # modesetting.enable = true; + # powerManagement.enable = false; + # powerManagement.finegrained = true; + # open = true; + # nvidiaSettings = true; + # package = config.boot.kernelPackages.nvidiaPackages.beta; + #}; + services.xserver = { + enable = true; + videoDrivers = [ "intel" "nvidia" ]; xkb.layout = "us"; xkb.variant = ""; }; @@ -55,7 +104,7 @@ fileSystems."/mnt/nas/music" = { device = "192.168.1.2:/volume1/music"; - options = [ "nfsvers=4.2" "x-systemd.automount" "noauto" "rw" "relatime" "user" "acl" "defaults"]; + options = [ "nfsvers=4.2" "x-systemd.automount" "noauto" "rw" "relatime" "user" "acl" "defaults" ]; fsType = "nfs"; }; diff --git a/machines/dragon/hardware-configuration.nix b/machines/dragon/hardware-configuration.nix index 6597f26..ab1a35c 100644 --- a/machines/dragon/hardware-configuration.nix +++ b/machines/dragon/hardware-configuration.nix @@ -1,11 +1,12 @@ # 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, ... }: +{ config, lib, modulesPath, ... }: { imports = - [ (modulesPath + "/installer/scan/not-detected.nix") + [ + (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "uas" "usbhid" "sd_mod" ]; @@ -14,19 +15,20 @@ boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/1257f6f4-52bf-4c9a-aa00-86080ecd044c"; + { + device = "/dev/disk/by-uuid/1257f6f4-52bf-4c9a-aa00-86080ecd044c"; fsType = "btrfs"; }; fileSystems."/boot" = - { device = "/dev/disk/by-uuid/C182-445E"; + { + device = "/dev/disk/by-uuid/C182-445E"; fsType = "vfat"; options = [ "fmask=0077" "dmask=0077" ]; }; swapDevices = - [ { device = "/dev/disk/by-uuid/96a0423d-a4c0-4376-9d34-5a99b764010a"; } - ]; + [{ device = "/dev/disk/by-uuid/96a0423d-a4c0-4376-9d34-5a99b764010a"; }]; # 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 diff --git a/modules/console.nix b/modules/console.nix index 297c497..4698a94 100644 --- a/modules/console.nix +++ b/modules/console.nix @@ -57,6 +57,7 @@ in mpd mpv neofetch + nixd unstable.neovim ollama pandoc diff --git a/modules/home-config.nix b/modules/home-config.nix index b6a1c00..3353e53 100644 --- a/modules/home-config.nix +++ b/modules/home-config.nix @@ -1,9 +1,8 @@ # Inject the right home-manager config for the machine. -{ - config, - pkgs, - lib, - ... +{ config +, pkgs +, lib +, ... }: let # plasma-manager = pkgs.fetchFromGitHub { @@ -240,6 +239,7 @@ in #tmux = "tmux -f ~/.config/tmux/tmux.conf attach || tmux -f ~/.config/tmux/tmux.conf new"; bunx = "bun --bun x"; g = "lazygit"; + t = "/usr/bin/tmux-sessionizer"; 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"; @@ -344,21 +344,22 @@ in # 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 + 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 ) );