Compare commits

..

5 commits

Author SHA1 Message Date
Evie Litherland-Smith f9fa256904 Add nixos-upgrade alias 2024-09-22 11:48:04 +01:00
Evie Litherland-Smith fa8c2126f8 Move shellAliases definition from scripts -> shell 2024-09-22 11:47:34 +01:00
Evie Litherland-Smith ead63d4d21 Move alacritty into own file in terminal directory
Move teams to only be installed/configured on work machines

Install nomachine-client on work machines, issues with flatpak version
2024-09-22 11:45:47 +01:00
Evie Litherland-Smith b87d93c767 Remove plasma config 2024-09-22 11:45:36 +01:00
Evie Litherland-Smith 3e15c478eb Add shellAliases back
Add alias to start and stop protonvpn (wg-quick)
2024-09-22 11:30:15 +01:00
12 changed files with 62 additions and 598 deletions

View file

@ -61,6 +61,7 @@
"steam-original"
"steam-run"
"steamcmd"
"nomachine-client"
];
overlays = [ (final: prev: { inherit (inputs.plasma-manager.packages.${prev.system}) rc2nix; }) ];
};

View file

@ -3,38 +3,20 @@
imports = [
./sway/default.nix
./emacs/default.nix
./terminal/default.nix
./browser/default.nix
./zathura/default.nix
./services/email/default.nix
];
home.packages = with pkgs; [
x2goclient
libreoffice-fresh
webcord
signal-desktop
whatsapp-for-linux
teams-for-linux
x2goclient
];
services.syncthing.enable = true;
programs = {
mpv.enable = true;
alacritty = {
enable = true;
settings = {
shell = "${config.programs.zsh.package}/bin/zsh";
window = {
dynamic_title = true;
padding = {
x = 5;
y = 5;
};
};
live_config_reload = true;
selection.save_to_clipboard = true;
mouse.hide_when_typing = true;
};
};
};
programs.mpv.enable = true;
xdg = {
mime.enable = true;
mimeApps =
@ -44,12 +26,7 @@
{
enable = true;
inherit defaultApplications;
associations = {
added = defaultApplications;
removed = {
"x-scheme-handler/zoomus" = config.xdg.mimeApps.defaultApplications."x-scheme-handler/http";
};
};
associations.added = defaultApplications;
};
userDirs = {
enable = true;
@ -61,14 +38,6 @@
configFile = {
"autostart/signal-desktop.desktop".source = "${pkgs.signal-desktop}/share/applications/signal-desktop.desktop";
"autostart/com.github.eneshecan.WhatsAppForLinux.desktop".source = "${pkgs.whatsapp-for-linux}/share/applications/com.github.eneshecan.WhatsAppForLinux.desktop";
"teams-for-linux/config.json".text = builtins.toJSON {
awayOnSystemIdle = true;
closeAppOnCross = true;
followSystemTheme = true;
notificationMethod = "electron";
optInTeamsV2 = true;
spellCheckerLanguages = [ "en_GB" ];
};
};
};
}

View file

