summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstuebinm2024-02-11 00:17:07 +0100
committerstuebinm2024-02-11 00:21:08 +0100
commitd12184c99b528cddf0676608d290e50932d1656c (patch)
tree4ea6b098cc96cbd35fba26458e5e65c9aed10054
parent9f6cdc0e3ce29f7680878627402fb61af9ebcbd8 (diff)
guixify surltesh-echer
initial config, the system is now a mess with lots of old nix stuff still hanging out on the disk. Tbh not sure if I'll do much with this, but wanted to play around a little with this again.
-rw-r--r--surltesh-echer/configuration.nix38
-rw-r--r--surltesh-echer/configuration.scm117
-rw-r--r--surltesh-echer/hardware-configuration.nix26
-rw-r--r--surltesh-echer/home/bash_profile5
-rw-r--r--surltesh-echer/home/bashrc36
-rw-r--r--surltesh-echer/home/home-configuration.scm66
6 files changed, 224 insertions, 64 deletions
diff --git a/surltesh-echer/configuration.nix b/surltesh-echer/configuration.nix
deleted file mode 100644
index 0b5dab9..0000000
--- a/surltesh-echer/configuration.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ config, pkgs, ... }:
-
-{
- imports =
- [
- ./hardware-configuration.nix
- ];
-
- # Use the GRUB 2 boot loader.
- boot.loader.grub.enable = true;
- boot.loader.grub.device = "/dev/sda";
-
- networking.hostName = "surltesh-echer"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
-
- # Set your time zone.
- time.timeZone = "Europe/Amsterdam";
-
- networking = {
- networkmanager.enable = true;
- useDHCP = false;
- interfaces = {
- enp0s25.useDHCP = true;
- wlp3s0.useDHCP = true;
- wwp0s20u4i6.useDHCP = 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 = "20.09"; # Did you read the comment?
-
-}
-
diff --git a/surltesh-echer/configuration.scm b/surltesh-echer/configuration.scm
new file mode 100644
index 0000000..bea816a
--- /dev/null
+++ b/surltesh-echer/configuration.scm
@@ -0,0 +1,117 @@
+(use-modules (gnu)
+ (guix packages)
+ (guix git-download)
+ (gnu system)
+ (gnu services)
+ (guix gexp)
+ (srfi srfi-1))
+
+(use-package-modules
+ bootloaders certs
+ emacs
+ terminals
+ wm xdisorg shells admin
+ version-control
+ nss)
+
+(use-service-modules desktop
+ base)
+
+(define wlroots-0.15
+ (package
+ (inherit wlroots)
+ (version "0.15.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.freedesktop.org/wlroots/wlroots")
+ (commit version)))
+ (file-name (git-file-name "wlroots" version))
+ (sha256
+ (base32 "00s73nhi3sc48l426jdlqwpclg41kx1hv0yk4yxhbzw19gqpfm1h"))))))
+
+
+(define-public hikari-patched
+ (package
+ (inherit hikari)
+ (inputs (modify-inputs (package-inputs hikari)
+ (replace "wlroots" wlroots-0.15)))))
+
+
+(operating-system
+ (host-name "surltesh-echer")
+ (timezone "Europe/Paris")
+ (locale "en_US.utf8")
+
+ ;; Use the UEFI variant of GRUB with the EFI System
+ ;; Partition mounted on /boot/efi.
+ (bootloader (bootloader-configuration
+ (bootloader grub-bootloader)
+ (targets '("/dev/sda"))))
+
+ ;; Assume the target root file system is labelled "my-root",
+ ;; and the EFI System Partition has UUID 1234-ABCD.
+ (file-systems (append
+ (list (file-system
+ (device "/dev/sda1")
+ (mount-point "/")
+ (type "ext4")))
+ %base-file-systems))
+
+ (users (cons (user-account
+ (name "stuebinm")
+ (group "users")
+ (supplementary-groups '("wheel" "netdev"
+ "audio" "video"))
+ (shell (file-append fish "/bin/fish")))
+ %base-user-accounts))
+
+ ;; Add a bunch of window managers; we can choose one at
+ ;; the log-in screen with F1.
+ (packages (append (list
+ ;; window managers
+ hikari-patched
+ emacs kitty fuzzel git
+ fish
+ ;; for HTTPS access
+ nss-certs)
+ %base-packages))
+
+ ;; Use the "desktop" services, which include the X11
+ ;; log-in service, networking with NetworkManager, and more.
+ (services
+ (append (modify-services
+ %desktop-services
+ (delete mingetty-service-type))
+ (list
+ (service greetd-service-type
+ (greetd-configuration
+ (terminals
+ (list
+ (greetd-terminal-configuration
+ (terminal-vt "1")
+ (terminal-switch #t)
+ (default-session-command
+ (greetd-agreety-session
+ (command (file-append hikari-patched "/bin/hikari"))
+ (command-args '("-c" "hikari.conf"))
+ ))
+ )))))
+ (service mingetty-service-type
+ (mingetty-configuration (tty "tty2")))
+ (service mingetty-service-type
+ (mingetty-configuration (tty "tty3")))
+ (service mingetty-service-type
+ (mingetty-configuration (tty "tty4")))
+ (service mingetty-service-type
+ (mingetty-configuration (tty "tty5")))
+ (service mingetty-service-type
+ (mingetty-configuration (tty "tty6")))
+ (service mingetty-service-type
+ (mingetty-configuration (tty "tty7")))
+ (service mingetty-service-type
+ (mingetty-configuration (tty "tty8")))
+ )))
+
+ ;; Allow resolution of '.local' host names with mDNS.
+ (name-service-switch %mdns-host-lookup-nss))
diff --git a/surltesh-echer/hardware-configuration.nix b/surltesh-echer/hardware-configuration.nix
deleted file mode 100644
index 4cfe83b..0000000
--- a/surltesh-echer/hardware-configuration.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-# 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" "ehci_pci" "ahci" "usb_storage" "sd_mod" "sdhci_pci" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/9cc0a379-0671-4f2e-86ef-9f38f3db3b41";
- fsType = "ext4";
- };
-
- swapDevices =
- [ { device = "/dev/disk/by-uuid/7d644f80-1042-4a9f-ace0-620b6a1c916f"; }
- ];
-
- powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
-}
diff --git a/surltesh-echer/home/bash_profile b/surltesh-echer/home/bash_profile
new file mode 100644
index 0000000..1db2b77
--- /dev/null
+++ b/surltesh-echer/home/bash_profile
@@ -0,0 +1,5 @@
+# include .profile if it exists
+[[ -f ~/.profile ]] && . ~/.profile
+
+# include .bashrc if it exists
+[[ -f ~/.bashrc ]] && . ~/.bashrc
diff --git a/surltesh-echer/home/bashrc b/surltesh-echer/home/bashrc
new file mode 100644
index 0000000..9c2ee2d
--- /dev/null
+++ b/surltesh-echer/home/bashrc
@@ -0,0 +1,36 @@
+
+
+# Commands that should be applied only for interactive shells.
+[[ $- == *i* ]] || return
+
+HISTCONTROL=ignoredups:ignorespace
+HISTFILESIZE=10000
+HISTSIZE=10000
+
+shopt -s histappend
+shopt -s checkwinsize
+shopt -s extglob
+shopt -s globstar
+shopt -s checkjobs
+
+alias ll='ls -slF'
+alias lrz-vpn='sudo openconnect https://asa-cluster.lrz.de -g AnyConnect'
+alias news='newsboat'
+alias pj='pijul'
+
+if [[ ! -v BASH_COMPLETION_VERSINFO ]]; then
+ . "/nix/store/9xgx98k6ggq1ay63cq57k9gw35i44b1n-bash-completion-2.11/etc/profile.d/bash_completion.sh"
+fi
+
+export GPG_TTY=`tty`
+# this shouldn't be necessary, but apparently nix is broken ...
+NIX_PATH=$HOME/.nix-defexpr/channels${NIX_PATH:+:}$NIX_PATH
+PS1='\[\033[1;36m\] >>> [\j|\u@\w]\$: \[\033[00m\]'
+
+GPG_TTY="$(tty)"
+export GPG_TTY
+
+if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
+ eval "$(/home/stuebinm/.nix-profile/bin/starship init bash --print-full-init)"
+fi
+
diff --git a/surltesh-echer/home/home-configuration.scm b/surltesh-echer/home/home-configuration.scm
new file mode 100644
index 0000000..f44a68b
--- /dev/null
+++ b/surltesh-echer/home/home-configuration.scm
@@ -0,0 +1,66 @@
+;; This "home-environment" file can be passed to 'guix home reconfigure'
+;; to reproduce the content of your profile. This is "symbolic": it only
+;; specifies package names. To reproduce the exact same profile, you also
+;; need to capture the channels being used, as returned by "guix describe".
+;; See the "Replicating Guix" section in the manual.
+
+(use-modules (gnu)
+ (gnu home)
+ (gnu packages)
+ (gnu services)
+ (guix gexp)
+ (gnu home services shells)
+ (gnu home services ssh)
+ (gnu home services guix))
+
+(use-package-modules
+ bootloaders certs
+ emacs
+ terminals
+ wm xdisorg shells admin
+ version-control
+ haskell-apps
+ rust-apps
+ compression
+ linux
+ pulseaudio
+ ssh
+ nss)
+
+(home-environment
+ ;; Below is the list of packages that will show up in your
+ ;; Home profile, under ~/.guix-home/profile.
+ (packages (list git
+ ripgrep
+ fd eza zip unzip acpi
+ brightnessctl openssh
+ pavucontrol))
+
+ ;; Below is the list of Home services. To search for available
+ ;; services, run 'guix home search KEYWORD' in a terminal.
+ (services
+ (list
+ (service home-openssh-service-type
+ (home-openssh-configuration
+ (hosts
+ (list (openssh-host
+ (name "cgit")
+ (user "git")
+ (host-name "flora.stuebinm.eu")
+ (identity-file "/home/stuebinm/.ssh/hetzner"))
+ (openssh-host
+ (name "chaski")
+ (user "root")
+ (host-name "chaski.stuebinm.eu")
+ (identity-file "/home/stuebinm/.ssh/hetzner"))))))
+ (service home-fish-service-type
+ (home-fish-configuration))
+ (service home-bash-service-type
+ (home-bash-configuration
+ (aliases '(("ll" . "ls -slF")
+ ("lrz-vpn" . "sudo openconnect https://asa-cluster.lrz.de -g AnyConnect")
+ ("news" . "newsboat")
+ ("pj" . "pijul")))
+ (bashrc (list (local-file "bashrc" "bashrc")))
+ (bash-profile (list (local-file "bash_profile"
+ "bash_profile"))))))))