summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian T <julian@jtle.dk>2020-10-01 20:18:58 +0200
committerJulian T <julian@jtle.dk>2020-10-01 20:18:58 +0200
commitb6e6f75621d5a01f73f2530f8ef2ffa7c37afdb0 (patch)
tree59565ba80fd0f8c975fcd5be8886ebabdb3c3254
parent00fd16c8d2880dc829465f52a77ae363200301c8 (diff)
Added slstatus and bluetooth sound
-rw-r--r--configuration.nix31
-rw-r--r--slstatus.h72
2 files changed, 93 insertions, 10 deletions
diff --git a/configuration.nix b/configuration.nix
index 48fa165..2bbdfa1 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -20,14 +20,29 @@
device = "/dev/sda";
};
tmpOnTmpfs = true;
+ supportedFilesystems = [ "ntfs" ];
};
+ # Enable sound.
+ sound.enable = true;
+
hardware = {
opengl.enable = true;
enableRedistributableFirmware = true;
# Thinkpad stuff
acpilight.enable = true;
+
+ bluetooth.enable = true;
+
+ pulseaudio = {
+ enable = true;
+ # Stupid but need it to control sound from acpid
+ # systemWide = true;
+
+ # Enable bluetooth audio
+ package = pkgs.pulseaudioFull;
+ };
};
networking = {
@@ -67,13 +82,6 @@
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
- # Enable sound.
- sound.enable = true;
- hardware.pulseaudio.enable = true;
- # Stupid but need it to control sound from acpid
- # hardware.pulseaudio.systemWide = true;
-
-
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
@@ -147,6 +155,8 @@
# Enable CUPS to print documents.
printing.enable = true;
+
+ blueman.enable = true;
};
# Define a user account. Don't forget to set a password with ‘passwd’.
@@ -184,7 +194,7 @@
# General stuff
wget vim neovim git htop zsh stow pass tree dnsutils gnupg zip
unzip gopass tig file imagemagick whois nmap usbutils lshw gnumake
- aspell aspellDicts.da pv acpi jq killall netcat-gnu perl gopass
+ aspell aspellDicts.da aspellDicts.en pv acpi jq killall netcat-gnu perl gopass
cowsay
# Landuage support
@@ -204,12 +214,13 @@
termite quasselClient nomacs wireshark spotify pavucontrol fractal
gnome3.file-roller geogebra gnome3.gnome-calculator
gnome3.simple-scan vlc xorg.xev gnome3.evolution
- evolution-data-server vimHugeX
+ evolution-data-server vimHugeX tor-browser-bundle-bin
(mumble.override { pulseSupport = true; })
+ (slstatus.override { conf = (builtins.readFile ./slstatus.h); })
# Other stuff
# texlive.combined.scheme-full biber
- aldo
+ aldo nitrokey-udev-rules nitrokey-app
# Hardware stuff. X230
linuxPackages.acpi_call
diff --git a/slstatus.h b/slstatus.h
new file mode 100644
index 0000000..bd72560
--- /dev/null
+++ b/slstatus.h
@@ -0,0 +1,72 @@
+
+/* See LICENSE file for copyright and license details. */
+
+/* interval between updates (in ms) */
+const unsigned int interval = 1000;
+
+/* text to show if no value can be retrieved */
+static const char unknown_str[] = "n/a";
+
+/* maximum output string length */
+#define MAXLEN 2048
+
+/*
+ * function description argument (example)
+ *
+ * battery_perc battery percentage battery name (BAT0)
+ * NULL on OpenBSD/FreeBSD
+ * battery_state battery charging state battery name (BAT0)
+ * NULL on OpenBSD/FreeBSD
+ * battery_remaining battery remaining HH:MM battery name (BAT0)
+ * NULL on OpenBSD/FreeBSD
+ * cpu_perc cpu usage in percent NULL
+ * cpu_freq cpu frequency in MHz NULL
+ * datetime date and time format string (%F %T)
+ * disk_free free disk space in GB mountpoint path (/)
+ * disk_perc disk usage in percent mountpoint path (/)
+ * disk_total total disk space in GB mountpoint path (/")
+ * disk_used used disk space in GB mountpoint path (/)
+ * entropy available entropy NULL
+ * gid GID of current user NULL
+ * hostname hostname NULL
+ * ipv4 IPv4 address interface name (eth0)
+ * ipv6 IPv6 address interface name (eth0)
+ * kernel_release `uname -r` NULL
+ * keyboard_indicators caps/num lock indicators format string (c?n?)
+ * see keyboard_indicators.c
+ * keymap layout (variant) of current NULL
+ * keymap
+ * load_avg load average NULL
+ * netspeed_rx receive network speed interface name (wlan0)
+ * netspeed_tx transfer network speed interface name (wlan0)
+ * num_files number of files in a directory path
+ * (/home/foo/Inbox/cur)
+ * ram_free free memory in GB NULL
+ * ram_perc memory usage in percent NULL
+ * ram_total total memory size in GB NULL
+ * ram_used used memory in GB NULL
+ * run_command custom shell command command (echo foo)
+ * swap_free free swap in GB NULL
+ * swap_perc swap usage in percent NULL
+ * swap_total total swap size in GB NULL
+ * swap_used used swap in GB NULL
+ * temp temperature in degree celsius sensor file
+ * (/sys/class/thermal/...)
+ * NULL on OpenBSD
+ * thermal zone on FreeBSD
+ * (tz0, tz1, etc.)
+ * uid UID of current user NULL
+ * uptime system uptime NULL
+ * username username of current user NULL
+ * vol_perc OSS/ALSA volume in percent mixer file (/dev/mixer)
+ * wifi_perc WiFi signal in percent interface name (wlan0)
+ * wifi_essid WiFi ESSID interface name (wlan0)
+ */
+static const struct arg args[] = {
+ /* function format argument */
+ { vol_perc, "[V:%s] ", "/dev/mixer" },
+ { ram_free, "[F:%s] ", NULL },
+ { battery_perc, "[B:%s,", "BAT0" },
+ { battery_state, "%s] ", "BAT0" },
+ { datetime, "%s", "%F %T" },
+};