@ -1,372 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [ ./konsole.nix ];
home.packages = with pkgs; [
rc2nix
wl-clipboard
(papirus-icon-theme.override { color = "violet"; })
];
services.gpg-agent.pinentryPackage = pkgs.pinentry-qt;
programs.plasma = {
enable = true;
overrideConfig = true;
workspace =
let
toCapital = import ../lib/to_capital.nix lib;
in
{
clickItemTo = "open";
theme = "default";
colorScheme = "Breeze${toCapital config.lib.stylix.scheme.variant}";
iconTheme = "Papirus-${toCapital config.lib.stylix.scheme.variant}";
windowDecorations = {
library = "org.kde.breeze";
theme = "Breeze";
};
cursor = {
inherit (config.home.pointerCursor) size;
theme = config.home.pointerCursor.name;
};
wallpaper = "${../wallpapers/landscapes/tropic_island_day.jpg}";
};
fonts =
let
general = {
family = config.stylix.fonts.sansSerif.name;
pointSize = 12;
};
small = {
inherit (general) family;
pointSize = general.pointSize - 2;
};
fixedWidth = {
family = config.stylix.fonts.monospace.name;
pointSize = 12;
};
in
{
inherit general small fixedWidth;
menu = general;
toolbar = general;
windowTitle = small;
};
hotkeys.commands = {
"launch-emacs" = {
name = "Launch Emacs Client Window";
key = "Meta+Alt+X";
command = "emacsclient -c";
};
};
panels = [
{
height = 32;
lengthMode = "fill";
location = "bottom";
alignment = "center";
hiding = "normalpanel";
floating = true;
widgets = [
{
name = "org.kde.plasma.kicker";
config.General = {
icon = "nix-snowflake";
appNameFormat = 0;
limitDepth = true;
alphaSort = true;
recentOrdering = 0;
showRecentApps = true;
showRecentDocs = true;
showIconsRootLevel = true;
};
}
"org.kde.plasma.marginsseparator"
{
name = "org.kde.plasma.icontasks";
config.General = {
maxStripes = "1";
showToolTips = "true";
launchers = [
"preferred://filemanager"
"applications:emacs.desktop"
];
};
}
"org.kde.plasma.panelspacer"
{
name = "org.kde.plasma.pager";
config.General = {
showWindowIcons = "true";
showOnlyCurrentScreen = "false";
wrapPage = "true";
};
}
"org.kde.plasma.panelspacer"
"org.kde.plasma.marginsseparator"
"org.kde.plasma.keyboardindicator"
"org.kde.plasma.cameraindicator"
{
systemTray = {
icons = {
spacing = "small";
scaleToFit = false;
};
};
}
{
digitalClock = {
date = {
enable = true;
format = "isoDate";
position = "besideTime";
};
time = {
format = "24h";
showSeconds = "onlyInTooltip";
};
calendar.showWeekNumbers = true;
};
}
{
name = "org.kde.plasma.userswitcher";
config.General = {
showFace = "true";
showName = "false";
showFullName = "true";
showTechnicalInfo = "true";
};
}
];
}
];
shortcuts = {
ksmserver = {
"Lock Session" = [
"Screensaver"
"Meta+Alt+L"
];
};
kwin = {
"Walk Through Windows of Current Application" = "Alt+`";
"Walk Through Windows of Current Application (Reverse)" = "Alt+¬";
"ToggleMouseClick" = "Meta+*";
"Expose" = "Meta+,";
"Switch Window Down" = "Meta+J";
"Switch Window Left" = "Meta+H";
"Switch Window Right" = "Meta+L";
"Switch Window Up" = "Meta+K";
"Invert" = "Meta+Ctrl+I";
"InvertWindow" = "Meta+Ctrl+U";
"Invert Screen Colors" = [ ];
};
"services/org.kde.krunner.desktop"."_launch" = [
"Meta+Space"
"Search"
"Alt+F2"
];
};
kwin = {
virtualDesktops = {
rows = 1;
number = 4;
};
effects = {
translucency.enable = true;
blur.enable = true;
cube.enable = true;
dimAdminMode.enable = true;
};
};
powerdevil =
let
powerButtonAction = "turnOffScreen";
whenSleepingEnter = "standbyThenHibernate";
whenLaptopLidClosed = "sleep";
in
{
AC = {
inherit powerButtonAction whenSleepingEnter whenLaptopLidClosed;
autoSuspend = {
action = "sleep";
idleTimeout = 7200;
};
dimDisplay = {
enable = true;
idleTimeOut = 300;
};
turnOffDisplay = {
idleTimeout = 1800;
idleTimeoutWhenLocked = 120;
};
};
battery = {
inherit powerButtonAction whenSleepingEnter whenLaptopLidClosed;
autoSuspend = {
action = "sleep";
idleTimeout = 900;
};
dimDisplay = {
enable = true;
idleTimeOut = 120;
};
turnOffDisplay = {
idleTimeout = 300;
idleTimeoutWhenLocked = 60;
};
};
lowBattery = {
inherit powerButtonAction whenSleepingEnter whenLaptopLidClosed;
autoSuspend = {
action = "hibernate";
idleTimeout = 300;
};
dimDisplay = {
enable = true;
idleTimeOut = 60;
};
turnOffDisplay = {
idleTimeout = 120;
idleTimeoutWhenLocked = "immediately";
};
};
};
configFile = {
baloofilerc."Basic Settings"."Indexing-Enabled" = false;
kcminputrc.Keyboard.NumLock = 1;
yakuakerc = {
Dialogs.FirstRun = false;
Window = {
DynamicTabTitles = true;
Height = 80;
Width = 80;
KeepOpen = true;
ShowSystrayIcon = false;
ShowTitleBar = false;
};
};
plasmanotifyrc = {
Notifications = {
NormalAlwaysOnTop = true;
};
};
krunnerrc = {
General = {
ActivateWhenTypingOnDesktop = false;
FreeFloating = true;
};
};
kscreenlockerrc = {
Daemon.Timeout = 15;
Greeter.WallpaperPlugin = "org.kde.potd";
};
klipperrc = {
General = {
SyncClipboards = true;
MaxClipItems = 5;
IgnoreImages = false;
KeepClipboardContents = false;
};
};
kdeglobals = {
General =
let
AccentColor =
let
r = config.lib.stylix.scheme."base0D-rgb-r";
g = config.lib.stylix.scheme."base0D-rgb-g";
b = config.lib.stylix.scheme."base0D-rgb-b";
in
"${r}, ${g}, ${b}";
in
{
inherit AccentColor;
LastUsedCustomAccentColor = AccentColor;
TerminalApplication = "konsole";
TerminalService = "org.kde.konsole.desktop";
};
WM = {
# TODO convert to base16 colours at some point
activeBackground = "227,229,231";
activeBlend = "227,229,231";
activeForeground = "35,38,41";
inactiveBackground = "239,240,241";
inactiveBlend = "239,240,241";
inactiveForeground = "112,125,138";
};
};
breezerc = {
Common = {
OutlineClassButton = true;
OutlineCloseButtone = true;
ShadowSize = "ShadowVeryLarge";
ShadowStrength = "128";
};
Style = {
MenuOpacity = "100";
};
};
dolphinrc = {
ContentDisplay = {
UsePermissionsFormat = "CombinedFormat";
};
General = {
BrowseThroughArchives = true;
OpenNewTabAfterLastTab = true;
RememberOpenedTabs = false;
};
};
kwinrc = {
Plugins = {
frozenappEnabled = false;
mouseclickEnabled = true;
shakecursorEnabled = false;
invertEnabled = true;
};
Windows = {
FocusPolicy = "FocusFollowsMouse";
RollOverDesktops = true;
};
NightColor = {
Active = true;
Mode = "Location";
LatitudeFixed = "51.7";
LongitudeFixed = "-1.2";
};
"Effect-translucency" = {
# Re-enable translucency when I can work out how to apply
# blur to all windows
Inactive = 100;
MoveResize = 100;
Dialogs = 100;
ComboboxPopups = 100;
Menus = 100;
};
"org.kde.kdecoration2" = {
BorderSize = "None";
BorderSizeAuto = "false";
};
"Script-krohnkite" = {
limitTileWidth = true;
screenGapBottom = 5;
screenGapLeft = 5;
screenGapRight = 5;
screenGapTop = 5;
tileLayoutGap = 5;
};
};
};
};
xdg.configFile."autostart/org.kde.yakuake.desktop".source = "${pkgs.yakuake}/share/applications/org.kde.yakuake.desktop";
}

