update nixos configs - bin/screens: line to fix touchscreen rotation - add zathura config file (zathurarc) - nixos: - rearrange config files reusing most of configs in common-configuration.nix - add chuwi-configuration.nix
arnaucube git@arnaucube.com
Sat, 25 Jan 2025 19:25:09 +0100
12 files changed,
143 insertions(+),
102 deletions(-)
M
bin/screens
→
bin/screens
@@ -41,7 +41,9 @@
# for fixing touch screen # Check the input device ID with `xinput`. # Check the display device name with `xrandr`. +# # `xinput map-to-output <ID> <NAME>` # eg. xinput map-to-output 12 eDP-1 - - +# +# to rotate (90 degrees to right) the input of the touchscreen: +# `xinput set-prop 'pointer:Goodix Capacitive TouchScreen' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1`
A
bin/timeatlock
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash + +current_time=$(date +"%H:%M") +battery_level=$(cat "/sys/class/power_supply/BAT0/capacity") + +echo "timeatlock $current_time h, Battery level: $battery_level %"
M
i3/config
→
i3/config
@@ -177,7 +177,7 @@ # notifications in a floating panel instead of a new tiling window
for_window [window_role="alert"] floating enable # having installed feh (sudo apt install feh) -exec feh --bg-fill ~/Sync/wallpapers/geometry02_croped1920x1080.png +exec feh --bg-fill ~/Sync-tablet/wallpapers/geometry02_croped1920x1080.png exec xmodmap .Xmodmap # move current workspace to another display
M
install-new-desktop.sh
→
install-new-desktop.sh
@@ -14,12 +14,13 @@ cp ./.zshrc ~/.zshrc
cp ./.sh_alias ~/.sh_alias mkdir -p ~/bin -cp ./bin/ltx ~/bin/ -cp ./bin/screens ~/bin/ -cp ./bin/wk ~/bin/ +cp -r ./bin/* ~/bin/ cp -r ./alacritty ~/.config/ cp -r ./i3status ~/.config/ + +mkdir -p ~/.config/zathura +cp ./zathurarc ~/.config/zathura/ # assuming that Rust is installed
M
nixos/README.md
→
nixos/README.md
@@ -1,4 +1,7 @@
-from time to time run the following commands to remove stuff from old generations +After nixos installation and config files in place, run the `../install-new-desktop.sh` script to put in place all the config files (vim,nvim,tmux,i3,etc) + + +From time to time run the following commands to remove stuff from old generations ``` # list old generations sudo nix-env --list-generations --profile /nix/var/nix/profiles/system@@ -9,6 +12,10 @@
# remove old generations except the last 5 generations sudo nix-env --profile /nix/var/nix/profiles/system --delete-generations +5 + +# update +`sudo nix-channel --update` +`sudo nixos-rebuild switch` # to remove old programs nix-collect-garbage --delete-old
A
nixos/chuwi-configuration.nix
@@ -0,0 +1,66 @@
+# This file is meant to be renamed to `configuration.nix` +# Chuwi minibook NixOS configuration + +{ config, pkgs, ... }: + +{ + imports = + [ + ./common-configuration.nix + ./hardware-configuration.nix + ./private-configuration.nix + ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + networking.hostName = "chuwi"; # Define your hostname. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + # Enable networking + networking.networkmanager.enable = true; + hardware.cpu.intel.updateMicrocode = true; + + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.user = { + isNormalUser = true; + description = "user"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; []; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # 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 = "24.11"; # Did you read the comment? + + # Chuwi specific: + # fix wifi issues + boot.kernelPackages = pkgs.linuxPackages_latest; + + # fix screen rotation issue + boot.kernelParams = [ + "fbcon=rotate:1" + ]; + services.xserver.xrandrHeads = [ + { + monitorConfig = "Option \"Rotate\" \"right\""; + output = "DSI-1"; + } + ]; + + # some extra packages + environment.systemPackages = with pkgs; [ + # note taking + rnote + xournalpp + ]; +}
M
nixos/common-configuration.nix
→
nixos/common-configuration.nix
@@ -21,6 +21,28 @@ LC_TELEPHONE = "es_ES.UTF-8";
LC_TIME = "es_ES.UTF-8"; }; + services.displayManager = { + defaultSession = "none+i3"; + }; + services.xserver = { + xkb = { # Configure keymap in X11 + layout = "us"; + variant = ""; + }; + + enable=true; + #displayManager = { + # defaultSession = "none+i3"; + #}; + windowManager.i3 = { + enable=true; + extraPackages = with pkgs; [ + dmenu + i3status + i3lock + ]; + }; + }; environment.systemPackages = with pkgs; [ # utilities@@ -41,6 +63,7 @@ unzip
gnutar xorg.xmodmap # keyboard remapping xfce.xfce4-screenshooter + pulseaudio # code editors vim@@ -63,6 +86,11 @@ xfce.thunar
xfce.xfconf # needed to save preferences of thunar xfce.ristretto xfce.tumbler # for thumbnails of imgs + # for detecting usbs: + xfce.thunar-volman + gvfs + polkit_gnome + udiskie # media pavucontrol@@ -93,7 +121,7 @@ #gcc
clang clang-tools pkg-config - openssl + openssl.dev stdenv rustup wabt # wasm binary toolkit@@ -129,8 +157,21 @@ programs.zsh.enable = true;
users.defaultUserShell = pkgs.zsh; environment.shells = with pkgs; [zsh]; + # set default pdf reader to zathura xdg.mime.enable=true; + environment.sessionVariables = { + BROWSER = "zathura"; + }; xdg.mime.defaultApplications = { "application/pdf" = "zathura"; }; + + # gvfs needed for Thunar to detect external disks + services.gvfs.enable = true; + + # bluetooth related + hardware.bluetooth.enable = true; + services.blueman.enable = true; + + #hardware.pulseaudio.enable = true; }
M
nixos/surface-configuration.nix
→
nixos/surface-configuration.nix
@@ -1,8 +1,5 @@
# This file is meant to be renamed to `configuration.nix` - -# 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’). +# Surface Go 2 NixOS configuration { config, pkgs, ... }:@@ -24,7 +21,7 @@ boot.initrd.secrets = {
"/crypto_keyfile.bin" = null; }; - networking.hostName = "nixos"; # Define your hostname. + networking.hostName = "surface"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary@@ -34,35 +31,6 @@
# Enable networking networking.networkmanager.enable = true; - # Set your time zone. - time.timeZone = "Europe/Madrid"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ALL = "en_US.UTF-8"; - }; - - # Configure keymap in X11 - services.xserver = { - layout = "us"; - xkbVariant = ""; - - enable=true; - displayManager = { - defaultSession = "none+i3"; - }; - windowManager.i3 = { - enable=true; - extraPackages = with pkgs; [ - dmenu - i3status - i3lock - ]; - }; - }; - # Define a user account. Don't forget to set a password with ‘passwd’. users.users.userc = { isNormalUser = true;@@ -74,30 +42,6 @@
# Allow unfree packages nixpkgs.config.allowUnfree = true; - - programs.zsh.enable = true; - users.defaultUserShell = pkgs.zsh; - environment.shells = with pkgs; [zsh]; - - # 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; - # }; - - # List services that you want to enable: - - # 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@@ -108,10 +52,6 @@ system.stateVersion = "23.05"; # Did you read the comment?
# gvfs needed for Thunar to detect external disks services.gvfs.enable = true; - - # bluetooth related - hardware.bluetooth.enable = true; - services.blueman.enable = true; # obs virtual camera boot.extraModulePackages = with config.boot.kernelPackages; [
M
nixos/thinkpad-configuration.nix
→
nixos/thinkpad-configuration.nix
@@ -1,8 +1,5 @@
# This file is meant to be renamed to `configuration.nix` - -# 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’). +# Thinkpad NixOS configuration { config, pkgs, ... }:@@ -18,35 +15,12 @@ # Bootloader.
boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - networking.hostName = "nixos"; # Define your hostname. + networking.hostName = "thinkpad"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Enable networking networking.networkmanager.enable = true; - services.displayManager = { - defaultSession = "none+i3"; - }; - services.xserver = { - xkb = { # Configure keymap in X11 - layout = "us"; - variant = ""; - }; - - enable=true; - #displayManager = { - # defaultSession = "none+i3"; - #}; - windowManager.i3 = { - enable=true; - extraPackages = with pkgs; [ - dmenu - i3status - i3lock - ]; - }; - }; - # Define a user account users.users.user = { isNormalUser = true;@@ -69,10 +43,6 @@ system.stateVersion = "24.05"; # Did you read the comment?
# gvfs needed for Thunar to detect external disks services.gvfs.enable = true; - - # bluetooth related - hardware.bluetooth.enable = true; - services.blueman.enable = true; hardware.pulseaudio.enable = true; }
M
vimconfigbase.vim
→
vimconfigbase.vim
@@ -42,3 +42,6 @@ set pastetoggle=<F3>
" set ignorecase " do case insensitive search set incsearch " show incremental search results as you type + +" disable mouse +set mouse=
A
zathurarc
@@ -0,0 +1,3 @@
+" this file goes at ~/.config/zathura/zathurarc + +map <C-o> exec "zathura $FILE"