nord gnome dbus stuff
This commit is contained in:
parent
dfd4e54fcc
commit
1abe47b0c2
|
@ -1,3 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
eval "$(nix print-dev-env .#nomos-rebuild)"
|
||||
eval "$(nix print-dev-env .#nomos-rebuild)"
|
||||
echo Entered $(hostname --fqdn)
|
||||
|
|
4
base.nix
4
base.nix
|
@ -45,7 +45,9 @@
|
|||
environment.shells = with pkgs; [ bash zsh ];
|
||||
|
||||
|
||||
nix.settings.trusted-users = [ "root" ]; # default, but will stick around after a mergins with ./users
|
||||
nix.settings.allowed-users = [ "*" ]; # default
|
||||
#nix.settings.allowed-users = [ "@nixbld" "@builders" ]; # TODO: this
|
||||
nix.settings.trusted-users = [ "root" "@wheel" ];
|
||||
nix.settings.auto-optimise-store = true; # deduplicate with hardlinks, expensive. Alternative: nix-store --optimise
|
||||
#nix.optimize.automatic = true; # periodic optimization
|
||||
nix.gc.automatic = true;
|
||||
|
|
|
@ -102,6 +102,10 @@
|
|||
});
|
||||
|
||||
devShells = forAllSystems (system: { # TODO: apply my overlays?
|
||||
#default = nixpkgs.legacyPackages.${system}.mkShell {
|
||||
# packages = with nixpkgs.legacyPackages.${system}; [
|
||||
# ];
|
||||
#};
|
||||
nomos-rebuild = nixpkgs.legacyPackages.${system}.mkShell {
|
||||
packages = with nixpkgs.legacyPackages.${system}; [
|
||||
(writeScriptBin "nixos-rebuild" ''
|
||||
|
|
|
@ -5,36 +5,32 @@
|
|||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||
|
||||
services.xserver.displayManager.autoLogin.enable = true;
|
||||
services.xserver.displayManager.autoLogin.user = "pbsds";
|
||||
# tmp: https://github.com/NixOS/nixpkgs/issues/103746#issuecomment-945091229
|
||||
systemd.services."getty@tty1".enable = false;
|
||||
systemd.services."autovt@tty1".enable = false;
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest; # amdgpu audio fix when at 4k@60fps
|
||||
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../hardware/rocm.nix
|
||||
../../hardware/opengl-intel.nix
|
||||
|
||||
../../users # home-manager
|
||||
../../users/pbsds
|
||||
|
||||
../../hardware/rocm.nix
|
||||
../../hardware/opengl-intel.nix
|
||||
|
||||
|
||||
../../profiles/graphical/gnome # with gdm
|
||||
../../profiles/graphical/pipewire
|
||||
../../profiles/desktop/gnome # with gdm
|
||||
../../profiles/desktop/sound/pulseaudio.nix
|
||||
#../../profiles/desktop/sound/pipewire.nix
|
||||
#../../profiles/desktop/sound/alsa.nix
|
||||
|
||||
../../profiles/nfs/reidun.nix
|
||||
|
||||
/** /
|
||||
../../profiles/web
|
||||
../../profiles/web/index
|
||||
../../profiles/web/docs
|
||||
../../profiles/web/docs/pdoc.nix
|
||||
../../profiles/web/docs/python-docs.nix
|
||||
../../profiles/web/docs/nixpkgs.nix
|
||||
../../profiles/web/docs/linux-docs.nix
|
||||
../../profiles/web/docs/yagcd.nix
|
||||
/**/
|
||||
|
||||
#../../profiles/domeneshop-dyndns # TODO: olavtr is hardcoded...
|
||||
#../../profiles/code-remote
|
||||
#../../profiles/remote-builders #
|
||||
#../../profiles/autossh-reverse-tunnels
|
||||
#../../profiles/domeneshop-dyndns # handled by noximilien
|
||||
];
|
||||
|
||||
|
||||
|
@ -186,11 +182,10 @@
|
|||
dejavu_fonts
|
||||
];
|
||||
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It's perfectly fine and recommended to leave
|
||||
|
|
|
@ -75,6 +75,7 @@
|
|||
../../profiles/autossh-reverse-tunnels
|
||||
#../../profiles/xrdp
|
||||
];
|
||||
services.domeneshop-updater.target = "olavtr.pbsds.net";
|
||||
|
||||
# TODO: remove? Move to where relevant=
|
||||
nixpkgs.overlays = [
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
services.xserver.enable = true;
|
||||
services.xserver.displayManager.gdm.enable = true;
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
sound.enable = true; # alsa sound?
|
||||
#sound.mediaKeys.enable = true # only enable if headless
|
||||
|
||||
security.rtkit.enable = true; # optional
|
||||
}
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
hardware.pulseaudio.enable = false; # gnome defaults it to true
|
||||
|
||||
#sound.enable = true # alsa? likely conflicts with pipewire
|
||||
#sound.mediaKeys.enable = true # alsa? only enable if headless
|
||||
services.pipewire.enable = true;
|
||||
services.pipewire.alsa.enable = true;
|
||||
services.pipewire.alsa.support32Bit = true;
|
||||
|
@ -10,4 +11,6 @@
|
|||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#services.pipewire.media-session.enable = true;
|
||||
|
||||
security.rtkit.enable = true; # optional
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
sound.enable = true; # alsa, needed?
|
||||
#sound.mediaKeys.enable = true # only enable if headless
|
||||
hardware.pulseaudio.enable = true;
|
||||
hardware.pulseaudio.package = pkgs.pulseaudioFull; # optional
|
||||
#hardware.pulseaudio.support32Bit = true;
|
||||
nixpkgs.config.pulseaudio = true;
|
||||
|
||||
security.rtkit.enable = true; # optional
|
||||
}
|
|
@ -1,40 +1,55 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
cfg = config.services.domeneshop-updater;
|
||||
in
|
||||
{
|
||||
# auto domain update
|
||||
|
||||
systemd.services.domeneshop-updater = {
|
||||
description = "domene.shop domain updater";
|
||||
after = [ "network-online.target" ]; # TODO: multi-user ?
|
||||
wants = [ "network-online.target" ]; # TODO: multi-user ?
|
||||
serviceConfig = let
|
||||
prog = pkgs.writeShellApplication {
|
||||
name = "domeneshop-dyndns-updater.sh";
|
||||
runtimeInputs = with pkgs; [ curl yq ];
|
||||
text = ''
|
||||
test -s /var/lib/secrets/domeneshop.toml || {
|
||||
>&2 echo "ERROR: /var/lib/secrets/domeneshop.toml not found!"
|
||||
exit 1
|
||||
}
|
||||
DOMENESHOP_TOKEN="$( tomlq </var/lib/secrets/domeneshop.toml .secrets.DOMENESHOP_TOKEN --raw-output)"
|
||||
DOMENESHOP_SECRET="$(tomlq </var/lib/secrets/domeneshop.toml .secrets.DOMENESHOP_SECRET --raw-output)"
|
||||
curl https://"$DOMENESHOP_TOKEN":"$DOMENESHOP_SECRET"@api.domeneshop.no/v0/dyndns/update?hostname=olavtr.pbsds.net
|
||||
'';
|
||||
};
|
||||
in {
|
||||
User = "domeneshop";
|
||||
Group = "domeneshop";
|
||||
DynamicUser = true;
|
||||
ExecStart = "${prog}/bin/domeneshop-dyndns-updater.sh";
|
||||
PrivateTmp = true;
|
||||
options = with lib; {
|
||||
services.domeneshop-updater.target = mkOption {
|
||||
type = types.string;
|
||||
#default = config.networking.fqdn;
|
||||
};
|
||||
};
|
||||
systemd.timers.domeneshop-updater = let interval = "5h"; in {
|
||||
description = "Update domene.shop every ${interval}";
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnBootSec = "5m";
|
||||
OnUnitInactiveSec = interval;
|
||||
Unit = "domeneshop-updater.service";
|
||||
|
||||
config = {
|
||||
|
||||
systemd.services.domeneshop-updater = {
|
||||
description = "domene.shop dyndns domain updater";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
serviceConfig = let
|
||||
prog = pkgs.writeShellApplication {
|
||||
name = "domeneshop-dyndns-updater.sh";
|
||||
runtimeInputs = with pkgs; [ curl yq ];
|
||||
text = ''
|
||||
test -s /var/lib/secrets/domeneshop.toml || {
|
||||
>&2 echo "ERROR: /var/lib/secrets/domeneshop.toml not found!"
|
||||
exit 1
|
||||
}
|
||||
DOMENESHOP_TOKEN="$( tomlq </var/lib/secrets/domeneshop.toml .secrets.DOMENESHOP_TOKEN --raw-output)"
|
||||
DOMENESHOP_SECRET="$(tomlq </var/lib/secrets/domeneshop.toml .secrets.DOMENESHOP_SECRET --raw-output)"
|
||||
curl https://"$DOMENESHOP_TOKEN":"$DOMENESHOP_SECRET"@api.domeneshop.no/v0/dyndns/update?hostname=${cfg.target}
|
||||
'';
|
||||
};
|
||||
in {
|
||||
User = "domeneshop";
|
||||
Group = "domeneshop";
|
||||
DynamicUser = true;
|
||||
ExecStart = "${prog}/bin/domeneshop-dyndns-updater.sh";
|
||||
PrivateTmp = true;
|
||||
};
|
||||
};
|
||||
systemd.timers.domeneshop-updater = let interval = "2h"; in {
|
||||
description = "Update domene.shop every ${interval}";
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnBootSec = "5m";
|
||||
OnUnitInactiveSec = interval;
|
||||
Unit = "domeneshop-updater.service";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
@ -9,12 +9,24 @@ let
|
|||
# find 'publicKey' with `ssh-keyscan`
|
||||
|
||||
remotes = [
|
||||
/** /
|
||||
{
|
||||
systems = [ "x86_64-linux" "wasm32-wasi" "wasm64-wasi" "x86_64-windows" "aarch64-linux" "riscv64-linux" ];
|
||||
hostName = "nord.pbsds.net"; # TODO: port 24
|
||||
sshUser = "pbsds";
|
||||
maxJobs = 2; # 4 cores
|
||||
#maxJobs = 1; # at least for big-parallel
|
||||
speedFactor = 2;
|
||||
supportedFeatures = [ "kvm" "big-parallel" "nixos-test" ];
|
||||
#mandatoryFeatures = [ ];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBSdIUtUfAxnVbPDmDDFdP2S3Wd3+CC8IfZAANJ76oh";
|
||||
}
|
||||
/**/
|
||||
{
|
||||
systems = [ "x86_64-linux" "wasm32-wasi" "wasm64-wasi" "x86_64-windows" "aarch64-linux" "riscv64-linux" ];
|
||||
hostName = "bolle.pbsds.net";
|
||||
sshUser = "pbsds";
|
||||
maxJobs = 16;
|
||||
maxJobs = 12; # 12 cores
|
||||
#maxJobs = 1; # at least for big-parallel
|
||||
speedFactor = 2;
|
||||
supportedFeatures = [ "kvm" "big-parallel" "nixos-test" ];
|
||||
|
@ -27,9 +39,9 @@ let
|
|||
/**/
|
||||
{
|
||||
systems = [ "x86_64-linux" "wasm32-wasi" "wasm64-wasi" "x86_64-windows" "aarch64-linux" "riscv64-linux" ];
|
||||
hostName = "noximilien.pbsds.net";
|
||||
hostName = "noximilien.pbsds.net"; # TODO: port 23
|
||||
sshUser = "pbsds";
|
||||
maxJobs = 4;
|
||||
maxJobs = 4; # 8 cores
|
||||
#maxJobs = 1; # at least for big-parallel
|
||||
speedFactor = 1;
|
||||
supportedFeatures = [ "kvm" "big-parallel" "nixos-test" ];
|
||||
|
@ -41,7 +53,7 @@ let
|
|||
systems = ["x86_64-linux"];
|
||||
hostName = "rocm.pbsds.net";
|
||||
sshUser = "pbsds";
|
||||
maxJobs = 8;
|
||||
maxJobs = 8; # 16 cores
|
||||
#maxJobs = 4;
|
||||
#maxJobs = 1; # at least for big-parallel
|
||||
speedFactor = 2;
|
||||
|
@ -57,7 +69,7 @@ let
|
|||
systems = ["x86_64-linux"];
|
||||
hostName = "isvegg.pvv.ntnu.no";
|
||||
sshUser = "pederbs";
|
||||
maxJobs = 2;
|
||||
maxJobs = 2; # 4 cores
|
||||
speedFactor = 0;
|
||||
publicKey = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGurF7rdnrDP/VgIK2Tx38of+bX/QGCGL+alrWnZ1Ca5llGneMulUt1RB9xZzNLHiaWIE+HOP0i4spEaeZhilfU=";
|
||||
}
|
||||
|
@ -65,7 +77,7 @@ let
|
|||
systems = ["x86_64-linux"];
|
||||
hostName = "eirin.pvv.ntnu.no";
|
||||
sshUser = "pederbs";
|
||||
maxJobs = 2;
|
||||
maxJobs = 2; # 8 cores
|
||||
speedFactor = 0;
|
||||
publicKey = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBILGULKEzYe5kPorM0rWATv10qq6debfCuYUYqw3HWZm4Y5Pi7mVKcf8lKFNPc1DxT/dStfxxtHj/2fbezaxElk=";
|
||||
}
|
||||
|
@ -73,7 +85,7 @@ let
|
|||
systems = ["x86_64-linux"];
|
||||
hostName = "demiurgen.pvv.ntnu.no";
|
||||
sshUser = "pederbs";
|
||||
maxJobs = 2;
|
||||
maxJobs = 2; # 8 cores
|
||||
speedFactor = 0;
|
||||
publicKey = "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKw92q3eB5HZbKJN3p+80MtirqcXPu01USE9LnoGYJuDvko1udjIy4UR0wAwELqgs+r7mJyuQPeXmOZKwjHP6tM=";
|
||||
}
|
||||
|
|
|
@ -20,12 +20,24 @@
|
|||
home-manager.users.pbsds = if config.services.xserver.desktopManager.gnome.enable
|
||||
then import ./home/gnome.nix
|
||||
else import ./home;
|
||||
|
||||
users.groups.pbsds.gid = 1001; # TODO: remove this, add a uid map to NFS instead
|
||||
users.users.pbsds = {
|
||||
isNormalUser = true;
|
||||
uid = 1001; # TODO: uid mapping be done at nfs-mount level? That way we can enforce
|
||||
description = "pbsds";
|
||||
extraGroups = [ "pbsds" "networkmanager" "wheel" "nixbld" ]; # TODO: NAS stuff
|
||||
extraGroups = [
|
||||
"pbsds"
|
||||
"networkmanager"
|
||||
"audio"
|
||||
"sound"
|
||||
"video"
|
||||
"input"
|
||||
"tty"
|
||||
"wheel"
|
||||
"nixbld"
|
||||
# TODO: NAS stuff
|
||||
];
|
||||
initialHashedPassword = "$6$yNgxTHcP1UYkNwuZ$1sBehnKgPjVnDe0tSV8kyfynWpfjDzuohZX6SoTrMnYFa3/aiMOtI6JppYevl.M6qYhBIT0XBvL6TqSSFWn8B/";
|
||||
|
||||
# TODO: fetch from github?
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
[general]
|
||||
fontname=Monospace 14
|
||||
selchars=-A-Za-z0-9,./?%&#:_
|
||||
scrollback=5000
|
||||
bgcolor=rgb(0,0,0)
|
||||
fgcolor=rgb(211,215,207)
|
||||
palette_color_0=rgb(0,0,0)
|
||||
palette_color_1=rgb(205,0,0)
|
||||
palette_color_2=rgb(78,154,6)
|
||||
palette_color_3=rgb(196,160,0)
|
||||
palette_color_4=rgb(52,101,164)
|
||||
palette_color_5=rgb(117,80,123)
|
||||
palette_color_6=rgb(6,152,154)
|
||||
palette_color_7=rgb(211,215,207)
|
||||
palette_color_8=rgb(85,87,83)
|
||||
palette_color_9=rgb(239,41,41)
|
||||
palette_color_10=rgb(138,226,52)
|
||||
palette_color_11=rgb(252,233,79)
|
||||
palette_color_12=rgb(114,159,207)
|
||||
palette_color_13=rgb(173,127,168)
|
||||
palette_color_14=rgb(52,226,226)
|
||||
palette_color_15=rgb(238,238,236)
|
||||
color_preset=Tango
|
||||
disallowbold=false
|
||||
cursorblinks=false
|
||||
cursorunderline=false
|
||||
audiblebell=true
|
||||
tabpos=top
|
||||
geometry_columns=80
|
||||
geometry_rows=24
|
||||
hidescrollbar=true
|
||||
hidemenubar=true
|
||||
hideclosebutton=false
|
||||
hidepointer=false
|
||||
disablef10=false
|
||||
disablealt=false
|
||||
disableconfirm=false
|
||||
|
||||
boldbright=false
|
||||
visualbell=false
|
||||
|
||||
[shortcut]
|
||||
new_window_accel=<Primary><Shift>n
|
||||
new_tab_accel=<Primary><Shift>t
|
||||
close_tab_accel=<Primary><Shift>w
|
||||
close_window_accel=<Primary><Shift>q
|
||||
copy_accel=<Primary><Shift>c
|
||||
paste_accel=<Primary><Shift>v
|
||||
name_tab_accel=<Primary><Shift>i
|
||||
previous_tab_accel=<Primary>Page_Up
|
||||
next_tab_accel=<Primary>Page_Down
|
||||
move_tab_left_accel=<Primary><Shift>Page_Up
|
||||
move_tab_right_accel=<Primary><Shift>Page_Down
|
||||
zoom_in_accel=<Primary>plus
|
||||
zoom_out_accel=<Primary>minus
|
||||
zoom_reset_accel=<Primary>0
|
|
@ -0,0 +1,36 @@
|
|||
#1/usr/bin/env python
|
||||
import configparser
|
||||
import os
|
||||
import urllib.parse
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
c = configparser.RawConfigParser()
|
||||
c.read(sys.argv[1])
|
||||
|
||||
def input(query):
|
||||
if shutil.which("zenity"):
|
||||
return subprocess.run(["zenity", "--forms", "--add-entry=" + query], capture_output=True).stdout.decode().strip()
|
||||
#if shutil.which("xdialog"): TODO
|
||||
assert 0
|
||||
|
||||
try:
|
||||
url=c["InternetShortcut"]["URL"]
|
||||
|
||||
if not url.strip():
|
||||
c["InternetShortcut"]["URL"] = input("Set URL")
|
||||
with open(sys.argv[1], "w") as f:
|
||||
c.write(f, space_around_delimiters=False)
|
||||
exit(0)
|
||||
|
||||
if urllib.parse.urlparse(url).scheme not in ["http","https","ftp","ssh","zotero"]:
|
||||
raise Exception("Invalid scheme in URI")
|
||||
|
||||
os.execv(shutil.which("xdg-open"), ["xdg-open", url])
|
||||
assert 0
|
||||
|
||||
except Exception as e:
|
||||
print(f"{e.__class__.__name__}: {e}",file=sys.stderr)
|
||||
|
||||
exit(3)
|
|
@ -0,0 +1,102 @@
|
|||
#!/usb/bin/env python3
|
||||
|
||||
#run with:
|
||||
#gnome-terminal --hide-menubar --window-with-profile=manjaro -x python -i $HOME/.local/opt/python-interactive-imports.py
|
||||
|
||||
import numpy as np
|
||||
from numpy import gcd, array, arange, linspace, meshgrid
|
||||
from numpy import cos, pi, sin, exp, log, log10, sqrt
|
||||
#from math import cos, pi, sin, exp, log, log10, sqrt, acos, asin, atan
|
||||
from math import acos, asin, atan, factorial
|
||||
from statistics import *
|
||||
from pprint import pprint
|
||||
from dis import dis
|
||||
import os, sys
|
||||
import functools
|
||||
import typing
|
||||
from functools import reduce
|
||||
from pathlib import Path
|
||||
from objexplore import explore
|
||||
|
||||
p = pprint
|
||||
|
||||
def plot(x, *args, label=[]):
|
||||
import matplotlib.pyplot as plt
|
||||
for i in args:
|
||||
plt.plot(x[:len(i)], i)
|
||||
plt.show()
|
||||
|
||||
|
||||
def hist(x, bins=20):
|
||||
import matplotlib.pyplot as plt
|
||||
plt.hist(x, bins)
|
||||
plt.show()
|
||||
|
||||
def scatter(x, *args):
|
||||
import matplotlib.pyplot as plt
|
||||
for i in args:
|
||||
plt.plot(x[:len(i)], i, ".")
|
||||
plt.show()
|
||||
|
||||
def imshow(image, cmap="gray"):
|
||||
import matplotlib.pyplot as plt
|
||||
plt.imshow(image.astype(np.float32), cmap=cmap)
|
||||
plt.show()
|
||||
|
||||
def image(filepath=None, gray=False):
|
||||
if not filepath:
|
||||
import cv2
|
||||
cam = cv2.VideoCapture(0)
|
||||
s, im = cam.read() # captures image
|
||||
cv2.destroyAllWindows()
|
||||
im = im.astype(np.float64) / 256
|
||||
if not gray:
|
||||
return np.dstack((
|
||||
im[:,:,2],
|
||||
im[:,:,1],
|
||||
im[:,:,0],
|
||||
))
|
||||
else:
|
||||
return ( im[:,:,2] + im[:,:,1] + im[:,:,0]) / 3
|
||||
else:
|
||||
import matplotlib.image as mpimg
|
||||
img=mpimg.imread('image_name.png')
|
||||
|
||||
|
||||
def rad(degrees):
|
||||
return degrees * pi / 180
|
||||
|
||||
def deg(radians):
|
||||
return radians / pi * 180
|
||||
|
||||
def clip(data):
|
||||
"xclip -sel clip"
|
||||
import subprocess
|
||||
p = subprocess.Popen(("xclip", "-sel", "clip"), stdin=subprocess.PIPE)
|
||||
p.communicate(str(data).encode("utf-8"))
|
||||
|
||||
def prod(args):
|
||||
return functools.reduce(lambda x, y: x*y, args)
|
||||
|
||||
def add(*args):
|
||||
return sum(args)
|
||||
|
||||
def mul(*args):
|
||||
return prod(args)
|
||||
|
||||
|
||||
def history(n=None):
|
||||
import readline
|
||||
return "\n".join([
|
||||
readline.get_history_item(i + 1)
|
||||
for i in range(readline.get_current_history_length())
|
||||
][-(n+1) if n is not None else 0:-1])
|
||||
|
||||
|
||||
def integral(data, initial=0, step=None):
|
||||
if step is None:
|
||||
step = (data[-1] - data[0]) / len(data)
|
||||
out = [initial]
|
||||
for i in data:
|
||||
out.append(out[-1] + i*step)
|
||||
return out[1:]
|
|
@ -0,0 +1,9 @@
|
|||
#!/usb/bin/env python3
|
||||
|
||||
#run with:
|
||||
#gnome-terminal --hide-menubar --window-with-profile=manjaro -x python -i $HOME/.local/opt/sympy-interactive-imports.py
|
||||
|
||||
from sympy import *
|
||||
x, y, z, t = symbols('x y z t')
|
||||
k, m, n = symbols('k m n', integer=True)
|
||||
f, g, h = symbols('f g h', cls=Function)
|
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
Binary file not shown.
After Width: | Height: | Size: 1.8 MiB |
|
@ -3,75 +3,10 @@
|
|||
{
|
||||
imports = [
|
||||
./default.nix
|
||||
#./profiles/gnome.nix
|
||||
./profiles/gnome
|
||||
];
|
||||
# TODO: dbus
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = false;
|
||||
enabled-extensions = [
|
||||
"just-perfection-desktop@just-perfection"
|
||||
];
|
||||
};
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
enable-hot-corners = false;
|
||||
clock-show-weekday = true;
|
||||
};
|
||||
"org/gnome/desktop/privacy" = {
|
||||
report-technical-problems = "false";
|
||||
};
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
button-layout = ":minimize,close";
|
||||
};
|
||||
"org/gnome/settings-daemon/plugins/power" = {
|
||||
sleep-interactive-ac-type = "nothing";
|
||||
};
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||
custom-keybindings = [
|
||||
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
|
||||
];
|
||||
};
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||
binding = "<Super>e";
|
||||
command = "nautilus";
|
||||
name = "open-file-browser";
|
||||
};
|
||||
"org/gnome/shell/extensions/just-perfection" = {
|
||||
theme = true;
|
||||
activities-button = false;
|
||||
};
|
||||
/** /
|
||||
"org/gnome/shell/extensions/blur-my-shell" = {
|
||||
brightness = 0.9;
|
||||
};
|
||||
"org/gnome/shell/extensions/blur-my-shell/panel" = {
|
||||
customize = true;
|
||||
sigma = 0;
|
||||
};
|
||||
"org/gnome/shell/extensions/blur-my-shell/overview" = { # Temporary = D2D Bug
|
||||
customize = true;
|
||||
sigma = 0;
|
||||
};
|
||||
/**/
|
||||
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
gnome.gnome-tweaks
|
||||
lxterminal
|
||||
|
||||
gnomeExtensions.just-perfection
|
||||
/** /
|
||||
gnomeExtensions.blur-my-shell
|
||||
gnomeExtensions.tray-icons-reloaded
|
||||
gnomeExtensions.removable-drive-menu
|
||||
gnomeExtensions.battery-indicator-upower
|
||||
gnomeExtensions.workspace-indicator-2
|
||||
gnomeExtensions.bluetooth-quick-connect
|
||||
gnomeExtensions.forge
|
||||
/**/
|
||||
];
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,137 @@
|
|||
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
|
||||
{ lib, ... }:
|
||||
|
||||
with lib.hm.gvariant;
|
||||
|
||||
{
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
close = [ "<Alt>F4" ];
|
||||
maximize = [ "<Super>Up" ];
|
||||
move-to-monitor-down = [];
|
||||
move-to-monitor-up = [];
|
||||
move-to-workspace-1 = [];
|
||||
move-to-workspace-down = [ "<Super><Shift>Page_Down" "<Control><Shift><Alt>Down" ];
|
||||
move-to-workspace-last = [];
|
||||
move-to-workspace-left = [ "<Super><Shift><Alt>Left" "<Control><Shift><Alt>Left" ];
|
||||
move-to-workspace-right = [ "<Super><Shift><Alt>Right" "<Control><Shift><Alt>Right" ];
|
||||
move-to-workspace-up = [ "<Super><Shift>Page_Up" "<Control><Shift><Alt>Up" ];
|
||||
panel-main-menu = [ "<Alt>F1" ];
|
||||
switch-applications = [];
|
||||
switch-applications-backward = [];
|
||||
switch-to-workspace-1 = [];
|
||||
switch-to-workspace-down = [ "<Super>Page_Down" "<Control><Alt>Down" ];
|
||||
switch-to-workspace-last = [];
|
||||
switch-to-workspace-left = [ "<Super><Alt>Left" "<Control><Alt>Left" ];
|
||||
switch-to-workspace-right = [ "<Super><Alt>Right" "<Control><Alt>Right" ];
|
||||
switch-to-workspace-up = [ "<Super>Page_Up" "<Control><Alt>Up" ];
|
||||
switch-windows = [ "<Alt>Tab" ];
|
||||
switch-windows-backward = [ "<Shift><Alt>Tab" ];
|
||||
unmaximize = [ "<Super>Down" ];
|
||||
};
|
||||
|
||||
"org/gnome/mutter/keybindings" = {
|
||||
switch-monitor = [ "XF86Display" ];
|
||||
toggle-tiled-left = [ "<Super>Left" ];
|
||||
toggle-tiled-right = [ "<Super>Right" ];
|
||||
};
|
||||
|
||||
"org/gnome/shell/keybindings" = {
|
||||
screenshot = [ "Print" ];
|
||||
show-screenshot-ui = [ "<Control>Print" ];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys" = {
|
||||
area-screenshot = [ "<Primary><Shift>Print" ];
|
||||
area-screenshot-clip = [ "<Primary>Print" ];
|
||||
custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom7/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom8/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom9/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom10/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom12/" ];
|
||||
home = [ "<Super>e" ];
|
||||
magnifier = [ "<Super>Escape" ];
|
||||
magnifier-zoom-in = [ "<Super>plus" ];
|
||||
magnifier-zoom-out = [ "<Super>minus" ];
|
||||
next = [ "<Super>aring" ];
|
||||
play = [ "<Alt>p" ];
|
||||
previous = [ "<Super>o" ];
|
||||
screenshot = [ "<Shift>Print" ];
|
||||
screenshot-clip = [ "Print" ];
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||
binding = "<Primary><Alt>t";
|
||||
command = "lxterminal";
|
||||
name = "Open Terminal";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
|
||||
binding = "";
|
||||
command = "sh -c \"$HOME/.local/opt/center-window.sh\"";
|
||||
name = "Window to Center";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom10" = {
|
||||
binding = "";
|
||||
command = "bash -c 'dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous'";
|
||||
name = "spotify prev";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom11" = {
|
||||
binding = "";
|
||||
command = "sh -c \"$HOME/.local/opt/toggle_sticky.sh\"";
|
||||
name = "Toggle stickyness";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom12" = {
|
||||
binding = "<Primary><Shift>space";
|
||||
command = "sh -c \"lxterminal -e python3 -i $HOME/.local/opt/sympy-interactive-imports.py\"";
|
||||
name = "Open SymPy terminal";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = {
|
||||
binding = "";
|
||||
command = "sh -c \"$HOME/.local/opt/left-window.sh\"";
|
||||
name = "Window to Left";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom3" = {
|
||||
binding = "";
|
||||
command = "sh -c \"$HOME/.local/opt/right-window.sh\"";
|
||||
name = "Window to Right";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom4" = {
|
||||
binding = "";
|
||||
command = "sh -c \"$HOME/.local/opt/center-small-window.sh\"";
|
||||
name = "Window to Center Small";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom5" = {
|
||||
binding = "<Primary><Alt>space";
|
||||
command = "sh -c \"lxterminal -e `command -v ptpython || echo python3` -i $HOME/.local/opt/python-interactive-imports.py\"";
|
||||
name = "Open Python Terminal";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom6" = {
|
||||
command = "sh -c \"$HOME/.local/opt/toggle_decoration.sh\"";
|
||||
name = "Toggle window decorations";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom7" = {
|
||||
binding = "";
|
||||
command = "sh -c \"$HOME/.local/opt/toggle_theme.sh\"";
|
||||
name = "Toggle gtk theme";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom8" = {
|
||||
binding = "";
|
||||
command = "bash -c 'dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause'";
|
||||
name = "spotify play";
|
||||
};
|
||||
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom9" = {
|
||||
binding = "";
|
||||
command = "bash -c 'dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.next'";
|
||||
name = "spotify next";
|
||||
};
|
||||
|
||||
};
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
|
||||
{ lib, ... }:
|
||||
|
||||
with lib.hm.gvariant;
|
||||
|
||||
{
|
||||
dconf.settings = {
|
||||
"org/gnome/shell/extensions/vertical-overview" = {
|
||||
override-dash = false;
|
||||
scaling-workspace-background = false;
|
||||
static-background = false;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/big-avatar" = {
|
||||
fontsize = 16;
|
||||
horizontalmode = true;
|
||||
picturesize = 48;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/gtile" = {
|
||||
autotile-1 = [ "" ];
|
||||
autotile-10 = [ "" ];
|
||||
autotile-2 = [ "" ];
|
||||
autotile-3 = [ "" ];
|
||||
autotile-4 = [ "" ];
|
||||
autotile-5 = [ "" ];
|
||||
autotile-6 = [ "" ];
|
||||
autotile-7 = [ "" ];
|
||||
autotile-8 = [ "" ];
|
||||
autotile-9 = [ "" ];
|
||||
autotile-main = [ "" ];
|
||||
global-presets = false;
|
||||
grid-sizes = "8x5";
|
||||
insets-primary-bottom = 3;
|
||||
insets-primary-left = 3;
|
||||
insets-primary-right = 3;
|
||||
insets-primary-top = 3;
|
||||
insets-secondary-bottom = 0;
|
||||
insets-secondary-left = 0;
|
||||
insets-secondary-right = 0;
|
||||
insets-secondary-top = 0;
|
||||
max-timeout = 1600;
|
||||
move-down-vi = [ "" ];
|
||||
move-left-vi = [ "" ];
|
||||
move-right-vi = [ "" ];
|
||||
move-up-vi = [ "" ];
|
||||
moveresize-enabled = false;
|
||||
preset-resize-1 = [ "" ];
|
||||
preset-resize-11 = [ "" ];
|
||||
preset-resize-12 = [ "" ];
|
||||
preset-resize-13 = [ "" ];
|
||||
preset-resize-14 = [ "" ];
|
||||
preset-resize-15 = [ "" ];
|
||||
preset-resize-16 = [ "" ];
|
||||
preset-resize-17 = [ "" ];
|
||||
preset-resize-18 = [ "" ];
|
||||
preset-resize-19 = [ "" ];
|
||||
preset-resize-2 = [ "" ];
|
||||
preset-resize-21 = [ "" ];
|
||||
preset-resize-22 = [ "" ];
|
||||
preset-resize-23 = [ "" ];
|
||||
preset-resize-24 = [ "" ];
|
||||
preset-resize-25 = [ "" ];
|
||||
preset-resize-26 = [ "" ];
|
||||
preset-resize-27 = [ "" ];
|
||||
preset-resize-28 = [ "" ];
|
||||
preset-resize-29 = [ "" ];
|
||||
preset-resize-3 = [ "" ];
|
||||
preset-resize-4 = [ "" ];
|
||||
preset-resize-5 = [ "" ];
|
||||
preset-resize-6 = [ "" ];
|
||||
preset-resize-7 = [ "" ];
|
||||
preset-resize-8 = [ "" ];
|
||||
preset-resize-9 = [ "" ];
|
||||
resize-down-vi = [ "" ];
|
||||
resize-left-vi = [ "" ];
|
||||
resize-right-vi = [ "" ];
|
||||
resize-up-vi = [ "" ];
|
||||
resize1 = "7x2 0:2 0:2, 2:5 0:2";
|
||||
show-icon = false;
|
||||
snap-to-neighbors = [ "" ];
|
||||
window-margin = 4;
|
||||
};
|
||||
|
||||
"org/gnome/shell/extensions/just-perfection" = {
|
||||
activities-button = true;
|
||||
app-menu = true;
|
||||
dash = false;
|
||||
dash-separator = true;
|
||||
panel = true;
|
||||
quick-settings = true;
|
||||
top-panel-position = 1;
|
||||
window-demands-attention-focus = true;
|
||||
};
|
||||
|
||||
};
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
# Generated via dconf2nix: https://github.com/gvolpe/dconf2nix
|
||||
{ lib, ... }:
|
||||
|
||||
with lib.hm.gvariant;
|
||||
|
||||
{
|
||||
dconf.settings = {
|
||||
"org/gnome/shell/extensions/user-theme" = {
|
||||
name = "vimix-dark-laptop-ruby";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
clock-show-date = true;
|
||||
clock-show-seconds = false;
|
||||
clock-show-weekday = true;
|
||||
color-scheme = "prefer-dark";
|
||||
cursor-theme = "Adwaita";
|
||||
document-font-name = "Sans 10";
|
||||
enable-animations = true;
|
||||
enable-hot-corners = false;
|
||||
font-antialiasing = "grayscale";
|
||||
font-hinting = "slight";
|
||||
font-name = "Noto Sans 10";
|
||||
gtk-theme = "Colloid-Dark";
|
||||
icon-theme = "Flat-Remix-Blue-Dark";
|
||||
locate-pointer = false;
|
||||
monospace-font-name = "Hack 11";
|
||||
show-battery-percentage = true;
|
||||
text-scaling-factor = 1.0;
|
||||
toolkit-accessibility = false;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
action-middle-click-titlebar = "none";
|
||||
auto-raise = false;
|
||||
button-layout = "appmenu:minimize,maximize,close";
|
||||
focus-mode = "click";
|
||||
focus-new-windows = "strict";
|
||||
resize-with-right-button = false;
|
||||
titlebar-font = "Cantarell Bold 11";
|
||||
};
|
||||
|
||||
"org/gnome/shell/overrides" = {
|
||||
dynamic-workspaces = true;
|
||||
};
|
||||
|
||||
"org/gnome/tweaks" = {
|
||||
show-extensions-notice = false;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/calendar" = {
|
||||
show-weekdate = true;
|
||||
};
|
||||
|
||||
"org/gnome/desktop/privacy" = {
|
||||
disable-microphone = false;
|
||||
};
|
||||
|
||||
};
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p dconf2nix sd
|
||||
set -euo pipefail
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
dump() {
|
||||
ROOT="$1"
|
||||
shift
|
||||
dconf dump "/$ROOT/" \
|
||||
| sd '^\[([^/])' "[$ROOT/\$1" \
|
||||
| sd '^\[/\]$' "[$ROOT]"
|
||||
}
|
||||
|
||||
{
|
||||
dump "org/gnome/desktop/wm/keybindings"
|
||||
dump "org/gnome/mutter/keybindings"
|
||||
dump "org/gnome/shell/keybindings"
|
||||
dump "org/gnome/settings-daemon/plugins/media-keys"
|
||||
} | dconf2nix > dconf-gnome-bindings.nix
|
||||
|
||||
{
|
||||
#dump "org/gnome/shell"
|
||||
dump "org/gnome/shell/extensions/vertical-overview"
|
||||
dump "org/gnome/shell/extensions/big-avatar"
|
||||
dump "org/gnome/shell/extensions/gtile"
|
||||
dump "org/gnome/shell/extensions/just-perfection"
|
||||
} | dconf2nix > dconf-gnome-extensions.nix
|
||||
|
||||
{
|
||||
dump "org/gnome/shell/extensions/user-theme"
|
||||
dump "org/gnome/desktop/interface" # features stuff already set by home-manager
|
||||
dump "org/gnome/desktop/wm/preferences"
|
||||
dump "org/gnome/shell/overrides"
|
||||
dump "org/gnome/tweaks"
|
||||
dump "org/gnome/desktop/calendar"
|
||||
dump "org/gnome/desktop/privacy"
|
||||
} | dconf2nix | sd --string-mode \
|
||||
'"/org/gnome/desktop/interface" = {' \
|
||||
'"/org/gnome/desktop/interface" = lib.mkDefault {' \
|
||||
> dconf-gnome-theme.nix
|
|
@ -0,0 +1,91 @@
|
|||
# Handwritten!
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
home.file.".local/opt/open-microsoft-url-files.py".source = ../../files/opt/open-microsoft-url-files.py;
|
||||
home.file.".local/opt/python-interactive-imports.py".source = ../../files/opt/python-interactive-imports.py;
|
||||
home.file.".local/opt/sympy-interactive-imports.py".source = ../../files/opt/sympy-interactive-imports.py;
|
||||
home.file.".config/lxterminal/lxterminal.conf".source = ../../files/lxterminal.conf;
|
||||
|
||||
imports = [
|
||||
./dconf-gnome-bindings.nix
|
||||
./dconf-gnome-extensions.nix
|
||||
./dconf-gnome-theme.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
lxterminal
|
||||
gnome.gnome-tweaks
|
||||
pkgs.vimix-gtk-themes # shell theme
|
||||
gnomeExtensions.big-avatar
|
||||
gnomeExtensions.bluetooth-quick-connect
|
||||
gnomeExtensions.gtile
|
||||
gnomeExtensions.just-perfection
|
||||
gnomeExtensions.keep-awake
|
||||
gnomeExtensions.middle-click-to-close-in-overview
|
||||
gnomeExtensions.vertical-overview
|
||||
gnomeExtensions.appindicator
|
||||
gnomeExtensions.removable-drive-menu
|
||||
/* TODO:
|
||||
gnomeExtensions.night-light-slider
|
||||
gnomeExtensions.tray-icons-reloaded
|
||||
gnomeExtensions.removable-drive-menu
|
||||
gnomeExtensions.battery-indicator-upower
|
||||
gnomeExtensions.workspace-indicator-2
|
||||
gnomeExtensions.forge
|
||||
*/
|
||||
];
|
||||
#dump "org/gnome/settings-daemon/plugins/power"
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = false;
|
||||
# remote-quick dconf dump /org/gnome/shell/ | grep ^enabled-extensions=
|
||||
enabled-extensions = [
|
||||
"bluetooth-quick-connect@bjarosze.gmail.com"
|
||||
"gTile@vibou"
|
||||
"just-perfection-desktop@just-perfection"
|
||||
"KeepAwake@jepfa.de"
|
||||
"middleclickclose@paolo.tranquilli.gmail.com"
|
||||
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
||||
"vertical-overview@RensAlthuis.github.com"
|
||||
"appindicatorsupport@rgcjonas.gmail.com"
|
||||
"drive-menu@gnome-shell-extensions.gcampax.github.com"
|
||||
];
|
||||
};
|
||||
|
||||
# wallpaper
|
||||
"org/gnome/desktop/background" = {
|
||||
color-shading-type = "solid";
|
||||
picture-options = "zoom";
|
||||
picture-uri = "file://${../../files/wallpaper.jpg}";
|
||||
picture-uri-dark = "file://${../../files/wallpaper.jpg}";
|
||||
};
|
||||
"org/gnome/desktop/screensaver" = {
|
||||
idle-activation-enabled = false;
|
||||
picture-uri = "file://${../../files/screensaver.jpg}";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
enable-hot-corners = false;
|
||||
clock-show-weekday = true;
|
||||
};
|
||||
#"org/gnome/desktop/wm/preferences" = {
|
||||
# button-layout = ":minimize,close";
|
||||
#};
|
||||
"org/gnome/desktop/peripherals/touchpad" = {
|
||||
disable-while-typing = false;
|
||||
natural-scroll = false;
|
||||
two-finger-scrolling-enabled = true;
|
||||
};
|
||||
"org/gnome/nautilus/preferences" = {
|
||||
confirm-trash = true;
|
||||
executable-text-activation = "display";
|
||||
show-create-link = true;
|
||||
sort-directories-first = true;
|
||||
#recursive-search = "never";
|
||||
#show-image-thumbnails = "always";
|
||||
};
|
||||
|
||||
};
|
||||
}
|
|
@ -7,8 +7,4 @@
|
|||
gtk.theme.package = pkgs.colloid-gtk-theme;
|
||||
gtk.iconTheme.name = "Flat-Remix-Blue-Dark";
|
||||
gtk.iconTheme.package = pkgs.flat-remix-icon-theme;
|
||||
dconf.settings."org/gnome/desktop/background" = {
|
||||
"picture-uri" = "file:///mnt/reidun/Images/Wallpapers/1575232313831.jpg";
|
||||
"picture-uri-dark" = "file:///mnt/reidun/Images/Wallpapers/1575232313831.jpg";
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue