From c24d27b130b77319f23aabcf8b4fab7951d5ca00 Mon Sep 17 00:00:00 2001 From: grimhilt Date: Sun, 25 Dec 2022 21:41:11 +0100 Subject: [PATCH] global update --- .config/alacritty/alacritty.yml | 2 +- .config/bspwm/bspwmrc | 4 +- .config/nixshell/matrix.nix | 67 +++++----- .config/sxhkd/sxhkdrc | 5 +- configuration.nix | 223 +++++++++++++++++++++++++++++++- hardware-configuration.nix | 30 +++++ ledger.nix | 19 +++ 7 files changed, 312 insertions(+), 38 deletions(-) mode change 120000 => 100755 configuration.nix create mode 100644 hardware-configuration.nix create mode 100644 ledger.nix diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml index b4ba096..a130ca7 100644 --- a/.config/alacritty/alacritty.yml +++ b/.config/alacritty/alacritty.yml @@ -158,7 +158,7 @@ font: #style: Bold Italic # Point size - size: 9.0 + size: 8.0 # Offset is the extra space around each character. `offset.y` can be thought # of as modifying the line spacing, and `offset.x` as modifying the letter diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc index c9a624a..59e87bb 100755 --- a/.config/bspwm/bspwmrc +++ b/.config/bspwm/bspwmrc @@ -10,8 +10,8 @@ bspc rule -a Librewolf desktop=^2 #bspc config focus_follows_pointer true -#bspc config border_width 0.5 -#bspc config window_gap 0 +bspc config border_width 1.5 +bspc config window_gap 3 #bspc config split_ratio 0.52 #bspc config borderless_monocle true diff --git a/.config/nixshell/matrix.nix b/.config/nixshell/matrix.nix index e8d1de4..28808cb 100644 --- a/.config/nixshell/matrix.nix +++ b/.config/nixshell/matrix.nix @@ -1,33 +1,34 @@ -let - pkgs = import {}; -in - pkgs.mkShell { - name = "matrix-shell"; - buildInputs = with pkgs; [ - yarn - docker - act - gtk2 - gtk3 - rPackages.gbm - libnotify - gnome2.GConf - nss - xorg.libXScrnSaver - alsa-lib - xorg.xorgserver - xorg.libXtst - xorg.xauth - xvfb-run - stdenv.cc.cc zlib glib dbus gtk3 atk pango freetype - fontconfig gdk-pixbuf cairo cups expat libgpg-error alsa-lib nspr nss - xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst - xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr - xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify - xorg.libxcb libsecret libuuid at-spi2-atk at-spi2-core libdbusmenu - libdrm - mesa # required for libgbm - cypress - #(import ~/cypress.nix { inherit pkgs; }) - ]; - } +with (import {}); +mkShell { + buildInputs = [ + yarn + docker + act + gtk2 + gtk3 + rPackages.gbm + libnotify + gnome2.GConf + nss + xorg.libXScrnSaver + alsa-lib + xorg.xorgserver + xorg.libXtst + xorg.xauth + xvfb-run + stdenv.cc.cc zlib glib dbus gtk3 atk pango freetype + fontconfig gdk-pixbuf cairo cups expat libgpg-error alsa-lib nspr nss + xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst + xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr + xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify + xorg.libxcb libsecret libuuid at-spi2-atk at-spi2-core libdbusmenu + libdrm + mesa # required for libgbm + cypress + ]; + shellHook = '' + export NAME="matrix-shell" + export NODE_OPTIONS=--openssl-legacy-provider + ''; +} + diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc index 4a8c90f..3c947e1 100644 --- a/.config/sxhkd/sxhkdrc +++ b/.config/sxhkd/sxhkdrc @@ -8,7 +8,7 @@ super + Return # Program launcher super + d - rofi -modi drun -show drun + rofi -modi drun -show drun -matching prefix # Reload sxhkd config files super + Escape @@ -21,6 +21,9 @@ super + shift + s Print flameshot full +shift + Print + flameshot gui + # Lock screen ctrl + alt + l ~/.config/i3lock/lock.sh diff --git a/configuration.nix b/configuration.nix deleted file mode 120000 index faf36fd..0000000 --- a/configuration.nix +++ /dev/null @@ -1 +0,0 @@ -/etc/nixos/configuration.nix \ No newline at end of file diff --git a/configuration.nix b/configuration.nix new file mode 100755 index 0000000..1c9ca27 --- /dev/null +++ b/configuration.nix @@ -0,0 +1,222 @@ +# 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, ... }: +let + unstable = import {}; +in { + + imports = [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./ledger.nix + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + #power + services.logind.lidSwitch = "ignore"; + services.autorandr.enable = true; + + #networking.hostName = "nixos"; # Define your hostname. + networking.networkmanager.enable = true; + + + #networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Set your time zone. + time.timeZone = "Europe/Paris"; + + # The global useDHCP flag is deprecated, therefore explicitly set to false here. + # Per-interface useDHCP will be mandatory in the future, so this generated config + # replicates the default behaviour. + networking.useDHCP = false; + networking.interfaces.enp3s0.useDHCP = true; + #networksering.interfaces.wlp2s0.useDHCP = true; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Select internationalisation properties. + # i18n.defaultLocale = "en_US.UTF-8"; + # console = { + # font = "Lat2-Terminus16"; + # keyMap = "us"; + # }; + + + + # Enable the X11 windowing system. + services.xserver = { + enable = true; + # Configure keymap in X11 + layout = "fr"; + xkbOptions = "eurosign:e"; + displayManager.sessionCommands = '' + ${pkgs.bspwm}/bin/bspc wm -r + source $HOME/.config/bspwm/bspwmrc + ''; + + # Keyboard reactivity + autoRepeatDelay = 200; + autoRepeatInterval = 35; + + + windowManager.bspwm.enable = true; + #desktopManager.xterm.enable = true; + + # gnome + #displayManager.gdm.enable = true; + #desktopManager.gnome.enable = true; + + displayManager.defaultSession = "none+bspwm"; + #displayManager.startx.enable = true; + libinput = { + + # Enable touchpad support (enabled default in most desktopManager). + enable = true; + touchpad.accelSpeed = "0.155"; + }; + }; + virtualisation.docker.enable = true; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + sound.enable = true; + hardware.pulseaudio.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.grimhilt = { + isNormalUser = true; + home = "/home/grimhilt"; + extraGroups = [ "wheel" "networkmanager" "video" "docker" "plugdev"]; + }; + +# fileSystems."/home/grimhilt/My" = { + # device = "/dev/sdb2"; +# # fsType = "auto"; + # options = [ "uid=1000" "gid=1000" "dmask=007" "fmask=117" ]; +# }; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + # editors + vim + neovim + vscode + + # system tools + bspwm + sxhkd + alacritty + zsh + polybar + rofi + brightnessctl + i3lock-color + pamixer + flameshot + home-manager + lxappearance + + # browsers + librewolf + firefox + brave + chromium + + # utils + git + ranger + wget + zip + unzip + calc + tree + htop + putty + + # apps + element-desktop + nextcloud-client + discord + onlyoffice-bin + + # media + gimp + gthumb + feh + + # devs + python311 + geany + nasm + + # tmp + # gsettings-desktop-schemas + ]; + + #environment.gnome.excludePackages = (with pkgs; [ + # gnome-photos + # gnome-tour + #]) ++ (with pkgs.gnome; [ + # cheese # webcam tool + # gnome-music + # gnome-terminal + # gedit # text editor + # epiphany # web browser + # geary # email reader + # evince # document viewer + # gnome-characters + # totem # video player + # tali # poker game + # iagno # go game + # hitori # sudoku game + # atomix # puzzle game + #]); + + fonts.fonts = [ pkgs.font-awesome ]; + + nixpkgs.config.allowUnfree = true; + nix.extraOptions = '' + experimental-features = nix-command + ''; + programs.zsh.enable = true; + users.defaultUserShell = pkgs.zsh; + programs.zsh.ohMyZsh = { + enable = true; + theme = "candy-kingdom"; + }; + # 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; + # }; + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # 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 = "21.11"; # Did you read the comment? + +} + diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..fcf8828 --- /dev/null +++ b/hardware-configuration.nix @@ -0,0 +1,30 @@ +# 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" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/d1cc5318-2c08-4a6c-a8f4-33664b9670b4"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/2F11-39D7"; + fsType = "vfat"; + }; + + swapDevices = [ ]; + + powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/ledger.nix b/ledger.nix new file mode 100644 index 0000000..eae6c6b --- /dev/null +++ b/ledger.nix @@ -0,0 +1,19 @@ + +{ + # Required for Ledger Live to detect Ledger Nano S via USB + services.udev.extraRules = '' + # firmware 1.6.0+ + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="2b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="3b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="4b7c", MODE="0660", TAG+="uaccess", TAG+="udev-acl" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1807", MODE="0660", TAG+="uaccess", TAG+="udev-acl" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2581", ATTRS{idProduct}=="1808", MODE="0660", TAG+="uaccess", TAG+="udev-acl" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0000", MODE="0660", TAG+="uaccess", TAG+="udev-acl" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0001", MODE="0660", TAG+="uaccess", TAG+="udev-acl" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="0004", MODE="0660", TAG+="uaccess", TAG+="udev-acl" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="1011", MODE="0660", GROUP="plugdev" + SUBSYSTEMS=="usb", ATTRS{idVendor}=="2c97", ATTRS{idProduct}=="1015", MODE="0660", GROUP="plugdev" + '' + ; +}