mirror of
https://github.com/ellmau/nixos.git
synced 2025-12-19 09:29:36 +01:00
Clean directory
This commit is contained in:
parent
008021d094
commit
49cc4dfbe9
@ -1,4 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
imports = [ ./graphical.nix ];
|
|
||||||
}
|
|
||||||
@ -1,64 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
let
|
|
||||||
isgraphical = config.variables.graphical;
|
|
||||||
cursorsize = if config.variables.hostName == "nucturne" then 14 else 16;
|
|
||||||
xserverDPI = if config.variables.hostName == "stel-xps" then 180 else null;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
networking.networkmanager.enable = isgraphical;
|
|
||||||
|
|
||||||
services = {
|
|
||||||
xserver = {
|
|
||||||
enable = isgraphical;
|
|
||||||
# dpi = xserverDPI;
|
|
||||||
displayManager.lightdm = {
|
|
||||||
enable = isgraphical;
|
|
||||||
greeters.gtk.cursorTheme.size = cursorsize;
|
|
||||||
};
|
|
||||||
# displayManager.sessionCommands = ''
|
|
||||||
# ${pkgs.xorg.xrdb}/bin/xrdb -merge <<EOF
|
|
||||||
# Xcursor.size: 14
|
|
||||||
# EOF
|
|
||||||
# '';
|
|
||||||
windowManager.i3 = {
|
|
||||||
enable = isgraphical;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
rofi # launcher
|
|
||||||
polybarFull # bar
|
|
||||||
i3lock # lock screen
|
|
||||||
xss-lock
|
|
||||||
autorandr
|
|
||||||
];
|
|
||||||
extraSessionCommands = ''
|
|
||||||
${pkgs.autorandr}/bin/autorandr -c
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
layout = "us";
|
|
||||||
xkbOptions = "eurosign:e";
|
|
||||||
};
|
|
||||||
gnome.gnome-keyring.enable = true;
|
|
||||||
|
|
||||||
printing.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
sound.enable = isgraphical;
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
pulseaudio.enable = isgraphical;
|
|
||||||
bluetooth.enable = isgraphical;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.blueman.enable = isgraphical;
|
|
||||||
|
|
||||||
environment.systemPackages = if isgraphical then with pkgs; [
|
|
||||||
firefox
|
|
||||||
#alacritty
|
|
||||||
thunderbird
|
|
||||||
okular
|
|
||||||
texlive.combined.scheme-full
|
|
||||||
usbutils
|
|
||||||
keepassxc
|
|
||||||
gnome.libsecret
|
|
||||||
arandr
|
|
||||||
] else [ ];
|
|
||||||
}
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
config = lib.mkIf config.variables.server {
|
|
||||||
services.sshd.enable = true;
|
|
||||||
imports = [
|
|
||||||
../services
|
|
||||||
../secrets
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
final: prev:
|
|
||||||
{
|
|
||||||
tray-calendar = final.callPackage ./pkgs/tray-calendar {};
|
|
||||||
}
|
|
||||||
@ -1,29 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, python3
|
|
||||||
, gtk3
|
|
||||||
, gobject-introspection
|
|
||||||
, wrapGAppsHook
|
|
||||||
, lib
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "tray-calendar";
|
|
||||||
version = "0.9";
|
|
||||||
src = ./traycalendar.py;
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
(python3.withPackages (pyPkgs: with pyPkgs; [
|
|
||||||
pygobject3
|
|
||||||
]))
|
|
||||||
gtk3
|
|
||||||
gobject-introspection
|
|
||||||
];
|
|
||||||
nativeBuildInputs = [ wrapGAppsHook ];
|
|
||||||
|
|
||||||
dontUnpack = true;
|
|
||||||
installPhase = "install -m755 -D $src $out/bin/traycalendar";
|
|
||||||
meta = {
|
|
||||||
license = lib.licenses.gpl3Only;
|
|
||||||
homepage = "https://github.com/vifon/TrayCalendar";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,215 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
########################################################################
|
|
||||||
# Copyright (C) 2015-2018 Wojciech Siewierski #
|
|
||||||
# #
|
|
||||||
# This program is free software; you can redistribute it and/or #
|
|
||||||
# modify it under the terms of the GNU General Public License #
|
|
||||||
# as published by the Free Software Foundation; either version 3 #
|
|
||||||
# of the License, or (at your option) any later version. #
|
|
||||||
# #
|
|
||||||
# This program is distributed in the hope that it will be useful, #
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
|
||||||
# GNU General Public License for more details. #
|
|
||||||
# #
|
|
||||||
# You should have received a copy of the GNU General Public License #
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
|
|
||||||
########################################################################
|
|
||||||
|
|
||||||
|
|
||||||
import functools
|
|
||||||
import glob
|
|
||||||
import os.path
|
|
||||||
import re
|
|
||||||
from collections import defaultdict
|
|
||||||
from os import getenv
|
|
||||||
|
|
||||||
import gi
|
|
||||||
gi.require_version('Gtk', '3.0')
|
|
||||||
from gi.repository import Gtk, Gdk
|
|
||||||
|
|
||||||
|
|
||||||
DEFAULT_ORG_DIRECTORY = os.path.join(getenv('HOME'), "org")
|
|
||||||
ORG_GLOB = '*.org'
|
|
||||||
ORG_ARCHIVE_SUFFIX = '_archive.org'
|
|
||||||
|
|
||||||
|
|
||||||
def org_agenda_files(directory):
|
|
||||||
org_abs = functools.partial(os.path.join, directory)
|
|
||||||
agenda_files_path = org_abs('.agenda-files')
|
|
||||||
try:
|
|
||||||
with open(agenda_files_path) as agenda_files:
|
|
||||||
yield from (org_abs(f.rstrip('\n')) for f in agenda_files)
|
|
||||||
except FileNotFoundError:
|
|
||||||
for filename in glob.iglob(os.path.join(directory, ORG_GLOB)):
|
|
||||||
if not filename.endswith(ORG_ARCHIVE_SUFFIX):
|
|
||||||
yield filename
|
|
||||||
|
|
||||||
|
|
||||||
def scan_org_for_events(org_directories):
|
|
||||||
"""Search the org files for the calendar events.
|
|
||||||
|
|
||||||
Scans the passed directories for the .org files and saves the events
|
|
||||||
found there into a multilevel dict of lists: events[year][month][day]
|
|
||||||
|
|
||||||
The returned dict uses defaultdict so *do not* rely on the
|
|
||||||
KeyError exception etc.! Check if the element exists with
|
|
||||||
.get(key) before accessing it!
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
def year_dict():
|
|
||||||
return defaultdict(month_dict)
|
|
||||||
def month_dict():
|
|
||||||
return defaultdict(day_dict)
|
|
||||||
def day_dict():
|
|
||||||
return defaultdict(event_list)
|
|
||||||
def event_list():
|
|
||||||
return list()
|
|
||||||
|
|
||||||
events = year_dict()
|
|
||||||
for org_directory in org_directories:
|
|
||||||
for filename in org_agenda_files(org_directory):
|
|
||||||
with open(filename, "r") as filehandle:
|
|
||||||
last_heading = None
|
|
||||||
for line in filehandle:
|
|
||||||
heading_match = re.search(r'^\*+\s+(.*)', line)
|
|
||||||
if heading_match:
|
|
||||||
last_heading = heading_match.group(1)
|
|
||||||
# strip the tags
|
|
||||||
last_heading = re.sub(r'\s*\S*$', last_heading, '')
|
|
||||||
match = re.search(r'<(\d{4})-(\d{2})-(\d{2}).*?>', line)
|
|
||||||
if match:
|
|
||||||
year, month, day = [ int(field) for field in match.group(1,2,3) ]
|
|
||||||
month -= 1 # months are indexed from 0 in Gtk.Calendar
|
|
||||||
events[year][month][day].append(last_heading)
|
|
||||||
return events
|
|
||||||
|
|
||||||
class CalendarWindow(object):
|
|
||||||
|
|
||||||
def __init__(self, org_directories):
|
|
||||||
self.window = Gtk.Window()
|
|
||||||
self.window.set_wmclass("traycalendar", "TrayCalendar")
|
|
||||||
|
|
||||||
self.window.set_resizable(False)
|
|
||||||
self.window.set_decorated(False)
|
|
||||||
self.window.set_gravity(Gdk.Gravity.STATIC)
|
|
||||||
|
|
||||||
window_width = 300
|
|
||||||
|
|
||||||
# Set the window geometry.
|
|
||||||
geometry = Gdk.Geometry()
|
|
||||||
geometry.min_width = window_width
|
|
||||||
geometry.max_width = window_width
|
|
||||||
geometry.base_width = window_width
|
|
||||||
self.window.set_geometry_hints(
|
|
||||||
None, geometry,
|
|
||||||
Gdk.WindowHints.MIN_SIZE |
|
|
||||||
Gdk.WindowHints.MAX_SIZE |
|
|
||||||
Gdk.WindowHints.BASE_SIZE)
|
|
||||||
|
|
||||||
# Create the listview for the calendar events.
|
|
||||||
list_model = Gtk.ListStore(str)
|
|
||||||
list_view = Gtk.TreeView(list_model)
|
|
||||||
list_column = Gtk.TreeViewColumn("Events", Gtk.CellRendererText(), text=0)
|
|
||||||
list_column.set_fixed_width(window_width)
|
|
||||||
list_view.append_column(list_column)
|
|
||||||
|
|
||||||
# Create the calendar widget.
|
|
||||||
calendar = Gtk.Calendar()
|
|
||||||
self.calendar_events = scan_org_for_events(org_directories)
|
|
||||||
calendar.connect('month-changed', self.mark_calendar_events)
|
|
||||||
calendar.connect('day-selected', self.display_event_list, list_model)
|
|
||||||
self.mark_calendar_events(calendar)
|
|
||||||
self.display_event_list(calendar, list_model)
|
|
||||||
|
|
||||||
close_button = Gtk.Button("Close")
|
|
||||||
close_button.connect('clicked', lambda event: self.window.destroy())
|
|
||||||
|
|
||||||
vbox = Gtk.VBox()
|
|
||||||
vbox.add(close_button)
|
|
||||||
vbox.add(calendar)
|
|
||||||
vbox.add(list_view)
|
|
||||||
|
|
||||||
self.window.add(vbox)
|
|
||||||
|
|
||||||
rootwin = self.window.get_screen().get_root_window()
|
|
||||||
# get_pointer is deprecated but using Gdk.Device.get_position
|
|
||||||
# is not viable here: we have no access to the pointing device.
|
|
||||||
screen, x, y, mask = rootwin.get_pointer()
|
|
||||||
x -= window_width
|
|
||||||
# Show the window right beside the cursor.
|
|
||||||
self.window.move(x,y)
|
|
||||||
|
|
||||||
self.window.show_all()
|
|
||||||
|
|
||||||
def mark_calendar_events(self, calendar):
|
|
||||||
"""Update the days with calendar events list for the selected month."""
|
|
||||||
year, month, day = calendar.get_date()
|
|
||||||
calendar.freeze_notify()
|
|
||||||
calendar.clear_marks()
|
|
||||||
for day in self.calendar_events[year][month]:
|
|
||||||
calendar.mark_day(day)
|
|
||||||
calendar.thaw_notify()
|
|
||||||
|
|
||||||
def display_event_list(self, calendar, event_list):
|
|
||||||
"""Update the calendar event list for the selected day."""
|
|
||||||
year, month, day = calendar.get_date()
|
|
||||||
event_list.clear()
|
|
||||||
|
|
||||||
# get(day) used instead of [day] because we use defaultdict
|
|
||||||
# and it would create a new element.
|
|
||||||
events = self.calendar_events[year][month].get(day)
|
|
||||||
if events:
|
|
||||||
for event in events:
|
|
||||||
event_list.append([event])
|
|
||||||
|
|
||||||
|
|
||||||
def tray_mode(org_directories):
|
|
||||||
def on_left_click(event):
|
|
||||||
window = CalendarWindow(org_directories)
|
|
||||||
def on_right_click(button, time, data):
|
|
||||||
Gtk.main_quit()
|
|
||||||
statusicon = Gtk.StatusIcon()
|
|
||||||
statusicon.set_from_icon_name('x-office-calendar')
|
|
||||||
statusicon.connect('activate', on_left_click)
|
|
||||||
statusicon.connect('popup-menu', on_right_click)
|
|
||||||
Gtk.main()
|
|
||||||
|
|
||||||
def window_mode(org_directories):
|
|
||||||
window = CalendarWindow(org_directories)
|
|
||||||
window.window.connect('destroy', Gtk.main_quit)
|
|
||||||
Gtk.main()
|
|
||||||
|
|
||||||
def main(argv=None):
|
|
||||||
import argparse
|
|
||||||
parser = argparse.ArgumentParser()
|
|
||||||
parser.add_argument(
|
|
||||||
"--no-tray",
|
|
||||||
help="Show the calendar windows immediately and quit after it's closed.",
|
|
||||||
action='store_true',
|
|
||||||
)
|
|
||||||
parser.add_argument(
|
|
||||||
"--org-directory", "-d",
|
|
||||||
help="Directories to search for *.org; default: ~/org/.",
|
|
||||||
action='append',
|
|
||||||
dest='org_directories',
|
|
||||||
)
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
if not args.org_directories:
|
|
||||||
args.org_directories = [DEFAULT_ORG_DIRECTORY]
|
|
||||||
|
|
||||||
if args.no_tray:
|
|
||||||
window_mode(args.org_directories)
|
|
||||||
else:
|
|
||||||
tray_mode(args.org_directories)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
from sys import argv
|
|
||||||
|
|
||||||
# workaround for a pygobject bug
|
|
||||||
import signal
|
|
||||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
|
||||||
|
|
||||||
main(argv)
|
|
||||||
@ -1,12 +0,0 @@
|
|||||||
{ config, pkgs, ...}:
|
|
||||||
{
|
|
||||||
|
|
||||||
variables = {
|
|
||||||
hostName = "ellmauthaler";
|
|
||||||
server = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
domain = "net";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,38 +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" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/da267a3c-34e3-4218-933f-10738ee61eb6";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home" =
|
|
||||||
{ device = "/dev/disk/by-uuid/9ebd7aff-629b-449b-83d8-6381a04eb708";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/DE6D-C383";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/0069f1fa-dd8e-4c0a-8f01-a576af29909e"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
||||||
# high-resolution display
|
|
||||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
|
||||||
}
|
|
||||||
@ -1,58 +0,0 @@
|
|||||||
{ config, pkgs, ...}:
|
|
||||||
{
|
|
||||||
variables= {
|
|
||||||
hostName = "nucturne";
|
|
||||||
graphical = true;
|
|
||||||
git.signDefault = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.extraModulePackages = [
|
|
||||||
config.boot.kernelPackages.v4l2loopback
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.kernelModules = [
|
|
||||||
"v4l2loopback"
|
|
||||||
];
|
|
||||||
#networking.hostName = "nucturne"; # define the hostname
|
|
||||||
|
|
||||||
# users = {
|
|
||||||
# users.hpprinter = {
|
|
||||||
# description = "HP printer access to share";
|
|
||||||
# shell = pkgs.shadow;
|
|
||||||
# createHome = false;
|
|
||||||
# hashedPassword = "$6$qiIL8hOSK1FE7I6H$nAMW86l8O7/oJroOoaqG4WexGRQOOWBV8ooXy3/P7KE8ihQn9x0ScV2/BmvIxeMknGNPQhjD/mjmYn9VcNjAl1";
|
|
||||||
# isSystemUser = true;
|
|
||||||
# group = "hpprinter";
|
|
||||||
# };
|
|
||||||
# groups.hpprinter = {};
|
|
||||||
# };
|
|
||||||
|
|
||||||
# services.samba = {
|
|
||||||
# enable = true;
|
|
||||||
# securityType = "user";
|
|
||||||
# extraConfig = ''
|
|
||||||
# workgroup = WORKGROUP
|
|
||||||
# server string = nucturne
|
|
||||||
# netbios name = nucturne
|
|
||||||
# security = user
|
|
||||||
# #use sendfile = yes
|
|
||||||
# #max protocol = smb2
|
|
||||||
# hosts allow = 192.168.178.222 localhost
|
|
||||||
# hosts deny = 0.0.0.0/0
|
|
||||||
# guest account = nobody
|
|
||||||
# map to guest = bad user
|
|
||||||
# '';
|
|
||||||
# shares = {
|
|
||||||
# scans = {
|
|
||||||
# path = "/home/ellmau/scratch/scans";
|
|
||||||
# browseable = "yes";
|
|
||||||
# "read only" = "no";
|
|
||||||
# "guest ok" = "no";
|
|
||||||
# "create mask" = "0644";
|
|
||||||
# "directory mask" = "0755";
|
|
||||||
# "force user" = "ellmau";
|
|
||||||
# "force group" = "users";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
}
|
|
||||||
@ -1,38 +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" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/da267a3c-34e3-4218-933f-10738ee61eb6";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home" =
|
|
||||||
{ device = "/dev/disk/by-uuid/9ebd7aff-629b-449b-83d8-6381a04eb708";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/DE6D-C383";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/0069f1fa-dd8e-4c0a-8f01-a576af29909e"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
||||||
# high-resolution display
|
|
||||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
|
||||||
}
|
|
||||||
@ -1,30 +0,0 @@
|
|||||||
{ config, pkgs, ...}:
|
|
||||||
{
|
|
||||||
imports = [ ./printer.nix ];
|
|
||||||
|
|
||||||
variables = {
|
|
||||||
hostName = "stel-xps";
|
|
||||||
graphical = true;
|
|
||||||
git = {
|
|
||||||
key = "0x4998BEEE";
|
|
||||||
gpgsm = true;
|
|
||||||
signDefault = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
#networking.hostName = "stel-xps"; # define the hostname
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
brightnessctl
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.extraModulePackages = [
|
|
||||||
config.boot.kernelPackages.v4l2loopback
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.kernelModules = [
|
|
||||||
"v4l2loopback"
|
|
||||||
];
|
|
||||||
|
|
||||||
services.autorandr.enable = true;
|
|
||||||
services.xserver.desktopManager.wallpaper.mode = "fill";
|
|
||||||
}
|
|
||||||
@ -1,35 +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" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/6b7f9f80-af34-4317-b017-f883a2316674";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.initrd.luks.devices."crypted".device = "/dev/disk/by-uuid/9c84f143-023d-4fcb-a49c-ca78ce69e0e0";
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/4824-2CFD";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/93381a25-6704-408e-b091-cfda6cddbda0"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
||||||
# high-resolution display
|
|
||||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,87 +0,0 @@
|
|||||||
{ config, pkgs, ...}:
|
|
||||||
|
|
||||||
let
|
|
||||||
ppd-local = pkgs.stdenv.mkDerivation rec {
|
|
||||||
pname = "local-ppds";
|
|
||||||
version = "2021-07-04";
|
|
||||||
|
|
||||||
src = ./ppds;
|
|
||||||
|
|
||||||
phases = [ "unpackPhase" "installPhase" ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/share/cups/model/
|
|
||||||
cp -R Ricoh $out/share/cups/model
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
services.printing.drivers = with pkgs; [
|
|
||||||
foomatic-filters
|
|
||||||
gutenprint
|
|
||||||
hplip
|
|
||||||
] ++ [
|
|
||||||
ppd-local
|
|
||||||
];
|
|
||||||
|
|
||||||
hardware.printers.ensurePrinters = [
|
|
||||||
{
|
|
||||||
name = "hpm605";
|
|
||||||
location = "APB/3014";
|
|
||||||
description = "HP Laserjet Enterprise M605DN";
|
|
||||||
deviceUri = "hp:/net/HP_LaserJet_M605?hostname=hpm605.tcs.inf.tu-dresden.de";
|
|
||||||
model = "HP/hp-laserjet_m604_m605_m606-ps.ppd.gz";
|
|
||||||
ppdOptions = {
|
|
||||||
Collate = "True";
|
|
||||||
HPOption_Duplexer = "True";
|
|
||||||
HPOption_Tray4 = "HP500SheetInputTray";
|
|
||||||
HPOption_Tray3 = "HP500SheetInputTray";
|
|
||||||
MediaType = "Recycled";
|
|
||||||
Duplex = "DuplexNoTumble";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "A4";
|
|
||||||
location = "APB/3014";
|
|
||||||
description = "HP Laserjet 9040";
|
|
||||||
deviceUri = "socket://a4.tcs.inf.tu-dresden.de";
|
|
||||||
model = "HP/hp-laserjet_9040-ps.ppd.gz";
|
|
||||||
ppdOptions = {
|
|
||||||
PageSize = "A4";
|
|
||||||
HPOption_Tray1 = "True";
|
|
||||||
HPOption_Duplexer = "True";
|
|
||||||
InstalledMemory = "128-255MB";
|
|
||||||
MediaType = "Plain";
|
|
||||||
Duplex = "DuplexNoTumble";
|
|
||||||
Collate = "True";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "ricoh";
|
|
||||||
location = "APB/3014";
|
|
||||||
description = "Ricoh SP 4510DN";
|
|
||||||
deviceUri = "socket://ricoh.tcs.inf.tu-dresden.de";
|
|
||||||
model = "Ricoh/ricoh-sp-4510dn.ppd";
|
|
||||||
ppdOptions = {
|
|
||||||
OptionTray = "2Cassette";
|
|
||||||
PageSize = "A4";
|
|
||||||
InputSlot = "3Tray";
|
|
||||||
Duplex = "none";
|
|
||||||
RIPaperPolicy = "NearestSizeAdjust";
|
|
||||||
pdftops-render-default = "pdftocairo";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "ricohcolor";
|
|
||||||
location = "APB/3014";
|
|
||||||
description = "Ricoh Alficio MP C307";
|
|
||||||
deviceUri = "socket://color.tcs.inf.tu-dresden.de";
|
|
||||||
model = "Ricoh/ricoh-mp-c307.ppd";
|
|
||||||
ppdOptions = {
|
|
||||||
media = "A4";
|
|
||||||
OptionTray = "1Cassette";
|
|
||||||
RIPostScript = "Adobe";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@ -34,8 +34,8 @@
|
|||||||
|
|
||||||
# enable server services
|
# enable server services
|
||||||
server = {
|
server = {
|
||||||
enable = true;
|
enable = false;
|
||||||
nextcloud.enable = true;
|
nextcloud.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -12,9 +12,5 @@ with lib; {
|
|||||||
secrets.example_key.format = "yaml";
|
secrets.example_key.format = "yaml";
|
||||||
|
|
||||||
};
|
};
|
||||||
sops.secrets = {
|
|
||||||
storemin.sopsFile = ../secrets/server.yaml;
|
|
||||||
cloudstore_user.sopsFile = ../secrets/server.yaml;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,25 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
#imports = [ <home-manager/nixos> ];
|
|
||||||
imports = [
|
|
||||||
./ellmau
|
|
||||||
];
|
|
||||||
home-manager = {
|
|
||||||
useUserPackages = true;
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
users = {
|
|
||||||
mutableUsers = false;
|
|
||||||
users = {
|
|
||||||
ellmau = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" "networkmanager" "audio"];
|
|
||||||
description = "Stefan Ellmauthaler";
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
home = "/home/ellmau";
|
|
||||||
hashedPassword = "$6$JZPnaZYG$KL2c3e1it3j2avioovE1WveN/mpmq/tPsSAvHY1XRhtqKaE7TaSQkqRy69farkIR0Xs0.yTjltvKvv28kZtLO1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
config = lib.mkIf config.variables.graphical {
|
|
||||||
home-manager.users.ellmau.programs.alacritty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
window = {
|
|
||||||
decorations = "full";
|
|
||||||
};
|
|
||||||
alt_send_esc = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,122 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
home-manager.users.ellmau = {
|
|
||||||
programs.autorandr = {
|
|
||||||
enable = config.variables.graphical;
|
|
||||||
profiles = {
|
|
||||||
"home" = {
|
|
||||||
fingerprint = {
|
|
||||||
DP-1 = "00ffffffffffff0009d1507945540000221e0104b54627783f5995af4f42af260f5054a56b80d1c0b300a9c08180810081c0010101014dd000a0f0703e8030203500ba892100001a000000ff004e384c30323634373031390a20000000fd00283c87873c010a202020202020000000fc0042656e5120455733323730550a01bc02033af1515d5e5f6061101f222120051404131203012309070783010000e200c06d030c0020003878200060010203e305e001e6060501544c2ca36600a0f0701f8030203500ba892100001a565e00a0a0a029502f203500ba892100001abf650050a0402e6008200808ba892100001c000000000000000000000000000000bf";
|
|
||||||
eDP-1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006";
|
|
||||||
};
|
|
||||||
config = {
|
|
||||||
eDP-1.enable = false;
|
|
||||||
DP-1 = {
|
|
||||||
enable = true;
|
|
||||||
crtc = 1;
|
|
||||||
primary = true;
|
|
||||||
position = "0x0";
|
|
||||||
mode = "3840x2160";
|
|
||||||
dpi = 96;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"mobile" = {
|
|
||||||
fingerprint.eDP-1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006";
|
|
||||||
config = {
|
|
||||||
eDP-1 = {
|
|
||||||
enable = true;
|
|
||||||
primary = true;
|
|
||||||
mode = "3840x2160";
|
|
||||||
dpi = 192;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"work" = {
|
|
||||||
fingerprint = {
|
|
||||||
eDP-1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006";
|
|
||||||
DP-2 = "00ffffffffffff0010acb5414c4133452c1e0104b53c22783eee95a3544c99260f5054a54b00e1c0d100d1c0b300a94081808100714f4dd000a0f0703e803020350055502100001a000000ff0031444e593132330a2020202020000000fd00184b1e8c36010a202020202020000000fc0044454c4c205532373230510a2001af020319f14c101f2005140413121103020123097f0783010000a36600a0f0703e803020350055502100001a565e00a0a0a029503020350055502100001a114400a0800025503020360055502100001a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d9";
|
|
||||||
};
|
|
||||||
config = {
|
|
||||||
eDP-1 = {
|
|
||||||
enable = true;
|
|
||||||
crtc = 0;
|
|
||||||
position = "3840x0";
|
|
||||||
mode = "3840x2160";
|
|
||||||
#dpi = 288;
|
|
||||||
dpi = 96;
|
|
||||||
};
|
|
||||||
DP-2 = {
|
|
||||||
enable = true;
|
|
||||||
primary = true;
|
|
||||||
mode = "3840x2160";
|
|
||||||
#dpi = 144;
|
|
||||||
dpi = 96;
|
|
||||||
position = "0x0";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"home-nuc" = {
|
|
||||||
fingerprint = {
|
|
||||||
DP-2 = "00ffffffffffff0009d1507945540000221e0104b54627783f5995af4f42af260f5054a56b80d1c0b300a9c08180810081c0010101014dd000a0f0703e8030203500ba892100001a000000ff004e384c30323634373031390a20000000fd00283c87873c010a202020202020000000fc0042656e5120455733323730550a01bc02033af1515d5e5f6061101f222120051404131203012309070783010000e200c06d030c0020003878200060010203e305e001e6060501544c2ca36600a0f0701f8030203500ba892100001a565e00a0a0a029502f203500ba892100001abf650050a0402e6008200808ba892100001c000000000000000000000000000000bf";
|
|
||||||
};
|
|
||||||
config = {
|
|
||||||
DP-2 = {
|
|
||||||
enable = true;
|
|
||||||
crtc = 1;
|
|
||||||
primary = true;
|
|
||||||
position = "0x0";
|
|
||||||
mode = "3840x2160";
|
|
||||||
dpi = 96;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
"e3027" = {
|
|
||||||
fingerprint = {
|
|
||||||
e-DP1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006";
|
|
||||||
DP-1 = "00ffffffffffff004ca306a7010101011715010380a05a780ade50a3544c99260f5054a10800814081c0950081809040b300a9400101283c80a070b023403020360040846300001a9e20009051201f304880360040846300001c000000fd0017550f5c11000a202020202020000000fc004550534f4e20504a0a202020200116020328f651901f202205140413030212110706161501230907078301000066030c00100080e200fd023a801871382d40582c450040846300001e011d801871382d40582c450040846300001e662156aa51001e30468f330040846300001e302a40c8608464301850130040846300001e00000000000000000000000000000089";
|
|
||||||
};
|
|
||||||
config = {
|
|
||||||
eDP-1 = {
|
|
||||||
enable = true;
|
|
||||||
crtc = 0;
|
|
||||||
position = "0x0";
|
|
||||||
mode = "3840x2160";
|
|
||||||
};
|
|
||||||
DP-1 = {
|
|
||||||
enable = true;
|
|
||||||
crtc = 1;
|
|
||||||
position = "3840x0";
|
|
||||||
mode = "1920x1200";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
"e3027-clone" = {
|
|
||||||
fingerprint = {
|
|
||||||
e-DP1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006";
|
|
||||||
DP-1 = "00ffffffffffff004ca306a7010101011715010380a05a780ade50a3544c99260f5054a10800814081c0950081809040b300a9400101283c80a070b023403020360040846300001a9e20009051201f304880360040846300001c000000fd0017550f5c11000a202020202020000000fc004550534f4e20504a0a202020200116020328f651901f202205140413030212110706161501230907078301000066030c00100080e200fd023a801871382d40582c450040846300001e011d801871382d40582c450040846300001e662156aa51001e30468f330040846300001e302a40c8608464301850130040846300001e00000000000000000000000000000089";
|
|
||||||
};
|
|
||||||
config = {
|
|
||||||
eDP-1 = {
|
|
||||||
enable = true;
|
|
||||||
crtc = 0;
|
|
||||||
position = "0x0";
|
|
||||||
mode = "1920x1200";
|
|
||||||
};
|
|
||||||
DP-1 = {
|
|
||||||
enable = true;
|
|
||||||
crtc = 1;
|
|
||||||
position = "0x0";
|
|
||||||
mode = "1920x1200";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
hooks.postswitch = {
|
|
||||||
"polybar" = "systemctl --user restart polybar.service";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1 +0,0 @@
|
|||||||
{"aliases":{},"editor":"","git_protocol":"ssh", "prompt":"enabled"}
|
|
||||||
@ -1,88 +0,0 @@
|
|||||||
subject= /C=DE/ST=Sachsen/L=Dresden/O=Technische Universitaet Dresden/CN=TU Dresden CA
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIFljCCBH6gAwIBAgIMHG40JD862CwbzJE1MA0GCSqGSIb3DQEBCwUAMIGVMQsw
|
|
||||||
CQYDVQQGEwJERTFFMEMGA1UEChM8VmVyZWluIHp1ciBGb2VyZGVydW5nIGVpbmVz
|
|
||||||
IERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUuIFYuMRAwDgYDVQQLEwdERk4t
|
|
||||||
UEtJMS0wKwYDVQQDEyRERk4tVmVyZWluIENlcnRpZmljYXRpb24gQXV0aG9yaXR5
|
|
||||||
IDIwHhcNMTYxMjEyMTQzOTE2WhcNMzEwMjIyMjM1OTU5WjBzMQswCQYDVQQGEwJE
|
|
||||||
RTEQMA4GA1UECAwHU2FjaHNlbjEQMA4GA1UEBwwHRHJlc2RlbjEoMCYGA1UECgwf
|
|
||||||
VGVjaG5pc2NoZSBVbml2ZXJzaXRhZXQgRHJlc2RlbjEWMBQGA1UEAwwNVFUgRHJl
|
|
||||||
c2RlbiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOfggnONmNft
|
|
||||||
CebaQElj0mMf9D8ao/ez9Q3cwm04d18KaUbADLajcEvLE8YBzJmzQKJdfLdxKiJE
|
|
||||||
x/4klxIXeXH+jksh7plW4L2U74zIf3O0d1RmYsKoppYZOP1CVfJ1T76y9uBrpA9e
|
|
||||||
0bL/oi3uTLHuxyDCe3vXIgK3QgVeVupJP+TtuP2YbbSBLP9iN4vDE5RqAWnrDYJF
|
|
||||||
Mv3EWgNIcNQQU6w23ytb4W8Vfwlm/nM8tBdDOVt9S06Bq17sKBa4YIJ+V/y6xV7w
|
|
||||||
m/P/cPo0pPFsxrycOjJTxlx8Lk343+6Hov0tI+4h6uX8iB95RLOfDOJMMZS1Yr9q
|
|
||||||
3NyiZE1+cZkCAwEAAaOCAgUwggIBMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYDVR0P
|
|
||||||
AQH/BAQDAgEGMCkGA1UdIAQiMCAwDQYLKwYBBAGBrSGCLB4wDwYNKwYBBAGBrSGC
|
|
||||||
LAEBBDAdBgNVHQ4EFgQUUv6+tyTCGwodRlKORCQq9EhAPQEwHwYDVR0jBBgwFoAU
|
|
||||||
k+PYMiba1fFKpZFK4OpL4qIMz+EwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDov
|
|
||||||
L2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1nMi1jYS9wdWIvY3JsL2NhY3Js
|
|
||||||
LmNybDBAoD6gPIY6aHR0cDovL2NkcDIucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1n
|
|
||||||
Mi1jYS9wdWIvY3JsL2NhY3JsLmNybDCB3QYIKwYBBQUHAQEEgdAwgc0wMwYIKwYB
|
|
||||||
BQUHMAGGJ2h0dHA6Ly9vY3NwLnBjYS5kZm4uZGUvT0NTUC1TZXJ2ZXIvT0NTUDBK
|
|
||||||
BggrBgEFBQcwAoY+aHR0cDovL2NkcDEucGNhLmRmbi5kZS9nbG9iYWwtcm9vdC1n
|
|
||||||
Mi1jYS9wdWIvY2FjZXJ0L2NhY2VydC5jcnQwSgYIKwYBBQUHMAKGPmh0dHA6Ly9j
|
|
||||||
ZHAyLnBjYS5kZm4uZGUvZ2xvYmFsLXJvb3QtZzItY2EvcHViL2NhY2VydC9jYWNl
|
|
||||||
cnQuY3J0MA0GCSqGSIb3DQEBCwUAA4IBAQBM2ET8sDhpf8GfzHc9oCwzGzt/X+/o
|
|
||||||
kHK1T0cv5W44y7ftG6LmovMU49SPTfluGToRsMOeYFzDTpwYiqLjg3TXGs08Vuvo
|
|
||||||
JQOPuSvW8ZACrvZJfSdns6XDMNTzUxRXEtchvrYRkE7bsvt0t3yOlSH8YvkWsBa4
|
|
||||||
vbAu9NdKkt0cDkoZobC5N4hI5Q0NfNM5Ac7HXr1h7dbLwC6arHPuw3B7j/jIGL5K
|
|
||||||
MP9bsh6d78nkxPSu4XcXH18EUPSJHgqPcSyVHspLqLKq0zkDXuGMOIT4ayX0baMh
|
|
||||||
/dkhanXmXp1XlOvq5Krnr+tV93z4vv8kqVDhslj3YIDeuW0PNRPJyxWF
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
subject= /C=DE/O=Verein zur Foerderung eines Deutschen Forschungsnetzes e. V./OU=DFN-PKI/CN=DFN-Verein Certification Authority 2
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIFEjCCA/qgAwIBAgIJAOML1fivJdmBMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD
|
|
||||||
VQQGEwJERTErMCkGA1UECgwiVC1TeXN0ZW1zIEVudGVycHJpc2UgU2VydmljZXMg
|
|
||||||
R21iSDEfMB0GA1UECwwWVC1TeXN0ZW1zIFRydXN0IENlbnRlcjElMCMGA1UEAwwc
|
|
||||||
VC1UZWxlU2VjIEdsb2JhbFJvb3QgQ2xhc3MgMjAeFw0xNjAyMjIxMzM4MjJaFw0z
|
|
||||||
MTAyMjIyMzU5NTlaMIGVMQswCQYDVQQGEwJERTFFMEMGA1UEChM8VmVyZWluIHp1
|
|
||||||
ciBGb2VyZGVydW5nIGVpbmVzIERldXRzY2hlbiBGb3JzY2h1bmdzbmV0emVzIGUu
|
|
||||||
IFYuMRAwDgYDVQQLEwdERk4tUEtJMS0wKwYDVQQDEyRERk4tVmVyZWluIENlcnRp
|
|
||||||
ZmljYXRpb24gQXV0aG9yaXR5IDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
|
||||||
AoIBAQDLYNf/ZqFBzdL6h5eKc6uZTepnOVqhYIBHFU6MlbLlz87TV0uNzvhWbBVV
|
|
||||||
dgfqRv3IA0VjPnDUq1SAsSOcvjcoqQn/BV0YD8SYmTezIPZmeBeHwp0OzEoy5xad
|
|
||||||
rg6NKXkHACBU3BVfSpbXeLY008F0tZ3pv8B3Teq9WQfgWi9sPKUA3DW9ZQ2PfzJt
|
|
||||||
8lpqS2IB7qw4NFlFNkkF2njKam1bwIFrEczSPKiL+HEayjvigN0WtGd6izbqTpEp
|
|
||||||
PbNRXK2oDL6dNOPRDReDdcQ5HrCUCxLx1WmOJfS4PSu/wI7DHjulv1UQqyquF5de
|
|
||||||
M87I8/QJB+MChjFGawHFEAwRx1npAgMBAAGjggF0MIIBcDAOBgNVHQ8BAf8EBAMC
|
|
||||||
AQYwHQYDVR0OBBYEFJPj2DIm2tXxSqWRSuDqS+KiDM/hMB8GA1UdIwQYMBaAFL9Z
|
|
||||||
IDYAeaCgImuM1fJh0rgsy4JKMBIGA1UdEwEB/wQIMAYBAf8CAQIwMwYDVR0gBCww
|
|
||||||
KjAPBg0rBgEEAYGtIYIsAQEEMA0GCysGAQQBga0hgiweMAgGBmeBDAECAjBMBgNV
|
|
||||||
HR8ERTBDMEGgP6A9hjtodHRwOi8vcGtpMDMzNi50ZWxlc2VjLmRlL3JsL1RlbGVT
|
|
||||||
ZWNfR2xvYmFsUm9vdF9DbGFzc18yLmNybDCBhgYIKwYBBQUHAQEEejB4MCwGCCsG
|
|
||||||
AQUFBzABhiBodHRwOi8vb2NzcDAzMzYudGVsZXNlYy5kZS9vY3NwcjBIBggrBgEF
|
|
||||||
BQcwAoY8aHR0cDovL3BraTAzMzYudGVsZXNlYy5kZS9jcnQvVGVsZVNlY19HbG9i
|
|
||||||
YWxSb290X0NsYXNzXzIuY2VyMA0GCSqGSIb3DQEBCwUAA4IBAQCHC/8+AptlyFYt
|
|
||||||
1juamItxT9q6Kaoh+UYu9bKkD64ROHk4sw50unZdnugYgpZi20wz6N35at8yvSxM
|
|
||||||
R2BVf+d0a7Qsg9h5a7a3TVALZge17bOXrerufzDmmf0i4nJNPoRb7vnPmep/11I5
|
|
||||||
LqyYAER+aTu/de7QCzsazeX3DyJsR4T2pUeg/dAaNH2t0j13s+70103/w+jlkk9Z
|
|
||||||
PpBHEEqwhVjAb3/4ru0IQp4e1N8ULk2PvJ6Uw+ft9hj4PEnnJqinNtgs3iLNi4LY
|
|
||||||
2XjiVRKjO4dEthEL1QxSr2mMDwbf0KJTi1eYe8/9ByT0/L3D/UqSApcb8re2z2WK
|
|
||||||
GqK1chk5
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
subject= /C=DE/O=T-Systems Enterprise Services GmbH/OU=T-Systems Trust Center/CN=T-TeleSec GlobalRoot Class 2
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx
|
|
||||||
KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd
|
|
||||||
BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl
|
|
||||||
YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1
|
|
||||||
OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy
|
|
||||||
aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50
|
|
||||||
ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G
|
|
||||||
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd
|
|
||||||
AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC
|
|
||||||
FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi
|
|
||||||
1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq
|
|
||||||
jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ
|
|
||||||
wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj
|
|
||||||
QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/
|
|
||||||
WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy
|
|
||||||
NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC
|
|
||||||
uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw
|
|
||||||
IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6
|
|
||||||
g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN
|
|
||||||
9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP
|
|
||||||
BSeOE6Fuwg==
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@ -1,30 +0,0 @@
|
|||||||
# This is the list of trusted keys. Comment lines, like this one, as
|
|
||||||
# well as empty lines are ignored. Lines have a length limit but this
|
|
||||||
# is not a serious limitation as the format of the entries is fixed and
|
|
||||||
# checked by gpg-agent. A non-comment line starts with optional white
|
|
||||||
# space, followed by the SHA-1 fingerprint in hex, followed by a flag
|
|
||||||
# which may be one of 'P', 'S' or '*' and optionally followed by a list of
|
|
||||||
# other flags. The fingerprint may be prefixed with a '!' to mark the
|
|
||||||
# key as not trusted. You should give the gpg-agent a HUP or run the
|
|
||||||
# command "gpgconf --reload gpg-agent" after changing this file.
|
|
||||||
|
|
||||||
# Include the default trust list
|
|
||||||
include-default
|
|
||||||
|
|
||||||
# CN=Deutsche Telekom Root CA 2
|
|
||||||
# OU=T-TeleSec Trust Center
|
|
||||||
# O=Deutsche Telekom AG
|
|
||||||
# C=DE
|
|
||||||
85:A4:08:C0:9C:19:3E:5D:51:58:7D:CD:D6:13:30:FD:8C:DE:37:BF S relax
|
|
||||||
|
|
||||||
# CN=T-TeleSec GlobalRoot Class 2
|
|
||||||
# OU=T-Systems Trust Center
|
|
||||||
# O=T-Systems Enterprise Services GmbH
|
|
||||||
# C=DE
|
|
||||||
EA:B2:26:12:DB:87:4F:A1:8A:9D:82:FE:C1:4B:25:39:61:A8:CF:44 S relax
|
|
||||||
|
|
||||||
# CN=T-TeleSec GlobalRoot Class 2
|
|
||||||
# OU=T-Systems Trust Center
|
|
||||||
# O=T-Systems Enterprise Services GmbH
|
|
||||||
# C=DE
|
|
||||||
59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9 S relax
|
|
||||||
@ -1,253 +0,0 @@
|
|||||||
# This file has been auto-generated by i3-config-wizard(1).
|
|
||||||
# It will not be overwritten, so edit it as you like.
|
|
||||||
#
|
|
||||||
# Should you change your keyboard layout some time, delete
|
|
||||||
# this file and re-run i3-config-wizard(1).
|
|
||||||
#
|
|
||||||
|
|
||||||
# initialise kwallet via pam
|
|
||||||
#exec --no-startup-id /usr/lib/pam_kwallet_init
|
|
||||||
|
|
||||||
# i3 config file (v4)
|
|
||||||
#
|
|
||||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
|
||||||
|
|
||||||
set $mod Mod4
|
|
||||||
|
|
||||||
# Font for window titles. Will also be used by the bar unless a different font
|
|
||||||
# is used in the bar {} block below.
|
|
||||||
#font pango:monospace 11
|
|
||||||
|
|
||||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
|
||||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
|
||||||
#font pango:DejaVu Sans Mono 8
|
|
||||||
|
|
||||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
|
||||||
# they are included here as an example. Modify as you see fit.
|
|
||||||
|
|
||||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
|
||||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
|
||||||
set $i3lockwall i3lock --nofork -i ~/.background-image -f -e -t
|
|
||||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- $i3lockwall
|
|
||||||
|
|
||||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
|
||||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
|
||||||
exec --no-startup-id nm-applet
|
|
||||||
|
|
||||||
# ssh agent
|
|
||||||
#exec .config/plasma-workspace/env/ssh-agent-startup.sh
|
|
||||||
|
|
||||||
# keepass
|
|
||||||
#exec .config/old-autostart-scripts/keepassxc.sh
|
|
||||||
|
|
||||||
# Use pactl to adjust volume in PulseAudio.
|
|
||||||
set $refresh_i3status killall -SIGUSR1 i3status
|
|
||||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
|
||||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
|
||||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
|
||||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
|
||||||
|
|
||||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
|
||||||
floating_modifier $mod
|
|
||||||
|
|
||||||
# hide edge borders in a smart way
|
|
||||||
#hide_edge_borders smart
|
|
||||||
|
|
||||||
# Mod Ctrl d for display resetting
|
|
||||||
#bindsym $mod+Ctrl+d exec --no-startup-id $HOME/.config/i3/set_xrandr.zsh
|
|
||||||
|
|
||||||
# start a terminal
|
|
||||||
#export TERMINAL=/usr/bin/alacritty
|
|
||||||
#bindsym $mod+Return exec i3-sensible-terminal
|
|
||||||
bindsym $mod+Return exec /etc/profiles/per-user/ellmau/bin/alacritty
|
|
||||||
|
|
||||||
# kill focused window
|
|
||||||
bindsym $mod+Shift+q kill
|
|
||||||
|
|
||||||
# start dmenu (a program launcher)
|
|
||||||
#bindsym $mod+d exec --no-startup-id dmenu_run
|
|
||||||
# A more modern dmenu replacement is rofi:
|
|
||||||
bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
|
||||||
# There also is i3-dmenu-desktop which only displays applications shipping a
|
|
||||||
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
|
||||||
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
|
||||||
|
|
||||||
bindsym Mod1+Tab exec "rofi -show window"
|
|
||||||
|
|
||||||
# change focus
|
|
||||||
bindsym $mod+j focus left
|
|
||||||
bindsym $mod+k focus down
|
|
||||||
bindsym $mod+l focus up
|
|
||||||
bindsym $mod+semicolon focus right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Left focus left
|
|
||||||
bindsym $mod+Down focus down
|
|
||||||
bindsym $mod+Up focus up
|
|
||||||
bindsym $mod+Right focus right
|
|
||||||
|
|
||||||
# move focused window
|
|
||||||
bindsym $mod+Shift+j move left
|
|
||||||
bindsym $mod+Shift+k move down
|
|
||||||
bindsym $mod+Shift+l move up
|
|
||||||
bindsym $mod+Shift+semicolon move right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Shift+Left move left
|
|
||||||
bindsym $mod+Shift+Down move down
|
|
||||||
bindsym $mod+Shift+Up move up
|
|
||||||
bindsym $mod+Shift+Right move right
|
|
||||||
|
|
||||||
# split in horizontal orientation
|
|
||||||
bindsym $mod+h split h
|
|
||||||
|
|
||||||
# split in vertical orientation
|
|
||||||
bindsym $mod+v split v
|
|
||||||
|
|
||||||
# enter fullscreen mode for the focused container
|
|
||||||
bindsym $mod+f fullscreen toggle
|
|
||||||
|
|
||||||
# change container layout (stacked, tabbed, toggle split)
|
|
||||||
bindsym $mod+s layout stacking
|
|
||||||
bindsym $mod+w layout tabbed
|
|
||||||
bindsym $mod+e layout toggle split
|
|
||||||
|
|
||||||
# toggle tiling / floating
|
|
||||||
bindsym $mod+Shift+space floating toggle
|
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
|
||||||
bindsym $mod+Ctrl+space focus mode_toggle
|
|
||||||
|
|
||||||
# focus the parent container
|
|
||||||
bindsym $mod+a focus parent
|
|
||||||
|
|
||||||
# focus the child container
|
|
||||||
#bindsym $mod+d focus child
|
|
||||||
|
|
||||||
# Define names for default workspaces for which we configure key bindings later on.
|
|
||||||
# We use variables to avoid repeating the names in multiple places.
|
|
||||||
set $ws1 "1: gen"
|
|
||||||
set $ws2 "2: web"
|
|
||||||
set $ws3 "3: misc"
|
|
||||||
set $ws4 "4: comms"
|
|
||||||
set $ws5 "5"
|
|
||||||
set $ws6 "6"
|
|
||||||
set $ws7 "7"
|
|
||||||
set $ws8 "8"
|
|
||||||
set $ws9 "9: secondary"
|
|
||||||
set $ws10 "10: secondary"
|
|
||||||
|
|
||||||
|
|
||||||
workspace 1 output primary
|
|
||||||
workspace 2 output primary
|
|
||||||
workspace 3 output primary
|
|
||||||
workspace 4 output primary
|
|
||||||
#workspace 9 output eDP-1
|
|
||||||
#workspace 10 output eDP-1
|
|
||||||
|
|
||||||
# switch to workspace
|
|
||||||
bindsym $mod+1 workspace number $ws1
|
|
||||||
bindsym $mod+2 workspace number $ws2
|
|
||||||
bindsym $mod+3 workspace number $ws3
|
|
||||||
bindsym $mod+4 workspace number $ws4
|
|
||||||
bindsym $mod+5 workspace number $ws5
|
|
||||||
bindsym $mod+6 workspace number $ws6
|
|
||||||
bindsym $mod+7 workspace number $ws7
|
|
||||||
bindsym $mod+8 workspace number $ws8
|
|
||||||
bindsym $mod+9 workspace number $ws9
|
|
||||||
bindsym $mod+0 workspace number $ws10
|
|
||||||
|
|
||||||
# move focused container to workspace
|
|
||||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
|
||||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
|
||||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
|
||||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
|
||||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
|
||||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
|
||||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
|
||||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
|
||||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
|
||||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
|
||||||
|
|
||||||
# reload the configuration file
|
|
||||||
bindsym $mod+Shift+c reload
|
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
|
||||||
bindsym $mod+Shift+r restart
|
|
||||||
# exit i3 (logs you out of your X session)
|
|
||||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
|
||||||
|
|
||||||
# resize window (you can also use the mouse for that)
|
|
||||||
mode "resize" {
|
|
||||||
# These bindings trigger as soon as you enter the resize mode
|
|
||||||
|
|
||||||
# Pressing left will shrink the window’s width.
|
|
||||||
# Pressing right will grow the window’s width.
|
|
||||||
# Pressing up will shrink the window’s height.
|
|
||||||
# Pressing down will grow the window’s height.
|
|
||||||
bindsym j resize shrink width 10 px or 10 ppt
|
|
||||||
bindsym k resize grow height 10 px or 10 ppt
|
|
||||||
bindsym l resize shrink height 10 px or 10 ppt
|
|
||||||
bindsym semicolon resize grow width 10 px or 10 ppt
|
|
||||||
|
|
||||||
# same bindings, but for the arrow keys
|
|
||||||
bindsym Left resize shrink width 10 px or 10 ppt
|
|
||||||
bindsym Down resize grow height 10 px or 10 ppt
|
|
||||||
bindsym Up resize shrink height 10 px or 10 ppt
|
|
||||||
bindsym Right resize grow width 10 px or 10 ppt
|
|
||||||
|
|
||||||
# back to normal: Enter or Escape or $mod+r
|
|
||||||
bindsym Return mode "default"
|
|
||||||
bindsym Escape mode "default"
|
|
||||||
bindsym $mod+r mode "default"
|
|
||||||
}
|
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
|
||||||
|
|
||||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
|
||||||
# finds out, if available)
|
|
||||||
#bar {
|
|
||||||
# status_command i3status-rs ~/.config/i3status-rust/config.toml
|
|
||||||
# position top
|
|
||||||
#}
|
|
||||||
#exec_always --no-startup-id polybar
|
|
||||||
exec_always --no-startup-id systemctl --user restart polybar.service
|
|
||||||
|
|
||||||
# shutdown / restart / suspend...
|
|
||||||
set $mode_system System (l) lock, (CTRL+e) logout, (CTRL+r) reboot, (CTRL+s) shutdown
|
|
||||||
|
|
||||||
mode "$mode_system" {
|
|
||||||
bindsym l exec --no-startup-id $i3lockwall, mode "default"
|
|
||||||
bindsym Ctrl+e exec --no-startup-id i3-msg exit, mode "default"
|
|
||||||
#bindsym s exec --no-startup-id $i3lockwall && systemctl suspend, mode "default"
|
|
||||||
#bindsym h exec --no-startup-id $i3lockwall && systemctl hibernate, mode "default"
|
|
||||||
bindsym Ctrl+r exec --no-startup-id systemctl reboot, mode "default"
|
|
||||||
bindsym Ctrl+s exec --no-startup-id systemctl poweroff -i, mode "default"
|
|
||||||
|
|
||||||
# back to normal: Enter or Escape
|
|
||||||
bindsym Return mode "default"
|
|
||||||
bindsym Escape mode "default"
|
|
||||||
}
|
|
||||||
|
|
||||||
bindsym $mod+BackSpace mode "$mode_system"
|
|
||||||
|
|
||||||
# keyboard layout toggle
|
|
||||||
bindsym $mod+space exec --no-startup-id .config/i3/keyboard_layout_toggle.sh
|
|
||||||
|
|
||||||
# autostart keepassxc
|
|
||||||
exec --no-startup-id .config/i3/keepassxc.sh
|
|
||||||
|
|
||||||
# autostart other stuff
|
|
||||||
#exec --no-startup-id i3-msg 'workspace 4: comms; exec signal-desktop'
|
|
||||||
#exec --no-startup-id i3-msg 'workspace 4: comms; exec element-desktop'
|
|
||||||
|
|
||||||
# application specific stuff
|
|
||||||
for_window[class="KeePassXC"] floating enable
|
|
||||||
#assign [class="KeePassXC"] $ws5
|
|
||||||
#for_window[class="Thunderbird"] move workspace $ws4
|
|
||||||
#for_window[class="Element"] move workspace $ws4
|
|
||||||
|
|
||||||
# autostart normal programs
|
|
||||||
#exec --not-startup-id i3-msg 'workspace 4:comms; exec element-desktop'
|
|
||||||
#exec --not-startup-id i3-msg 'workspace 4:comms; exec thunderbird'
|
|
||||||
#exec --no-startup-id element-desktop
|
|
||||||
#exec --no-startup-id thunderbird
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
#!/usr/bin/env nix-shell
|
|
||||||
#! nix-shell -i zsh -p zsh
|
|
||||||
|
|
||||||
i3-msg 'workspace 4: comms; append_layout /home/ellmau/.config/i3/workspace4.json'
|
|
||||||
i3-msg 'exec thunderbird'
|
|
||||||
i3-msg 'exec signal-desktop'
|
|
||||||
i3-msg 'exec element-desktop'
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
#!/usr/bin/env nix-shell
|
|
||||||
#! nix-shell -i zsh -p zsh
|
|
||||||
|
|
||||||
sleep 5
|
|
||||||
secret-tool lookup keepass unlock | keepassxc --pw-stdin ~/.keepasswd/passwd-store.kdbx
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [[ `setxkbmap -query | awk '$1 == "layout:"{print($2)}'` = "us" ]]; then
|
|
||||||
setxkbmap -layout de
|
|
||||||
else
|
|
||||||
setxkbmap -layout us
|
|
||||||
fi
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
{
|
|
||||||
"border": "normal",
|
|
||||||
"current_border_width": 2,
|
|
||||||
"floating": "auto_off",
|
|
||||||
"geometry": {
|
|
||||||
"height": 2116,
|
|
||||||
"width": 3836,
|
|
||||||
"x": 0,
|
|
||||||
"y": 0
|
|
||||||
},
|
|
||||||
"marks": [],
|
|
||||||
"name": "Inbox - Mozilla Thunderbird",
|
|
||||||
"percent": 0.5,
|
|
||||||
"swallows": [
|
|
||||||
{
|
|
||||||
"class": "^Thunderbird$"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "con"
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
"border": "normal",
|
|
||||||
"floating": "auto_off",
|
|
||||||
"layout": "splitv",
|
|
||||||
"marks": [],
|
|
||||||
"percent": 0.5,
|
|
||||||
"type": "con",
|
|
||||||
"nodes": [
|
|
||||||
{
|
|
||||||
"border": "normal",
|
|
||||||
"current_border_width": 2,
|
|
||||||
"floating": "auto_off",
|
|
||||||
"geometry": {
|
|
||||||
"height": 2116,
|
|
||||||
"width": 1916,
|
|
||||||
"x": 1920,
|
|
||||||
"y": 42
|
|
||||||
},
|
|
||||||
"marks": [],
|
|
||||||
"name": "Element | TheoLog 2021",
|
|
||||||
"percent": 0.5,
|
|
||||||
"swallows": [
|
|
||||||
{
|
|
||||||
"class": "^Element$"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "con"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"border": "normal",
|
|
||||||
"current_border_width": 2,
|
|
||||||
"floating": "auto_off",
|
|
||||||
"geometry": {
|
|
||||||
"height": 2116,
|
|
||||||
"width": 1276,
|
|
||||||
"x": 2562,
|
|
||||||
"y": 42
|
|
||||||
},
|
|
||||||
"marks": [],
|
|
||||||
"name": "Signal",
|
|
||||||
"percent": 0.5,
|
|
||||||
"swallows": [
|
|
||||||
{
|
|
||||||
"class": "^Signal$"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"type": "con"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
@ -1,116 +0,0 @@
|
|||||||
{ config, pkgs, lib, flakes, ...}:
|
|
||||||
let
|
|
||||||
withAliases = hostname: aliases: cfg:
|
|
||||||
lib.recursiveUpdate
|
|
||||||
{
|
|
||||||
host = "${hostname} ${aliases}";
|
|
||||||
hostname = "${hostname}";
|
|
||||||
extraOptions.hostKeyAlias = "${hostname}";
|
|
||||||
}
|
|
||||||
cfg;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./alacritty.nix
|
|
||||||
./autorandr.nix
|
|
||||||
./dunst.nix
|
|
||||||
./git.nix
|
|
||||||
./gpg.nix
|
|
||||||
./i3.nix
|
|
||||||
./nextcloud.nix
|
|
||||||
./polybar.nix
|
|
||||||
./zsh.nix
|
|
||||||
./go.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home-manager.users.ellmau = {
|
|
||||||
home.packages = [
|
|
||||||
pkgs.htop
|
|
||||||
pkgs.pavucontrol
|
|
||||||
|
|
||||||
pkgs.ripgrep
|
|
||||||
|
|
||||||
pkgs.jabref
|
|
||||||
pkgs.libreoffice-fresh
|
|
||||||
|
|
||||||
pkgs.nixfmt
|
|
||||||
pkgs.nixpkgs-fmt
|
|
||||||
pkgs.nix-prefetch-github
|
|
||||||
|
|
||||||
pkgs.neofetch
|
|
||||||
|
|
||||||
pkgs.jitsi-meet-electron
|
|
||||||
pkgs.skypeforlinux
|
|
||||||
pkgs.teams
|
|
||||||
pkgs.unstable.zoom-us
|
|
||||||
pkgs.element-desktop
|
|
||||||
pkgs.signal-desktop
|
|
||||||
];
|
|
||||||
|
|
||||||
services = {
|
|
||||||
udiskie = {
|
|
||||||
enable = true;
|
|
||||||
automount = true;
|
|
||||||
notify = true;
|
|
||||||
tray = "auto";
|
|
||||||
};
|
|
||||||
blueman-applet.enable = config.variables.graphical;
|
|
||||||
network-manager-applet.enable = config.variables.graphical ;
|
|
||||||
gnome-keyring = {
|
|
||||||
enable = true;
|
|
||||||
components = [ "pkcs11" "secrets" "ssh" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xsession = {
|
|
||||||
numlock.enable = true;
|
|
||||||
profileExtra = ''
|
|
||||||
if [ $(hostname) = 'stel-xps' ]; then
|
|
||||||
brightnessctl s 50%
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".background-image".source = ../../common/wallpaper/nix-wallpaper-nineish-dark-gray.png;
|
|
||||||
|
|
||||||
programs.home-manager = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.ssh = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
forwardAgent = true;
|
|
||||||
serverAliveInterval = 5;
|
|
||||||
hashKnownHosts = true;
|
|
||||||
controlMaster = "auto";
|
|
||||||
controlPersist = "60s";
|
|
||||||
|
|
||||||
# matchBlocks = {
|
|
||||||
# "iccl-share.inf.tu-dresden.de" =
|
|
||||||
# withAliases "iccl-share.inf.tu-dresden.de" "iccl-share" {
|
|
||||||
# proxyJump = "tcs.inf.tu-dresden.de";
|
|
||||||
# };
|
|
||||||
# "iccl.inf.tu-dresden.de" = withAliases "iccl.inf.tu-dresden.de" "" {
|
|
||||||
# proxyJump = "tcs.inf.tu-dresden.de";
|
|
||||||
# };
|
|
||||||
# "wille.inf.tu-dresden.de" =
|
|
||||||
# withAliases "wille.inf.tu-dresden.de" "wille wi" {
|
|
||||||
# proxyJump = "tcs.inf.tu-dresden.de";
|
|
||||||
# };
|
|
||||||
# "tcs.inf.tu-dresden.de" =
|
|
||||||
# withAliases "tcs.inf.tu-dresden.de" "tcs" { };
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
{ config, pkgs, ...}:
|
|
||||||
{
|
|
||||||
home-manager.users.ellmau = {
|
|
||||||
services.dunst = {
|
|
||||||
enable = config.variables.graphical;
|
|
||||||
iconTheme = {
|
|
||||||
package = pkgs.numix-icon-theme;
|
|
||||||
name = "Numix";
|
|
||||||
size = "26";
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
geometry = "800x5-30+50";
|
|
||||||
transparency = 10;
|
|
||||||
frame_color = "#839496";
|
|
||||||
font = "Hasklug Nerd Font 10";
|
|
||||||
timeout = 5;
|
|
||||||
follow = "mouse";
|
|
||||||
markup = "full";
|
|
||||||
icon_position = "left";
|
|
||||||
history_length = 32;
|
|
||||||
dmenu = "${pkgs.rofi}/bin/rofi -dmenu";
|
|
||||||
word_wrap = true;
|
|
||||||
};
|
|
||||||
urgency_critical = {
|
|
||||||
foreground = "#fdf6e3";
|
|
||||||
background = "#dc322f";
|
|
||||||
};
|
|
||||||
urgency_normal = {
|
|
||||||
foreground = "#fdf6e3";
|
|
||||||
background = "#859900";
|
|
||||||
};
|
|
||||||
urgency_low = {
|
|
||||||
foreground = "#fdf6e3";
|
|
||||||
background = "#2aa198";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,41 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
home-manager.users.ellmau = {
|
|
||||||
programs= {
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.gitAndTools.gitFull;
|
|
||||||
userName = "Stefan Ellmauthaler";
|
|
||||||
userEmail = "stefan.ellmauthaler@tu-dresden.de";
|
|
||||||
extraConfig = {
|
|
||||||
core = { editor = "emacsclient"; };
|
|
||||||
gpg = lib.mkIf config.variables.git.gpgsm {
|
|
||||||
format = "x509";
|
|
||||||
program = "${pkgs.gnupg}/bin/gpgsm";
|
|
||||||
};
|
|
||||||
#gpg = {
|
|
||||||
# format = "x509";
|
|
||||||
# program = "gpgsm";
|
|
||||||
#};
|
|
||||||
user = {
|
|
||||||
signingKey = config.variables.git.key;
|
|
||||||
signByDefault = config.variables.git.signDefault;
|
|
||||||
};
|
|
||||||
init = { defaultBranch = "main";};
|
|
||||||
branch = { autosetuprebase = "always";};
|
|
||||||
safe.directory = [ "/etc/nixos" ];
|
|
||||||
};
|
|
||||||
lfs.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
gh = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
aliases = {};
|
|
||||||
git_protocol = "ssh";
|
|
||||||
prompt = "enabled";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
{config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
home-manager.users.ellmau.programs.go.enable = true;
|
|
||||||
}
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
home-manager.users.ellmau = {
|
|
||||||
home.file = {
|
|
||||||
".gnupg/gpgsm.conf".text = ''
|
|
||||||
keyserver ldap.pca.dfn.de::::o=DFN-Verein,c=DE
|
|
||||||
disable-crl-checks
|
|
||||||
'';
|
|
||||||
".gnupg/dirmngr_ldapservers.conf".text = "ldap.pca.dfn.de:389:::o=DFN-Verein,c=de,o=DFN-Verein,c=de";
|
|
||||||
".gnupg/trustlist.txt".source = ./conf/gpgsm/trustlist.txt;
|
|
||||||
".gnupg/chain.txt".source = ./conf/gpgsm/chain.txt;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
programs.gpg.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
config = lib.mkIf config.variables.graphical {
|
|
||||||
home-manager.users.ellmau = {
|
|
||||||
xdg = {
|
|
||||||
configFile."i3" = {
|
|
||||||
source = conf/i3;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home-manager.users.ellmau = {
|
|
||||||
services.nextcloud-client = {
|
|
||||||
enable = true;
|
|
||||||
startInBackground = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,357 +0,0 @@
|
|||||||
{ config, pkgs, ...}:
|
|
||||||
{
|
|
||||||
home-manager.users.ellmau = {
|
|
||||||
services.polybar = {
|
|
||||||
enable = config.variables.graphical;
|
|
||||||
package = pkgs.polybarFull;
|
|
||||||
settings =
|
|
||||||
let
|
|
||||||
# solarized theme colours ~ https://en.wikipedia.org/wiki/Solarized
|
|
||||||
|
|
||||||
#content tones
|
|
||||||
Base01 = "#586e75";
|
|
||||||
Base00 = "#657b83";
|
|
||||||
Base0 = "#839496";
|
|
||||||
Base1 = "#93a1a1";
|
|
||||||
# background tones
|
|
||||||
Base2 = "#eee8d5";
|
|
||||||
Base3 = "#fdf6e3";
|
|
||||||
# accent tones
|
|
||||||
Yellow = "#b58900";
|
|
||||||
Orange = "#cb4b16";
|
|
||||||
Red = "#dc322f";
|
|
||||||
Magenta = "#d33682";
|
|
||||||
Violet = "#6c71c4";
|
|
||||||
Blue = "#268bd2";
|
|
||||||
Cyan = "#2aa198";
|
|
||||||
Green = "#859900";
|
|
||||||
|
|
||||||
foreground_col = Base3;
|
|
||||||
background_col = Base01;
|
|
||||||
|
|
||||||
# old bg/fg stuff
|
|
||||||
#foreground_col = "#eee8d5";
|
|
||||||
#background_col = "#6c71c4";
|
|
||||||
foreground_altcol = "#66deff";
|
|
||||||
primary_col = "#ffb52a";
|
|
||||||
secondary_col = "#e60053";
|
|
||||||
alert_col = "#dc322f";
|
|
||||||
|
|
||||||
dpi = ''
|
|
||||||
''${env:DPI:0}
|
|
||||||
'';
|
|
||||||
|
|
||||||
#polyheight = 60;
|
|
||||||
|
|
||||||
fonts = [
|
|
||||||
"Hasklig:style=Regular"
|
|
||||||
"all-the-icons:style=Regular"
|
|
||||||
"Webdings:style=Regular"
|
|
||||||
"Noto Emoji:scale=10"
|
|
||||||
"Unifont:style=Regular"
|
|
||||||
"Material Icons:size=12;0"
|
|
||||||
"Weather Icons:size=12;0"
|
|
||||||
"Hasklug Nerd Font,Hasklig Medium:style=Medium,Regular"
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
|
||||||
"bar/main" = {
|
|
||||||
font = fonts;
|
|
||||||
modules = {
|
|
||||||
left = "i3 xwindow";
|
|
||||||
center = "";
|
|
||||||
right = " xbacklight xkeyboard eth wlan battery date powermenu dunst volume ";
|
|
||||||
};
|
|
||||||
|
|
||||||
background = background_col;
|
|
||||||
foreground = foreground_col;
|
|
||||||
|
|
||||||
monitor = ''
|
|
||||||
''${env:MONITOR:}
|
|
||||||
'';
|
|
||||||
width = "100%";
|
|
||||||
#height = polyheight;
|
|
||||||
padding = 0;
|
|
||||||
padding-right = 2;
|
|
||||||
radius = 14;
|
|
||||||
module-margin = 1;
|
|
||||||
line-size = 2;
|
|
||||||
|
|
||||||
dpi-x = dpi;
|
|
||||||
dpi-y = dpi;
|
|
||||||
|
|
||||||
tray = {
|
|
||||||
position = "right";
|
|
||||||
padding = 2;
|
|
||||||
background = Base2;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"bar/aux" = {
|
|
||||||
font = fonts;
|
|
||||||
modules = {
|
|
||||||
left = "i3";
|
|
||||||
center = "";
|
|
||||||
right = " xbacklight xkeyboard eth wlan battery date powermenu volume ";
|
|
||||||
};
|
|
||||||
|
|
||||||
background = background_col;
|
|
||||||
foreground = foreground_col;
|
|
||||||
|
|
||||||
monitor = ''
|
|
||||||
''${env:MONITOR:}
|
|
||||||
'';
|
|
||||||
width = "100%";
|
|
||||||
#height = polyheight;
|
|
||||||
radius = 14;
|
|
||||||
module-margin = 1;
|
|
||||||
line-size = 2;
|
|
||||||
|
|
||||||
dpi-x = dpi;
|
|
||||||
dpi-y = dpi;
|
|
||||||
};
|
|
||||||
|
|
||||||
"module/volume" = {
|
|
||||||
type = "internal/pulseaudio";
|
|
||||||
format.volume = "<ramp-volume> <label-volume>";
|
|
||||||
label.muted.text = "🔇";
|
|
||||||
label.muted.foreground = "#666";
|
|
||||||
ramp.volume = ["🔈" "🔉" "🔊"];
|
|
||||||
click.right = "${pkgs.pavucontrol}/bin/pavucontrol &";
|
|
||||||
# format-volume-underline = Base2;
|
|
||||||
# format-muted-underline = Base2;
|
|
||||||
};
|
|
||||||
"module/i3" = {
|
|
||||||
type = "internal/i3";
|
|
||||||
format = "<label-state> <label-mode>";
|
|
||||||
index-sort = "true";
|
|
||||||
wrapping-scroll = "false";
|
|
||||||
|
|
||||||
#; Only show workspaces on the same output as the bar
|
|
||||||
pin-workspaces = "true";
|
|
||||||
|
|
||||||
label-mode-padding = "2";
|
|
||||||
label-mode-foreground = "#000";
|
|
||||||
label-mode-background = primary_col;
|
|
||||||
|
|
||||||
#; focused = Active workspace on focused monitor
|
|
||||||
label-focused = "%name%";
|
|
||||||
#;label-focused-background = ${colors.background-alt}
|
|
||||||
#;label-focused-background = #9f78e1
|
|
||||||
label-focused-background = foreground_col;
|
|
||||||
label-focused-underline= foreground_col;
|
|
||||||
label-focused-foreground = background_col;
|
|
||||||
label-focused-padding = "2";
|
|
||||||
|
|
||||||
#; unfocused = Inactive workspace on any monitor
|
|
||||||
label-unfocused = "%name%";
|
|
||||||
label-unfocused-padding = "2";
|
|
||||||
label-unfocused-underline = foreground_col;
|
|
||||||
|
|
||||||
#; visible = Active workspace on unfocused monitor
|
|
||||||
label-visible = "%name%";
|
|
||||||
label-visible-background = Violet;
|
|
||||||
label-visible-underline = Yellow;
|
|
||||||
label-visible-padding = 2;
|
|
||||||
|
|
||||||
#; urgent = Workspace with urgency hint set
|
|
||||||
label-urgent = "%name%";
|
|
||||||
label-urgent-background = alert_col;
|
|
||||||
label-urgent-foreground = primary_col;
|
|
||||||
label-urgent-padding = "2";
|
|
||||||
|
|
||||||
#; Separator in between workspaces
|
|
||||||
#; label-separator = |
|
|
||||||
};
|
|
||||||
"module/xkeyboard" = {
|
|
||||||
type = "internal/xkeyboard";
|
|
||||||
blacklist-0 = "num lock";
|
|
||||||
interval = "5";
|
|
||||||
|
|
||||||
format-prefix = ''""'';
|
|
||||||
format-prefix-foreground = foreground_altcol;
|
|
||||||
format-prefix-underline = secondary_col;
|
|
||||||
|
|
||||||
label-layout = "%layout%";
|
|
||||||
label-layout-underline = secondary_col;
|
|
||||||
|
|
||||||
label-indicator-padding = "2";
|
|
||||||
label-indicator-margin = "1";
|
|
||||||
label-indicator-background = secondary_col;
|
|
||||||
label-indicator-underline = secondary_col;
|
|
||||||
};
|
|
||||||
"module/wlan" = {
|
|
||||||
type = "internal/network";
|
|
||||||
interface = "wlp0s20f3";
|
|
||||||
interval = "3.0";
|
|
||||||
|
|
||||||
format-connected = " <ramp-signal> <label-connected>";
|
|
||||||
format-connected-underline = "#9f78e1";
|
|
||||||
label-connected = "%essid%";
|
|
||||||
|
|
||||||
ramp-signal-0 = ''"0.0"'';
|
|
||||||
ramp-signal-1 = ''"0.5"'';
|
|
||||||
ramp-signal-2 = ''"1.0"'';
|
|
||||||
ramp-signal-3 = ''"1.0"'';
|
|
||||||
ramp-signal-4 = ''"1.0"'';
|
|
||||||
|
|
||||||
format-disconnected = "";
|
|
||||||
# ;format-disconnected = <label-disconnected>
|
|
||||||
#;format-disconnected-underline = ${self.format-connected-underline}
|
|
||||||
#;label-disconnected = %ifname% disconnected
|
|
||||||
#;label-disconnected-foreground = ${colors.foreground-alt}
|
|
||||||
|
|
||||||
|
|
||||||
ramp-signal-foreground = foreground_altcol;
|
|
||||||
};
|
|
||||||
"module/eth" = {
|
|
||||||
type = "internal/network";
|
|
||||||
interface = "eno1";
|
|
||||||
interval = "3.0";
|
|
||||||
|
|
||||||
format-connected-underline = "#55aa55";
|
|
||||||
format-connected = " <label-connected>";
|
|
||||||
format-connected-prefix-foreground = foreground_altcol;
|
|
||||||
label-connected = "%local_ip%";
|
|
||||||
|
|
||||||
format-disconnected = "";
|
|
||||||
format-disconnected-background = "#5479b7";
|
|
||||||
#;format-disconnected = <label-disconnected>
|
|
||||||
#;format-disconnected-underline = ${self.format-connected-underline}
|
|
||||||
#;label-disconnected = %ifname% disconnected
|
|
||||||
#;label-disconnected-foreground = ${colors.foreground-alt}
|
|
||||||
};
|
|
||||||
"module/date" = {
|
|
||||||
type = "internal/date";
|
|
||||||
interval = "5";
|
|
||||||
|
|
||||||
date = ''" %Y-%m-%d"'';
|
|
||||||
date-alt = ''" %Y-%m-%d"'';
|
|
||||||
|
|
||||||
time = "%H:%M";
|
|
||||||
time-alt = "%H:%M:%S";
|
|
||||||
|
|
||||||
#format-prefix = "";
|
|
||||||
#format-prefix-foreground = foreground_altcol;
|
|
||||||
format-underline = "#0a6cf5";
|
|
||||||
|
|
||||||
label = "%{A1:${pkgs.tray-calendar}/bin/traycalendar --no-tray:}%{A} %date% %time%";
|
|
||||||
};
|
|
||||||
"module/battery" = {
|
|
||||||
type = "internal/battery";
|
|
||||||
battery = "BAT0";
|
|
||||||
adapter = "ADP1";
|
|
||||||
full-at = "98";
|
|
||||||
|
|
||||||
format-charging-background= "#689d6a";
|
|
||||||
format-charging-prefix = ''" "'';
|
|
||||||
format-charging = "<label-charging>";
|
|
||||||
format-discharging-prefix = ''" "'';
|
|
||||||
format-discharging = "<label-discharging>";
|
|
||||||
format-discharging-background= "#689d6a";
|
|
||||||
format-full-prefix = ''" "'';
|
|
||||||
|
|
||||||
format-charging-underline = "#ffaa55";
|
|
||||||
format-full-prefix-foreground = foreground_altcol;
|
|
||||||
format-full-underline = "#ffaa55";
|
|
||||||
|
|
||||||
ormat-full-padding = "1";
|
|
||||||
format-charging-padding = "1";
|
|
||||||
format-discharging-padding = "1";
|
|
||||||
};
|
|
||||||
"module/temperature" = {
|
|
||||||
type = "internal/temperature";
|
|
||||||
thermal-zone = "0";
|
|
||||||
warn-temperature = "60";
|
|
||||||
|
|
||||||
format = "<ramp> <label>";
|
|
||||||
format-underline = "#f50a4d";
|
|
||||||
format-warn = "<ramp> <label-warn>";
|
|
||||||
format-warn-underline = "#f50a4d";
|
|
||||||
|
|
||||||
label = " %temperature-c%";
|
|
||||||
label-warn = "%temperature-c%";
|
|
||||||
label-warn-foreground = secondary_col;
|
|
||||||
|
|
||||||
ramp-0 = "l";
|
|
||||||
ramp-1 = "m";
|
|
||||||
ramp-2 = "h";
|
|
||||||
ramp-foreground = foreground_altcol;
|
|
||||||
};
|
|
||||||
|
|
||||||
"module/powermenu" = {
|
|
||||||
type = "custom/menu";
|
|
||||||
|
|
||||||
expand-right = "true";
|
|
||||||
|
|
||||||
format-spacing = "1";
|
|
||||||
|
|
||||||
label-open = ''""'';
|
|
||||||
label-open-foreground = secondary_col;
|
|
||||||
label-close = " cancel";
|
|
||||||
label-close-foreground = secondary_col;
|
|
||||||
label-separator = "|";
|
|
||||||
label-separator-foreground = foreground_altcol;
|
|
||||||
|
|
||||||
menu-0-0 = "reboot";
|
|
||||||
menu-0-0-exec = "menu-open-1";
|
|
||||||
menu-0-1 = "power off";
|
|
||||||
menu-0-1-exec = "menu-open-2";
|
|
||||||
|
|
||||||
menu-1-0 = "cancel";
|
|
||||||
menu-1-0-exec = "menu-open-0";
|
|
||||||
menu-1-1 = "reboot";
|
|
||||||
menu-1-1-exec = "sudo reboot";
|
|
||||||
|
|
||||||
menu-2-0 = "power off";
|
|
||||||
menu-2-0-exec = "sudo poweroff";
|
|
||||||
menu-2-1 = "cancel";
|
|
||||||
menu-2-1-exec = "menu-open-0";
|
|
||||||
};
|
|
||||||
|
|
||||||
"module/xbacklight" = {
|
|
||||||
type = "internal/xbacklight";
|
|
||||||
|
|
||||||
format = "<label> <bar>";
|
|
||||||
label = "BL";
|
|
||||||
|
|
||||||
bar-width = "10";
|
|
||||||
bar-indicator = "|";
|
|
||||||
bar-indicator-foreground = "#fff";
|
|
||||||
bar-indicator-font = "2";
|
|
||||||
bar-fill = "─";
|
|
||||||
bar-fill-font = "2";
|
|
||||||
bar-fill-foreground = "#9f78e1";
|
|
||||||
bar-empty = "─";
|
|
||||||
bar-empty-font = "2";
|
|
||||||
bar-empty-foreground = foreground_altcol;
|
|
||||||
};
|
|
||||||
|
|
||||||
"module/dunst" = {
|
|
||||||
type = "custom/script";
|
|
||||||
exec = "PATH=${pkgs.dbus}/bin/:$PATH ${pkgs.dunst}/bin/dunstctl is-paused | ${pkgs.gnugrep}/bin/grep -q true && echo || echo ";
|
|
||||||
interval = 10;
|
|
||||||
click-left = "PATH=${pkgs.dbus}/bin/:$PATH ${pkgs.dunst}/bin/dunstctl set-paused toggle";
|
|
||||||
};
|
|
||||||
|
|
||||||
"module/xwindow" = {
|
|
||||||
type = "internal/xwindow";
|
|
||||||
|
|
||||||
format = "<label>";
|
|
||||||
format-background = Cyan;
|
|
||||||
format-foreground = foreground_col;
|
|
||||||
format-padding = 2;
|
|
||||||
label-maxlen = 50;
|
|
||||||
label = "%title%";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
script = ''
|
|
||||||
for m in $(polybar --list-monitors | ${pkgs.gnugrep}/bin/grep '(primary)' | ${pkgs.coreutils}/bin/cut -d":" -f1); do
|
|
||||||
MONITOR=$m polybar --reload main &
|
|
||||||
done;
|
|
||||||
for m in $(polybar --list-monitors | ${pkgs.gnugrep}/bin/grep -v '(primary)' | ${pkgs.coreutils}/bin/cut -d":" -f1); do
|
|
||||||
MONITOR=$m polybar --reload aux &
|
|
||||||
done;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,82 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home-manager.users.ellmau = {
|
|
||||||
programs = {
|
|
||||||
zsh = {
|
|
||||||
enable = true;
|
|
||||||
defaultKeymap = "emacs";
|
|
||||||
oh-my-zsh.enable = false;
|
|
||||||
# remove extra stuff on the right side of the prompt
|
|
||||||
initExtra = ''
|
|
||||||
unset RPS1
|
|
||||||
# Color man pages
|
|
||||||
export LESS_TERMCAP_mb=$'\E[01;32m'
|
|
||||||
export LESS_TERMCAP_md=$'\E[01;32m'
|
|
||||||
export LESS_TERMCAP_me=$'\E[0m'
|
|
||||||
export LESS_TERMCAP_se=$'\E[0m'
|
|
||||||
export LESS_TERMCAP_so=$'\E[01;47;34m'
|
|
||||||
export LESS_TERMCAP_ue=$'\E[0m'
|
|
||||||
export LESS_TERMCAP_us=$'\E[01;36m'
|
|
||||||
export LESS=-R
|
|
||||||
'';
|
|
||||||
shellAliases = {
|
|
||||||
cp = "cp -i";
|
|
||||||
ls = "exa --icons --git";
|
|
||||||
ll = "exa --long --icons --binary --group";
|
|
||||||
llg = "exa --long --icons --grid --binary --group";
|
|
||||||
lal = "ll --all";
|
|
||||||
lla = "ll --all";
|
|
||||||
emacsc = "emacsclient -n";
|
|
||||||
};
|
|
||||||
plugins = [
|
|
||||||
{
|
|
||||||
name = "zsh-nix-shell";
|
|
||||||
file = "nix-shell.plugin.zsh";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "chisui";
|
|
||||||
repo = "zsh-nix-shell";
|
|
||||||
rev = "v0.4.0";
|
|
||||||
sha256 = "037wz9fqmx0ngcwl9az55fgkipb745rymznxnssr3rx9irb6apzg";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
starship = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
settings = {
|
|
||||||
add_newline = false;
|
|
||||||
format = "$all";
|
|
||||||
username.show_always = false;
|
|
||||||
git_commit.tag_disabled = false;
|
|
||||||
hostname.ssh_only = false;
|
|
||||||
directory.truncate_to_repo = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
zoxide = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
bat = {
|
|
||||||
enable = true;
|
|
||||||
config = { theme = "ansi"; };
|
|
||||||
};
|
|
||||||
|
|
||||||
exa = {
|
|
||||||
enable = true;
|
|
||||||
enableAliases = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
tmux = {
|
|
||||||
enable = true;
|
|
||||||
clock24 = true;
|
|
||||||
keyMode = "emacs";
|
|
||||||
shell = "${pkgs.zsh}/bin/zsh";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
aspellConf = ''
|
|
||||||
data-dir /run/current-system/sw/lib/aspell
|
|
||||||
dict-dir /run/current-system/sw/lib/aspell
|
|
||||||
master en_GB-ise
|
|
||||||
extra-dicts en-computers.rws
|
|
||||||
add-extra-dicts en_GB-science.rws
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
{
|
|
||||||
environment.systemPackages = [ pkgs.aspell ]
|
|
||||||
++ (with pkgs.aspellDicts; [ de en sv en-computers en-science ]);
|
|
||||||
}
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./aspell.nix
|
|
||||||
./emacs
|
|
||||||
./obs-studio.nix
|
|
||||||
./python.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@ -1,586 +0,0 @@
|
|||||||
(require 'package)
|
|
||||||
;;(setq package-enable-at-startup nil)
|
|
||||||
;;(package-initialize)
|
|
||||||
|
|
||||||
;; (load-theme 'spacemacs-dark t)
|
|
||||||
;; (load-theme 'wombat t)
|
|
||||||
(use-package solarized-theme
|
|
||||||
:init
|
|
||||||
(load-theme 'solarized-selenized-light t)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; (use-package vscode-dark-plus-theme
|
|
||||||
;; :config
|
|
||||||
;; (load-theme 'vscode-dark-plus t))
|
|
||||||
|
|
||||||
(use-package diminish
|
|
||||||
:config
|
|
||||||
(diminish 'auto-fill-function)
|
|
||||||
(diminish 'abbrev-mode))
|
|
||||||
|
|
||||||
;; Tab-width
|
|
||||||
(setq tab-width 2)
|
|
||||||
|
|
||||||
;; prolog
|
|
||||||
;(setq auto-mode-alist (append '(("\\.pl$" . prolog-mode)) auto-mode-alist))
|
|
||||||
;(setq auto-mode-alist (append '(("\\.lp$" . prolog-mode)) auto-mode-alist))
|
|
||||||
;(setq auto-mode-alist (append '(("\\.rls$" . prolog-mode)) auto-mode-alist))
|
|
||||||
|
|
||||||
;; spellchecking
|
|
||||||
(setq ispell-dictionary "british")
|
|
||||||
(add-hook 'LaTeX-mode-hook '(lambda () (flyspell-mode 1)))
|
|
||||||
|
|
||||||
;; ido
|
|
||||||
;(ido-mode 1)
|
|
||||||
;(setq ido-enable-flex-matching t); flexible matching
|
|
||||||
;(define-key (cdr ido-minor-mode-map-entry) [remap write-file] nil) ;do not suggest name when save as
|
|
||||||
;; make ido show suggestions one per line and not in one line
|
|
||||||
;; (make-local-variable 'ido-decorations)
|
|
||||||
;; (setf (nth 2 ido-decorations) "\n")
|
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;; helm ;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
; helm
|
|
||||||
(use-package helm
|
|
||||||
:after (helm-flx helm-descbinds helm-projectile)
|
|
||||||
:bind-keymap (("C-c h" . helm-command-prefix))
|
|
||||||
:bind (("M-x" . helm-M-x)
|
|
||||||
("M-y" . helm-show-kill-ring)
|
|
||||||
("C-x b" . helm-mini)
|
|
||||||
("C-x C-f" . helm-find-files)
|
|
||||||
("C-h SPC" . helm-all-mark-rings)
|
|
||||||
;; :map helm-command-prefix
|
|
||||||
;; ("g" . helm-google-suggest)
|
|
||||||
:map helm-map
|
|
||||||
("<tab>" . helm-execute-persistent-action)
|
|
||||||
("C-i" . helm-execute-persistent-action)
|
|
||||||
("C-z" . helm-select-action)
|
|
||||||
:map minibuffer-local-map
|
|
||||||
("C-c C-l" . helm-minibuffer-history))
|
|
||||||
:diminish helm-mode
|
|
||||||
:custom
|
|
||||||
(helm-adaptive-mode t nil (helm-adaptive))
|
|
||||||
(helm-buffers-fuzzy-matching t)
|
|
||||||
(helm-ff-file-name-history-use-recentf t)
|
|
||||||
(helm-ff-search-library-in-sexp t)
|
|
||||||
(helm-ff-skip-boring-files t)
|
|
||||||
(helm-locate-fuzzy-match t)
|
|
||||||
(helm-mode t)
|
|
||||||
(helm-move-to-line-cycle-in-source t)
|
|
||||||
(helm-net-prefer-curl t)
|
|
||||||
(helm-recentf-fuzzy-match t)
|
|
||||||
(helm-scroll-amount 8)
|
|
||||||
(helm-split-window-in-side-p t)
|
|
||||||
(helm-boring-file-regexp-list
|
|
||||||
'("\\.hi$" "\\.o$" "~$" "\\.bin$" "\\.lbin$" "\\.so$" "\\.a$" "\\.ln$" "\\.blg$" "\\.bbl$" "\\.elc$" "\\.lof$" "\\.glo$" "\\.idx$" "\\.lot$" "\\.svn$" "\\.hg$" "\\.git$" "\\.bzr$" "CVS$" "_darcs$" "_MTN$" "\\.fmt$" "\\.tfm$" "\\.class$" "\\.fas$" "\\.lib$" "\\.mem$" "\\.x86f$" "\\.sparcf$" "\\.dfsl$" "\\.pfsl$" "\\.d64fsl$" "\\.p64fsl$" "\\.lx64fsl$" "\\.lx32fsl$" "\\.dx64fsl$" "\\.dx32fsl$" "\\.fx64fsl$" "\\.fx32fsl$" "\\.sx64fsl$" "\\.sx32fsl$" "\\.wx64fsl$" "\\.wx32fsl$" "\\.fasl$" "\\.ufsl$" "\\.fsl$" "\\.dxl$" "\\.lo$" "\\.la$" "\\.gmo$" "\\.mo$" "\\.toc$" "\\.aux$" "\\.cp$" "\\.fn$" "\\.ky$" "\\.pg$" "\\.tp$" "\\.vr$" "\\.cps$" "\\.fns$" "\\.kys$" "\\.pgs$" "\\.tps$" "\\.vrs$" "\\.pyc$" "\\.pyo$" "\\.synctex\\.gz$"))
|
|
||||||
:custom-face
|
|
||||||
(helm-selection ((t (:inherit region :foreground "#2aa198"))))
|
|
||||||
(helm-source-header ((t (:foreground "#eee8d5" :background "#073642"))))
|
|
||||||
:config
|
|
||||||
(add-to-list 'helm-sources-using-default-as-input 'helm-source-man-pages)
|
|
||||||
(helm-flx-mode t)
|
|
||||||
(helm-descbinds-mode t))
|
|
||||||
(use-package helm-rg
|
|
||||||
:defer t
|
|
||||||
:bind (:map projectile-mode-map
|
|
||||||
("<remap> <projectile-rg>" . helm-projectile-rg))
|
|
||||||
:after (helm projectile))
|
|
||||||
(use-package helm-config
|
|
||||||
:ensure helm)
|
|
||||||
(use-package helm-flx)
|
|
||||||
(use-package helm-bbdb)
|
|
||||||
(use-package helm-descbinds)
|
|
||||||
(use-package helm-projectile)
|
|
||||||
(use-package helm-company)
|
|
||||||
|
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;; org-mode ;;;;;;;;;;;;;;;;;
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
;; (bind-key "C-c l" 'org-toggle-link-display) ;shows org links in plain text
|
|
||||||
;; (require 'org-roam)
|
|
||||||
;; ;;(require 'org-roam-protocol)
|
|
||||||
;; ;;(require 'ox-md)
|
|
||||||
;; (setq org-roam-directory "~/org-notes")
|
|
||||||
;; (setq org-roam-dailies-directory "~/org-notes/daily")
|
|
||||||
;; ;(add-hook 'after-init-hook 'org-roam-mode) ;init org-roam at startup
|
|
||||||
;; (bind-key [f8] 'org-roam-jump-to-index) ;jump to org roam index
|
|
||||||
;; (bind-key "C-c n f" 'org-roam-node-file) ; find a note
|
|
||||||
;; (bind-key "C-c n c" 'org-roam-capture) ; create a note
|
|
||||||
;; (bind-key "C-c n i" 'org-roam-node-insert) ;insert a link
|
|
||||||
;; (bind-key "C-c n l" 'org-roam-node-insert) ;insert a link
|
|
||||||
;; (bind-key "C-c n b" 'org-roam-buffer-toggle) ;shows backlink window
|
|
||||||
;; (bind-key "C-c n t" 'org-roam-tag-add) ;adds an org roam tag
|
|
||||||
;; (bind-key "C-c n d" 'org-roam-dailies-capture-date) ;adds notes to daily event cards
|
|
||||||
|
|
||||||
;; ;;(setq org-roam-completion-system 'ivy)
|
|
||||||
|
|
||||||
;; (setq org-roam-capture-templates
|
|
||||||
;; '(("d" "default" plain (function org-roam--capture-get-point)
|
|
||||||
;; "%?"
|
|
||||||
;; :file-name "%<%Y%m%d%H%M%S>-${slug}"
|
|
||||||
;; :head "#+title: ${title}\n#+roam_tags: %^{org-roam-tags}\n"
|
|
||||||
;; :unnarrowed t)))
|
|
||||||
|
|
||||||
;; (setq org-roam-server-host "127.0.0.1"
|
|
||||||
;; org-roam-server-port 8080
|
|
||||||
;; org-roam-server-authenticate nil
|
|
||||||
;; org-roam-server-export-inline-images t
|
|
||||||
;; org-roam-server-serve-files nil
|
|
||||||
;; org-roam-server-served-file-extensions '("pdf" "mp4" "ogv")
|
|
||||||
;; org-roam-server-network-poll t
|
|
||||||
;; org-roam-server-network-arrows nil
|
|
||||||
;; org-roam-server-network-label-truncate t
|
|
||||||
;; org-roam-server-network-label-truncate-length 60
|
|
||||||
;; org-roam-server-network-label-wrap-length 20)
|
|
||||||
|
|
||||||
(use-package org-bullets
|
|
||||||
:defer t
|
|
||||||
:commands org-bullets-mode
|
|
||||||
:hook (org-mode . org-bullets-mode))
|
|
||||||
(use-package org-roam
|
|
||||||
:custom
|
|
||||||
(org-roam-directory (file-truename "~/org-notes"))
|
|
||||||
:bind
|
|
||||||
(("C-c n l" . org-roam-buffer-toggle)
|
|
||||||
("C-c n f" . org-roam-node-find)
|
|
||||||
("C-c n g" . org-roam-graph)
|
|
||||||
("C-c n i" . org-roam-node-insert)
|
|
||||||
("C-c n c" . org-roam-capture)
|
|
||||||
("C-c n j" . org-roam-dailies-capture-today)
|
|
||||||
("C-c n d" . org-roam-dailies-capture-date))
|
|
||||||
|
|
||||||
:init
|
|
||||||
(setq org-roam-v2-ack t)
|
|
||||||
(require 'org-roam-protocol)
|
|
||||||
:config
|
|
||||||
(org-roam-db-autosync-mode))
|
|
||||||
(use-package org-roam-ui
|
|
||||||
:after org-roam
|
|
||||||
:custom
|
|
||||||
(org-roam-ui-sync-theme t)
|
|
||||||
(org-roam-ui-follow)
|
|
||||||
(org-roam-ui-update-on-save t)
|
|
||||||
(org-roam-ui-open-on-start t))
|
|
||||||
(define-key org-roam-mode-map [mouse-1] #'org-roam-visit-thing)
|
|
||||||
|
|
||||||
;; tally-list
|
|
||||||
(defun coffee-tally-add (n)
|
|
||||||
(interactive "nN: ")
|
|
||||||
(org-entry-put
|
|
||||||
nil "COFFEETALLY"
|
|
||||||
(format "%s" (+ n (string-to-number
|
|
||||||
(or (org-entry-get nil "COFFEETALLY") "0"))))))
|
|
||||||
|
|
||||||
(cl-defmethod org-roam-node-directories ((node org-roam-node))
|
|
||||||
(if-let ((dirs (file-name-directory (file-relative-name (org-roam-node-file node) org-roam-directory))))
|
|
||||||
(format "(%s)" (car (f-split dirs)))
|
|
||||||
""))
|
|
||||||
|
|
||||||
(cl-defmethod org-roam-node-backlinkscount ((node org-roam-node))
|
|
||||||
(let* ((count (caar (org-roam-db-query
|
|
||||||
[:select (funcall count source)
|
|
||||||
:from links
|
|
||||||
:where (= dest $s1)
|
|
||||||
:and (= type "id")]
|
|
||||||
(org-roam-node-id node)))))
|
|
||||||
(format "[%d]" count)))
|
|
||||||
(setq org-roam-node-display-template "${directories:10} ${tags:10} ${title:100} ${backlinkscount:6}")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;; MAGIT ;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
(use-package magit
|
|
||||||
:defer t
|
|
||||||
:commands (magit-blame magit-log magit-status)
|
|
||||||
:bind (("<f5>" . magit-blame)
|
|
||||||
("<f6>" . magit-log)
|
|
||||||
("<f7>" . magit-status))
|
|
||||||
:custom
|
|
||||||
;(magit-commit-signoff t)
|
|
||||||
(magit-define-global-key-bindings t)
|
|
||||||
(magit-revert-buffers 'silent t)
|
|
||||||
(magit-use-overlays nil))
|
|
||||||
|
|
||||||
|
|
||||||
(custom-set-variables
|
|
||||||
;; custom-set-variables was added by Custom.
|
|
||||||
;; If you edit it by hand, you could mess it up, so be careful.
|
|
||||||
;; Your init file should contain only one such instance.
|
|
||||||
;; If there is more than one, they won't work right.
|
|
||||||
'(auth-source-save-behavior nil)
|
|
||||||
'(inhibit-startup-screen t)
|
|
||||||
'(show-paren-mode t)
|
|
||||||
'(show-paren-style 'mixed)
|
|
||||||
'(blink-matching-paren 'infoline)
|
|
||||||
'(org-agenda-files '("~/org-notes/daily/" "~/org-notes/"))
|
|
||||||
'(org-angeda-files '("~/org-notes/daily/" "~/org-notes/"))
|
|
||||||
'(size-indication-mode)
|
|
||||||
'(line-number-mode t)
|
|
||||||
'(epg-gpg-program (executable-find "gpg2"))
|
|
||||||
'(epg-gpgsm-program (executable-find "gpgsm"))
|
|
||||||
'(user-full-name "Stefan Ellmauthaler")
|
|
||||||
'(user-mail-address "stefan.ellmauthaler@tu-dresden.de")
|
|
||||||
'(global-hl-line-mode t)
|
|
||||||
'(global-linum-mode nil))
|
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;; LaTeX ;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
;(add-hook 'LateX-mode-hook 'turn-on-reftex)
|
|
||||||
;; auctex
|
|
||||||
;(load "auctex.el" nil t t)
|
|
||||||
;(load "preview-latex.el" nil t t)
|
|
||||||
;(setq TeX-toggle-debug-warnings t)
|
|
||||||
;(setq TeX-toggle-debug-bad-boxes t)
|
|
||||||
;(setq TeX-PDF-mode t)
|
|
||||||
;; reftex
|
|
||||||
;(setq reftex-plug-into-AUCTeX t)
|
|
||||||
|
|
||||||
(use-package auctex
|
|
||||||
:demand t
|
|
||||||
:no-require t
|
|
||||||
:preface (defun mm/disable-auto-fill-for-papers ()
|
|
||||||
(if (string-match "ellmau/repo/" (buffer-file-name))
|
|
||||||
(progn (turn-off-auto-fill)
|
|
||||||
(setq-local yas--original-auto-fill-function nil))))
|
|
||||||
:hook
|
|
||||||
((LaTeX-mode . flyspell-mode)
|
|
||||||
(LaTeX-mode . latex-math-mode)
|
|
||||||
(LaTeX-mode . tex-pdf-mode)
|
|
||||||
(LaTeX-mode . reftex-mode)
|
|
||||||
(LaTeX-mode . mm/disable-auto-fill-for-papers))
|
|
||||||
:custom
|
|
||||||
(LaTeX-babel-hyphen "")
|
|
||||||
(LaTeX-beamer-item-overlay-flag t)
|
|
||||||
(LaTeX-default-style "scrartcl")
|
|
||||||
(LaTeX-indent-environment-list
|
|
||||||
'(("verbatim" current-indentation)
|
|
||||||
("verbatim*" current-indentation)
|
|
||||||
("array")
|
|
||||||
("displaymath")
|
|
||||||
("eqnarray")
|
|
||||||
("eqnarray*")
|
|
||||||
("equation")
|
|
||||||
("equation*")
|
|
||||||
("picture")
|
|
||||||
("tabbing")
|
|
||||||
("table")
|
|
||||||
("table*")
|
|
||||||
("tabular")
|
|
||||||
("tabular*")
|
|
||||||
("lstlisting" ignore)))
|
|
||||||
(LaTeX-math-list
|
|
||||||
'((123 "subsetneq" "" nil)
|
|
||||||
(125 "supsetneq" "" nil)
|
|
||||||
(48 "varnothing" "" nil)
|
|
||||||
(61 "coloneqq" "" nil)))
|
|
||||||
(TeX-PDF-mode t)
|
|
||||||
(TeX-auto-save t)
|
|
||||||
(TeX-auto-untabify t)
|
|
||||||
(TeX-byte-compile t)
|
|
||||||
(TeX-debug-bad-boxes t)
|
|
||||||
(TeX-debug-warnings t)
|
|
||||||
(TeX-electric-escape nil)
|
|
||||||
(TeX-electric-sub-and-superscript t)
|
|
||||||
(TeX-master 'dwim)
|
|
||||||
(TeX-newline-function 'reindent-then-newline-and-indent)
|
|
||||||
(TeX-parse-self t)
|
|
||||||
(TeX-source-correlate-method 'synctex)
|
|
||||||
(TeX-source-correlate-mode t)
|
|
||||||
(TeX-source-correlate-start-server t))
|
|
||||||
|
|
||||||
;; ##### Don't forget to configure
|
|
||||||
;; ##### Okular to use emacs in
|
|
||||||
;; ##### "Configuration/Configure Okular/Editor"
|
|
||||||
;; ##### => Editor => Emacsclient. (you should see
|
|
||||||
;; ##### emacsclient -a emacs --no-wait +%l %f
|
|
||||||
;; ##### in the field "Command".
|
|
||||||
|
|
||||||
;; ##### Always ask for the master file
|
|
||||||
;; ##### when creating a new TeX file.
|
|
||||||
;(setq-default TeX-master nil)
|
|
||||||
|
|
||||||
;; ##### Enable synctex correlation. From Okular just press
|
|
||||||
;; ##### Shift + Left click to go to the good line.
|
|
||||||
(setq TeX-source-correlate-mode t
|
|
||||||
TeX-source-correlate-start-server t)
|
|
||||||
|
|
||||||
;; ### Set Okular as the default PDF viewer.
|
|
||||||
(eval-after-load "tex"
|
|
||||||
'(setcar (cdr (assoc 'output-pdf TeX-view-program-selection)) "Okular"))
|
|
||||||
|
|
||||||
(use-package company-reftex
|
|
||||||
:defer t
|
|
||||||
:init
|
|
||||||
(with-eval-after-load 'company
|
|
||||||
(add-to-list 'company-backends '(company-reftex-labels company-reftex-citations))))
|
|
||||||
(use-package company-auctex
|
|
||||||
:defer t
|
|
||||||
:init
|
|
||||||
(with-eval-after-load 'company
|
|
||||||
(company-auctex-init)))
|
|
||||||
(use-package company-bibtex
|
|
||||||
:defines company-backends
|
|
||||||
:defer t
|
|
||||||
:init
|
|
||||||
(with-eval-after-load 'company
|
|
||||||
(add-to-list 'company-backends '(company-bibtex))))
|
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;; projectile ;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
(use-package projectile
|
|
||||||
:init
|
|
||||||
(projectile-mode t)
|
|
||||||
:bind-keymap (("C-c p" . projectile-command-map))
|
|
||||||
:preface
|
|
||||||
(defun se/projectile-project-root (orig-fn &rest args)
|
|
||||||
"Disable projectile-modelining on remote hosts because it's unusably slow."
|
|
||||||
(unless (file-remote-p default-directory)
|
|
||||||
(apply orig-fn args)))
|
|
||||||
:config
|
|
||||||
(advice-add 'projectile-project-root :around #'se/projectile-project-root)
|
|
||||||
:custom
|
|
||||||
(projectile-enable-caching t)
|
|
||||||
(projectile-file-exists-remote-cache-expire (* 10 60))
|
|
||||||
(projectile-switch-project-action 'projectile-find-file)
|
|
||||||
(projectile-find-dir-includes-top-level t)
|
|
||||||
(projectile-completion-system 'default)
|
|
||||||
(projectile-globally-ignored-file-suffixes
|
|
||||||
'(".synctex.gz" ".bcf" ".blg" ".run.xml" ".thm" ".toc" ".out" ".idx" ".ilg" ".ind" ".tdo" ".bbl" ".aux" ".log"))
|
|
||||||
(projectile-mode-line '(:eval (format " [%s]" (projectile-project-name))))
|
|
||||||
(projectile-project-root-files-bottom-up
|
|
||||||
'(".projectile" ".hg" "_darcs" ".fslckout" "_FOSSIL_" ".bzr" ".git")))
|
|
||||||
(use-package projectile-ripgrep
|
|
||||||
:bind (:map projectile-command-map
|
|
||||||
("s s" . 'projectile-ripgrep))
|
|
||||||
:after projectile)
|
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;; direnv ;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
(use-package direnv
|
|
||||||
:config
|
|
||||||
(direnv-mode t))
|
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;; Rust ;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
;; rustic
|
|
||||||
|
|
||||||
;(push 'rustic-clippy flycheck-checkers)
|
|
||||||
|
|
||||||
;; company mode
|
|
||||||
;;(add-hook 'rustic-mode-hook 'company-mode)
|
|
||||||
;;(add-hook 'rustic-mode-hook 'flymake-mode)
|
|
||||||
|
|
||||||
(use-package rustic
|
|
||||||
:after lsp-mode
|
|
||||||
:config
|
|
||||||
;; (add-to-list 'flycheck-checkers 'rustic-clippy)
|
|
||||||
(lsp-diagnostics-flycheck-enable)
|
|
||||||
(push 'rustic-clippy flycheck-checkers)
|
|
||||||
;; (flycheck-add-next-checker 'lsp 'rustic-clippy)
|
|
||||||
:custom
|
|
||||||
(rustic-format-trigger 'on-save)
|
|
||||||
(rustic-rustfmt-bin "rustfmt")
|
|
||||||
(rustic-flycheck-clippy-params "--message-format=json")
|
|
||||||
(lsp-rust-analyzer-server-display-inlay-hints t)
|
|
||||||
(lsp-rust-analyzer-cargo-watch-command "clippy")
|
|
||||||
(lsp-rust-analyzer-display-parameter-hints t)
|
|
||||||
(lsp-rust-analyzer-dispaly-chaining-hints t)
|
|
||||||
(lsp-rust-analyzer-proc-macro-enable t)
|
|
||||||
:hook
|
|
||||||
(rustic-mode . company-mode)
|
|
||||||
(rustic . lsp-rust-analyzer-inlay-hints-mode)
|
|
||||||
;;(rustic-mode . flymake-mode)
|
|
||||||
)
|
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;; beacon ;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
|
|
||||||
(use-package beacon
|
|
||||||
:diminish beacon-mode
|
|
||||||
:defer t
|
|
||||||
:init
|
|
||||||
(beacon-mode t)
|
|
||||||
:custom
|
|
||||||
(beacon-blink-delay 0.1)
|
|
||||||
(beacon-blink-duration 0.2)
|
|
||||||
(beacon-blink-when-focused t)
|
|
||||||
(beacon-blink-when-point-moves-horizontally 10)
|
|
||||||
(beacon-blink-when-point-moves-vertically 5)
|
|
||||||
(beacon-color "#2aa198")
|
|
||||||
(beacon-size 16))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(use-package highlight-indentation
|
|
||||||
:diminish highlight-indentation-mode
|
|
||||||
:commands highlight-indentation-mode
|
|
||||||
:defer t
|
|
||||||
:hook ((text-mode prog-mode) . highlight-indentation-mode)
|
|
||||||
:init
|
|
||||||
(progn
|
|
||||||
(defun set-hl-indent-color ()
|
|
||||||
(set-face-background 'highlight-indentation-face "#e3e3d3")
|
|
||||||
(set-face-background 'highlight-indentation-current-column-face "#c3b3b3"))
|
|
||||||
))
|
|
||||||
|
|
||||||
(use-package multiple-cursors
|
|
||||||
:bind (("C-S-c C-S-c" . mc/edit-lines)
|
|
||||||
("C->" . mc/mark-next-like-this)
|
|
||||||
("C-<" . mc/mark-previous-like-this)
|
|
||||||
("C-c C-<" . mc/mark/all-like-this)))
|
|
||||||
|
|
||||||
;; yas
|
|
||||||
(use-package yasnippet
|
|
||||||
:defer t
|
|
||||||
:diminish yas-minor-mode
|
|
||||||
:config
|
|
||||||
(yas-global-mode t))
|
|
||||||
|
|
||||||
;; dap
|
|
||||||
(use-package dap-mode
|
|
||||||
:after lsp-mode
|
|
||||||
:custom
|
|
||||||
(dap-mode t)
|
|
||||||
(dap-ui-mode t)
|
|
||||||
(require 'dap-cpptools))
|
|
||||||
|
|
||||||
;; flycheck
|
|
||||||
(use-package flycheck
|
|
||||||
:demand t
|
|
||||||
:custom
|
|
||||||
(flycheck-highlighting-mode 'sexps)
|
|
||||||
(flycheck-mode-line-prefix ""))
|
|
||||||
|
|
||||||
;; flyspell
|
|
||||||
(use-package flyspell
|
|
||||||
:defer t
|
|
||||||
:hook (prog-mode . flyspell-prog-mode)
|
|
||||||
:custom
|
|
||||||
(flyspell-mode-line-string nil))
|
|
||||||
|
|
||||||
;; pasp
|
|
||||||
(use-package pasp-mode
|
|
||||||
:mode
|
|
||||||
("\\.asp\\'" . pasp-mode)
|
|
||||||
("\\.lp\\'" . pasp-mode)
|
|
||||||
("\\.rls\\'" . pasp-mode))
|
|
||||||
|
|
||||||
;; sparql
|
|
||||||
(use-package sparql-mode)
|
|
||||||
|
|
||||||
;; json
|
|
||||||
(use-package json-mode
|
|
||||||
:defer t
|
|
||||||
:mode "\\.json\\'"
|
|
||||||
:hook (json-mode-hook . yas-minor-mode))
|
|
||||||
|
|
||||||
;; lsp
|
|
||||||
(use-package lsp-mode
|
|
||||||
:demand t
|
|
||||||
:after flycheck
|
|
||||||
:commands lsp
|
|
||||||
:preface
|
|
||||||
:hook (((
|
|
||||||
; ada-mode
|
|
||||||
clojure-mode
|
|
||||||
cmake-mode
|
|
||||||
c++-mode
|
|
||||||
css-mode
|
|
||||||
dockerfile-mode
|
|
||||||
js2-mode
|
|
||||||
f90-mode
|
|
||||||
html-mode
|
|
||||||
haskell-mode
|
|
||||||
java-mode
|
|
||||||
json-mode
|
|
||||||
lua-mode
|
|
||||||
markdown-mode
|
|
||||||
nix-mode
|
|
||||||
;; ocaml-mode
|
|
||||||
;; pascal-mode
|
|
||||||
;; perl-mode
|
|
||||||
;; php-mode
|
|
||||||
prolog-mode
|
|
||||||
python-mode
|
|
||||||
;; ess-mode
|
|
||||||
;; ruby-mode
|
|
||||||
rust-mode
|
|
||||||
sql-mode
|
|
||||||
rustic
|
|
||||||
typescript-mode
|
|
||||||
vue-mode
|
|
||||||
;; xml-mode
|
|
||||||
yaml-mode
|
|
||||||
web-mode
|
|
||||||
) . lsp)
|
|
||||||
(lsp-mode . flycheck-mode)
|
|
||||||
(sh-mode . (lambda ()
|
|
||||||
(unless (apply #'derived-mode-p '(direnv-envrc-mode))
|
|
||||||
(lsp-mode t)))))
|
|
||||||
:diminish eldoc-mode
|
|
||||||
:custom
|
|
||||||
;(lsp-keymap-prefix "C-c")
|
|
||||||
(lsp-eldoc-render-all nil)
|
|
||||||
(lsp-file-watch-threshold 5000)
|
|
||||||
(lsp-ui-doc-enable nil)
|
|
||||||
(lsp-ui-doc-border "#586e75")
|
|
||||||
(lsp-ui-doc-header t)
|
|
||||||
(lsp-ui-doc-include-signature t)
|
|
||||||
(lsp-rust-analyzer-server-display-inlay-hints t)
|
|
||||||
(lsp-rust-analyzer-inlay-hints-mode t)
|
|
||||||
(lsp-rust-analyzer-cargo-watch-command "clippy")
|
|
||||||
(lsp-keymap-prefix "C-l"))
|
|
||||||
;:custom-face
|
|
||||||
;(lsp-ui-sideline-code-action ((t (:foreground "#b58900"))))
|
|
||||||
;(lsp-ui-sideline-current-symbol ((t (:foreground "#d33682" :box (:line-width -1 :color "#d33682") :weight ultra-bold :height 0.99)))))
|
|
||||||
(use-package lsp-diagnostics
|
|
||||||
:after lsp-mode
|
|
||||||
:commands lsp-diagnostics-flycheck-enable)
|
|
||||||
|
|
||||||
(use-package lsp-ui)
|
|
||||||
|
|
||||||
;; misc
|
|
||||||
(use-package academic-phrases
|
|
||||||
:defer t
|
|
||||||
:commands
|
|
||||||
(academic-phrases
|
|
||||||
academic-phrases-by-section))
|
|
||||||
|
|
||||||
(use-package ligature
|
|
||||||
:config
|
|
||||||
(ligature-set-ligatures 'prog-mode
|
|
||||||
'("&&" "***" "*>" "\\\\" "||" "|>" "::"
|
|
||||||
; don't like eq-ligatures "==" "==="
|
|
||||||
"==>" "=>" "=<<" "!!" ">>"
|
|
||||||
">>=" ">>>" ">>-" ">-" "->" "-<" "-<<"
|
|
||||||
"<*" "<*>" "<|" "<|>" "<$>" "<>" "<-"
|
|
||||||
; disable ++ until > emacs-27.2, since C++-mode causes a crash otherwise
|
|
||||||
; "<<" "<<<" "<+>" ".." "..." "++" "+++"
|
|
||||||
"<<" "<<<" "<+>" ".." "..." "+++"
|
|
||||||
"/=" ":::" ">=>" "->>" "<=>" "<=<" "<->"))
|
|
||||||
(global-ligature-mode t))
|
|
||||||
|
|
||||||
(custom-set-faces
|
|
||||||
;; custom-set-faces was added by Custom.
|
|
||||||
;; If you edit it by hand, you could mess it up, so be careful.
|
|
||||||
;; Your init file should contain only one such instance.
|
|
||||||
;; If there is more than one, they won't work right.
|
|
||||||
'(default ((t (:slant normal :weight normal :height 144 :width normal :foundry "unknown" :family "Hasklug Nerd Font"))))
|
|
||||||
)
|
|
||||||
@ -1,109 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
defaultEl = ./default.el;
|
|
||||||
environment.systemPackages = [ pkgs.gdb ]; # use gdb for dap-mode
|
|
||||||
|
|
||||||
defaultConfig = pkgs.runCommand "default.el" { } ''
|
|
||||||
mkdir -p $out/share/emacs/site-lisp
|
|
||||||
cp ${defaultEl} $out/share/emacs/site-lisp/default.el
|
|
||||||
'';
|
|
||||||
emacsPackage = (pkgs.emacsPackagesGen pkgs.emacs).emacsWithPackages
|
|
||||||
(epkgs:
|
|
||||||
let
|
|
||||||
lpkgs = import ./packages.nix {
|
|
||||||
inherit config lib pkgs epkgs;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
#[ (defaultConfig lpkgs) ] ++ (with pkgs; [
|
|
||||||
# aspell
|
|
||||||
# emacs-all-the-icons-fonts
|
|
||||||
# gnupg
|
|
||||||
# nixpkgs-fmt
|
|
||||||
#])
|
|
||||||
[(defaultConfig)] ++
|
|
||||||
[(with epkgs.elpaPackages; [
|
|
||||||
auctex
|
|
||||||
org
|
|
||||||
flymake
|
|
||||||
])]
|
|
||||||
++ (with epkgs.melpaStablePackages; [ ]) ++ (with epkgs.melpaPackages; [
|
|
||||||
ac-helm
|
|
||||||
academic-phrases
|
|
||||||
add-hooks
|
|
||||||
alert
|
|
||||||
all-the-icons
|
|
||||||
all-the-icons-dired
|
|
||||||
beacon
|
|
||||||
bln-mode
|
|
||||||
cargo-mode
|
|
||||||
company
|
|
||||||
company-auctex
|
|
||||||
company-bibtex
|
|
||||||
company-flx
|
|
||||||
company-quickhelp
|
|
||||||
company-reftex
|
|
||||||
cov
|
|
||||||
dap-mode
|
|
||||||
diminish
|
|
||||||
direnv
|
|
||||||
dockerfile-mode
|
|
||||||
docker-compose-mode
|
|
||||||
flycheck
|
|
||||||
free-keys
|
|
||||||
highlight-indentation
|
|
||||||
helm
|
|
||||||
helm-bbdb
|
|
||||||
helm-company
|
|
||||||
helm-flx
|
|
||||||
helm-descbinds
|
|
||||||
helm-lsp
|
|
||||||
helm-projectile
|
|
||||||
helm-rg
|
|
||||||
json-mode
|
|
||||||
less-css-mode
|
|
||||||
lsp-mode
|
|
||||||
lsp-ui
|
|
||||||
magit
|
|
||||||
moe-theme
|
|
||||||
multiple-cursors
|
|
||||||
nix-mode
|
|
||||||
nixpkgs-fmt
|
|
||||||
org-bullets
|
|
||||||
org-roam
|
|
||||||
#org-roam-server
|
|
||||||
pasp-mode
|
|
||||||
pdf-tools
|
|
||||||
projectile
|
|
||||||
projectile-ripgrep
|
|
||||||
rustic
|
|
||||||
spacemacs-theme
|
|
||||||
solarized-theme
|
|
||||||
sparql-mode
|
|
||||||
sudo-edit
|
|
||||||
use-package
|
|
||||||
#vscode-dark-plus-theme
|
|
||||||
yaml-mode
|
|
||||||
yasnippet
|
|
||||||
#zenburn-theme
|
|
||||||
] ++ (with lpkgs; [
|
|
||||||
org-roam-ui
|
|
||||||
ligatures
|
|
||||||
])));
|
|
||||||
in
|
|
||||||
{
|
|
||||||
services.emacs = {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
package = emacsPackage;
|
|
||||||
};
|
|
||||||
#nixpkgs.overlays = [ (self: super: { emacsOrig = super.emacs; }) (import (builtins.fetchTarball {
|
|
||||||
# url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
|
|
||||||
#})) ];
|
|
||||||
|
|
||||||
#nixpkgs.overlays = [
|
|
||||||
# (import (builtins.fetchTarball {
|
|
||||||
# url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
|
|
||||||
# }))
|
|
||||||
#];
|
|
||||||
}
|
|
||||||
@ -1,30 +0,0 @@
|
|||||||
{ config, lib, pkgs, epkgs, ...}:
|
|
||||||
let
|
|
||||||
in
|
|
||||||
with epkgs; rec{
|
|
||||||
org-roam-ui = trivialBuild{
|
|
||||||
pname = "org-roam-ui";
|
|
||||||
version = "2021-10-06";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "org-roam";
|
|
||||||
repo = "org-roam-ui";
|
|
||||||
rev = "bae6487afd5e6eec9f04b38b235bbac24042ca62";
|
|
||||||
sha256 = "14dbdvxf1l0dwbhc0ap3wr3ffafy4cxmwc9b7gm0gzzmcxvszisc";
|
|
||||||
};
|
|
||||||
packageRequires = [ f websocket org-roam simple-httpd ];
|
|
||||||
postInstall = ''
|
|
||||||
cp -r out $out/share/emacs/site-lisp
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
ligatures = trivialBuild {
|
|
||||||
pname = "ligatures";
|
|
||||||
version = "unstable-2021-08-27";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "mickeynp";
|
|
||||||
repo = "ligature.el";
|
|
||||||
rev = "d3426509cc5436a12484d91e48abd7b62429b7ef";
|
|
||||||
sha256 = "baFDkfQLM2MYW2QhMpPnOMSfsLlcp9fO5xfyioZzOqg=";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
environment.systemPackages = if config.variables.graphical then with pkgs; [
|
|
||||||
obs-studio
|
|
||||||
] else [ ] ;
|
|
||||||
}
|
|
||||||
@ -1,13 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
with pkgs;
|
|
||||||
let
|
|
||||||
my-python-packages = python-packages: with python-packages; [
|
|
||||||
pandas
|
|
||||||
requests
|
|
||||||
# other python packages you want
|
|
||||||
];
|
|
||||||
python-with-my-packages = python3.withPackages my-python-packages;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
environment.systemPackages = [ python-with-my-packages ];
|
|
||||||
}
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./nginx.nix
|
|
||||||
./smailserver.nix
|
|
||||||
./mariadb.nix
|
|
||||||
./nextcloud.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
services.mysql = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.mariadb;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
mailserver.enable = true;
|
|
||||||
}
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
services.nginx.enable = true;
|
|
||||||
services.nginx.virtualHosts."localhost" = {
|
|
||||||
addSSL = false;
|
|
||||||
enableACME = false;
|
|
||||||
root = "/var/www/localhost";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
{ config, pkgs, lib, ...}:
|
|
||||||
{
|
|
||||||
mailserver.enable = true;
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user