View file

@ -1,15 +0,0 @@
# sudo pacman -S git frameworkintegration gcc-libs glibc kcmutils kcolorscheme kconfig kcoreaddons kdecoration kguiaddons ki18n kiconthemes kirigami kwidgetsaddons kwindowsystem qt6-base qt6-declarative qt6-svg xdg-utils extra-cmake-modules kcmutils5 frameworkintegration5 kconfigwidgets5 kiconthemes5 kirigami2 kwindowsystem5
{ mkDerivation, fetchFromGithub }:
let
pname = "klassy";
version = "6.1.breeze6.0.3";
in
mkDerivation {
inherit pname version;
src = fetchFromGithub {
owner = "paulmcauley";
repo = pname;
rev = version;
hash = "";
};
}

View file

@ -1,42 +0,0 @@
{ config, pkgs, ... }:
{
home.packages = [ pkgs.yakuake ];
programs.konsole = {
enable = true;
defaultProfile = "One-Light";
customColorSchemes.onelight = ./onelight.colorscheme;
profiles.onelight = {
name = "One-Light";
colorScheme = "onelight";
command = "${config.programs.zsh.package}/bin/zsh";
font = {
inherit (config.stylix.fonts.monospace) name;
size = config.stylix.fonts.sizes.terminal;
};
extraConfig = {
"Interaction Options" = {
TextEditorCmd = 6;
TextEditorCmdCustom = "emacsclient -c +LINE:COLUMN PATH";
UnderlineFilesEnabled = true;
OpenLinksByDirectClickEnabled = true;
};
"Terminal Features" = {
BlinkingCursorEnabled = true;
VerticalLine = false;
};
};
};
extraConfig = {
MainWindow = {
MenuBar = "Disabled";
};
TabBar = {
ExpandTabWidth = true;
NewTabButton = true;
};
ThumbnailsSettings = {
ThumbnailAlt = true;
};
};
};
}

View file

@ -1,20 +0,0 @@
{ pkgs, ... }:
{
home.packages = [
(pkgs.libsForQt5.krohnkite.overrideAttrs (
final: prev:
let
version = "0.9.7";
in
{
inherit version;
src = pkgs.fetchFromGitHub {
owner = "anametologin";
repo = "krohnkite";
rev = version;
hash = "sha256-8A3zW5tK8jK9fSxYx28b8uXGsvxEoUYybU0GaMD2LNw=";
};
}
))
];
}

View file

@ -1,100 +0,0 @@
[Background]
Color=250,250,250
[BackgroundFaint]
Color=250,250,250
[BackgroundIntense]
Color=250,250,250
[Color0]
Color=250,250,250
[Color0Faint]
Color=160,161,167
[Color0Intense]
Color=160,161,167
[Color1]
Color=202,18,67
[Color1Faint]
Color=202,18,67
[Color1Intense]
Color=202,18,67
[Color2]
Color=80,161,79
[Color2Faint]
Color=80,161,79
[Color2Intense]
Color=80,161,79
[Color3]
Color=215,95,0
[Color3Faint]
Color=215,95,0
[Color3Intense]
Color=215,95,0
[Color4]
Color=64,120,242
[Color4Faint]
Color=64,120,242
[Color4Intense]
Color=64,120,242
[Color5]
Color=166,38,164
[Color5Faint]
Color=166,38,164
[Color5Intense]
Color=166,38,164
[Color6]
Color=1,132,188
[Color6Faint]
Color=1,132,188
[Color6Intense]
Color=1,132,188
[Color7]
Color=56,58,66
[Color7Faint]
Color=9,10,11
[Color7Intense]
Color=9,10,11
[Foreground]
Color=56,58,66
[ForegroundFaint]
Color=56,58,66
[ForegroundIntense]
Color=56,58,66
[General]
Anchor=0.5,0.5
Blur=true
ColorRandomization=false
Description=One Light
FillStyle=Tile
Opacity=1.0
Wallpaper=
WallpaperFlipType=NoFlip
WallpaperOpacity=1

View file

@ -1,11 +1,9 @@
{ pkgs, ... }:
{
home = {
packages = [
home.packages = [
(pkgs.writeShellScriptBin "esync" (builtins.readFile ./shell/esync.sh))
(pkgs.writeShellScriptBin "gsync" (builtins.readFile ./shell/gsync.sh))
(pkgs.writeShellScriptBin "rsync-local-config" (builtins.readFile ./shell/rsync-local-config.sh))
(pkgs.writeShellScriptBin "xdg-query-program" (builtins.readFile ./shell/xdg-query-program.sh))
];
};
}

View file

@ -10,11 +10,18 @@
./ssh.nix
./starship.nix
];
home.packages = with pkgs; [
home = {
packages = with pkgs; [
rclone
git-sync
du-dust
];
shellAliases = {
update = "sudo nixos-rebuild switch";
protonup = "sudo wg-quick up protonvpn && sudo wg";
protondown = "sudo wg-quick down protonvpn";
};
};
programs = {
bash.enable = true;
carapace.enable = true;

View file

@ -0,0 +1,19 @@
{ config, ... }:
{
programs.alacritty = {
enable = true;
settings = {
shell = "${config.programs.zsh.package}/bin/zsh";
window = {
dynamic_title = true;
padding = {
x = 5;
y = 5;
};
};
live_config_reload = true;
selection.save_to_clipboard = true;
mouse.hide_when_typing = true;
};
};
}

View file

@ -0,0 +1,4 @@
{ ... }:
{
imports = [ ./alacritty.nix ];
}

View file

@ -6,10 +6,25 @@
}:
{
imports = [ ./openfortivpn/ukaea.nix ];
home.packages = [ pkgs.twinkle ];
home.packages = with pkgs; [
teams-for-linux
twinkle
nomachine-client
];
programs.git.userEmail = config.accounts.email.accounts.outlook.address;
accounts.email.accounts = {
proton.primary = lib.mkForce false;
outlook.primary = lib.mkForce true;
};
xdg.configFile = {
"autostart/teams-for-linux.desktop".source = "${pkgs.teams-for-linux}/share/applications/teams-for-linux.desktop";
"teams-for-linux/config.json".text = builtins.toJSON {
awayOnSystemIdle = true;
closeAppOnCross = false;
followSystemTheme = true;
notificationMethod = "electron";
optInTeamsV2 = true;
spellCheckerLanguages = [ "en_GB" ];
};
};
}