Compare commits

...

37 Commits

Author SHA1 Message Date
Ethan Simmons
c3f1f0bfb1 Update ankaa 2025-12-17 11:57:02 -06:00
Ethan Simmons
9eddcb81db Add anki and update 2025-10-30 18:47:55 -05:00
Ethan Simmons
f475232dd4 Add Vintage Story to games 2025-10-30 18:47:32 -05:00
Ethan Simmons
a60f8e3412 Add citrix to alpheratz 2025-09-02 11:51:55 -05:00
Ethan Simmons
170fe3a1dc Update alpheratz 2025-09-02 11:44:22 -05:00
Ethan Simmons
bf25d47f15 Add matlab 2025-09-02 11:44:22 -05:00
Ethan Simmons
f14771fe14 Update alpheratz 2025-09-02 11:44:22 -05:00
Ethan Simmons
ef753f2450 Add temporary workaround for citrix 2025-09-01 19:31:24 -05:00
Ethan Simmons
b4055e9364 Update ankaa 2025-09-01 19:31:13 -05:00
Ethan Simmons
53f8093cdb Update ankaa 2025-08-17 12:25:47 -05:00
Ethan Simmons
cef4d8654a Update alpheratz 2025-08-17 12:20:42 -05:00
Ethan Simmons
6fd520839b Add bluetooth shortcut 2025-07-27 11:43:14 -05:00
Ethan Simmons
11de4c2054 Setup optical drive 2025-07-27 11:43:14 -05:00
Ethan Simmons
b2b8ee0699 Add jp ocr shortcut 2025-07-27 11:43:14 -05:00
Ethan Simmons
748accf147 Add discord for alpheratz 2025-07-27 11:43:14 -05:00
Ethan Simmons
2ee0e60f05 Fix ankaa keyboard 2025-07-08 11:50:37 -05:00
Ethan Simmons
a04a60543d Update ankaa 2025-07-08 11:04:07 -05:00
Ethan Simmons
1702260451 Update alpheratz 2025-05-29 13:34:12 -05:00
Ethan Simmons
a9b49ffbfb Update wireguard config 2025-05-29 12:59:12 -05:00
Ethan Simmons
e48c699eeb Change keybind to switch keyboard layout 2025-05-24 11:50:49 -05:00
Ethan Simmons
76ccbfb451 Add new package and change music player 2025-05-12 11:33:31 -05:00
Ethan Simmons
a9338cb8b5 Add ports and change NFS IP for diphda 2025-05-12 11:29:48 -05:00
Ethan Simmons
746f6b6402 Add new applications for school 2025-04-06 15:09:42 -05:00
Ethan Simmons
cd2f9db375 Switch ankaa terminal to kitty 2025-04-06 13:44:08 -05:00
Ethan Simmons
c0af1940a3 Update ankaa 2025-04-05 19:07:32 -05:00
Ethan Simmons
f4aeaa9f12 Change screenshot command 2025-04-05 18:51:17 -05:00
Ethan Simmons
d61db2ded8 Edit nvim config 2025-04-05 18:51:17 -05:00
Ethan Simmons
dd0df124f9 Add shadps4 package 2025-04-05 18:51:17 -05:00
Ethan Simmons
d68035d1ba Update alpheratz 2025-04-05 13:20:05 -05:00
Ethan Simmons
cf89db66c5 Add quartus to packages 2025-03-19 16:14:49 -05:00
Ethan Simmons
bdd457512a Fix backup 2025-03-19 16:14:49 -05:00
Ethan Simmons
01a1c7089a Remove jp keyboard layout 2025-02-23 11:43:35 -06:00
Ethan Simmons
39031aab84 Update neovim config 2025-02-16 15:10:30 -06:00
Ethan Simmons
62dd32207d Setup japanese input 2025-02-16 14:58:51 -06:00
Ethan Simmons
807500b2ec Add fonts 2025-02-13 21:45:22 -06:00
Ethan Simmons
d982906c39 Edit nvim config 2025-02-13 21:45:12 -06:00
Ethan Simmons
cab5cebdad Add excludes for ankaa backups 2025-02-02 13:39:12 -06:00
31 changed files with 605 additions and 67 deletions

View File

@@ -3,12 +3,21 @@ keys:
- &admin_alpheratz age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
- &diphda age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
- &alpheratz age1cla0k3yffcelphkrmgz5upc0chgtdef25ne833jeqtapceux59rqkmhxf7
- &ankaa age15z4s7nts7ls5h3tu5zesghvnm3kj2qk3dsr004g8rwy578mq4q4qew7wl7
creation_rules:
- path_regex: secrets/[^/]+\.yaml$
key_groups:
- age:
- *admin_ankaa
- *admin_alpheratz
- path_regex: secrets/shared/[^/]+\.(yaml|otf)$
key_groups:
- age:
- *admin_ankaa
- *admin_alpheratz
- *alpheratz
- *ankaa
- *diphda
- path_regex: secrets/ankaa/[^/]+\.yaml$
key_groups:
- age:

94
flake.lock generated
View File

@@ -1,5 +1,21 @@
{
"nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
@@ -43,11 +59,11 @@
]
},
"locked": {
"lastModified": 1736373539,
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
"lastModified": 1747688870,
"narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
"rev": "d5f1f641b289553927b3801580598d200a501863",
"type": "github"
},
"original": {
@@ -64,11 +80,11 @@
]
},
"locked": {
"lastModified": 1738448366,
"narHash": "sha256-4ATtQqBlgsGqkHTemta0ydY6f7JBRXz4Hf574NHQpkg=",
"lastModified": 1761845621,
"narHash": "sha256-d+R4MHsGmdebvSMsYUFWONsZSlUbOo8Zq/wjMdMiIac=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "18fa9f323d8adbb0b7b8b98a8488db308210ed93",
"rev": "97e3022a8d2c09313fa49847f6da4d76abcfc72d",
"type": "github"
},
"original": {
@@ -83,11 +99,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1738434158,
"narHash": "sha256-YxrLyH56QI5p14F2GWhkt1kKbuhmXchboOI7/C97JZE=",
"lastModified": 1761867267,
"narHash": "sha256-b2vU6HzMR26JnHmnkvNZgefyfzAZOi9wLZdA+WOymHU=",
"owner": "ggerganov",
"repo": "llama.cpp",
"rev": "53debe6f3c9cca87e9520a83ee8c14d88977afa4",
"rev": "6eb208d17ea29bb60295d9a2b5e7122dfb8f4b55",
"type": "github"
},
"original": {
@@ -96,6 +112,25 @@
"type": "github"
}
},
"nix-matlab": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1754476755,
"narHash": "sha256-vSF0VMEmPMzwNkrXIZwkhOSYmKES9BaDK/LlEe7/q8E=",
"owner": "doronbehar",
"repo": "nix-matlab",
"rev": "0e9c9fb660f9e1a1e4d59fd083e0212a15b513e2",
"type": "gitlab"
},
"original": {
"owner": "doronbehar",
"repo": "nix-matlab",
"type": "gitlab"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1732014248,
@@ -126,11 +161,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1738277201,
"narHash": "sha256-6L+WXKCw5mqnUIExvqkD99pJQ41xgyCk6z/H9snClwk=",
"lastModified": 1751274312,
"narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "666e1b3f09c267afd66addebe80fb05a5ef2b554",
"rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
"type": "github"
},
"original": {
@@ -142,11 +177,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1738410390,
"narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=",
"lastModified": 1761672384,
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3a228057f5b619feb3186e986dbe76278d707b6e",
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
"type": "github"
},
"original": {
@@ -158,11 +193,25 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1731763621,
"narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=",
"lastModified": 1754340878,
"narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d",
"rev": "cab778239e705082fe97bb4990e0d24c50924c04",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1760596604,
"narHash": "sha256-J/i5K6AAz/y5dBePHQOuzC7MbhyTOKsd/GLezSbEFiM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3cbe716e2346710d6e1f7c559363d14e11c32a43",
"type": "github"
},
"original": {
@@ -178,6 +227,7 @@
"home-manager-stable": "home-manager-stable",
"home-manager-unstable": "home-manager-unstable",
"llama-cpp": "llama-cpp",
"nix-matlab": "nix-matlab",
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable",
"sops-nix": "sops-nix"
@@ -185,14 +235,14 @@
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_2"
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1738291974,
"narHash": "sha256-wkwYJc8cKmmQWUloyS9KwttBnja2ONRuJQDEsmef320=",
"lastModified": 1760998189,
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "4c1251904d8a08c86ac6bc0d72cc09975e89aef7",
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
"type": "github"
},
"original": {

View File

@@ -18,6 +18,8 @@
llama-cpp.url = "github:ggerganov/llama.cpp";
nix-matlab.url = "gitlab:doronbehar/nix-matlab";
};
outputs = inputs@{ self
@@ -28,6 +30,7 @@
, flake-utils
, sops-nix
, llama-cpp
, nix-matlab
, ...
}:
let
@@ -58,6 +61,10 @@
excludes = [
"/home/eesim/.local/share/Steam/steamapps/common"
"/home/eesim/.cache"
"/home/eesim/llama/models"
"/home/eesim/.local/share/Trash"
"/home/eesim/Games"
"/home/eesim/nixpkgs"
];
passphrase = "/home/eesim/.ssh/borgbase_passphrase";
key = "/home/eesim/.ssh/id_ed25519_borgbase";
@@ -73,9 +80,15 @@
};
};
term = {
terminal = "kitty";
font = "codelia";
};
gui = {
enable = true;
protonmail = true;
secrets = true;
gtk = false;
sway = {
@@ -109,6 +122,7 @@
enable = true;
lutris.enable = true;
minecraft.enable = true;
vintagestory.enable = true;
};
common.nil.enable = true;
@@ -153,8 +167,16 @@
};
backup = {
school = {
enable = true;
citrix = true;
};
games = {
enable = true;
};
backup = {
user = "eesim";
paths = [ "/home/eesim" ];
repo = "t643s856@t643s856.repo.borgbase.com:repo";
@@ -168,11 +190,6 @@
repeat = "daily";
};
school = {
enable = true;
citrix = true;
};
common.nil.enable = true;
networking = {
@@ -206,7 +223,7 @@
networking = {
firewall = {
allowedTCPPorts = [ 80 443 3000 3843 4533 6600 6722 7474 7878 8000 8080 8081 8083 8089 8096 8120 8181 8443 8787 8889 8902 8989 8998 9000 9091 9696 11112 13378 24454 25565 25600 ];
allowedTCPPorts = [ 80 443 3000 3843 4533 5030 6600 6722 7474 7878 8000 8080 8081 8083 8089 8096 8120 8181 8443 8787 8889 8902 8989 8998 9000 9091 9696 11112 13378 24454 25565 25600 50300 ];
allowedUDPPorts = [ 3478 10001 ];
};
};
@@ -221,19 +238,32 @@
pkgs = import nixpkgs {
inherit system;
overlays = with overlays; [ printrun citrix ];
overlays = with overlays; [ printrun shadps4 nix-matlab.overlay ];
config = {
allowUnfree = true;
permittedInsecurePackages = [
"electron-31.7.7"
# TODO: Remove when fixed https://github.com/NixOS/nixpkgs/issues/433004
"libsoup-2.74.3"
"libxml2-2.13.8"
];
};
};
# TODO: Remove when Citrix is fixed
pkgs_stable_tmp = import nixpkgs-stable {
inherit system;
config = {
allowUnfree = true;
};
};
localPackages = pkgs.lib.genAttrs flake-utils.lib.defaultSystems (system: {
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix {};
jhelioviewer = pkgs.callPackage ./pkgs/jhelioviewer.nix {};
llama-cpp = llama-cpp.packages.${system}.rocm;
shadps4 = pkgs.callPackage ./pkgs/shadps4.nix {};
gazou = pkgs.callPackage ./pkgs/gazou.nix {};
}
);
@@ -253,6 +283,7 @@
specialArgs = {
inherit localPackages;
inherit pkgs;
inherit pkgs_stable_tmp;
};
modules = [
{
@@ -271,6 +302,7 @@
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit utils;
inherit localPackages;
systemConfig = config.options;
};

View File

@@ -31,6 +31,13 @@
options = [ "subvol=nix" ];
};
# Remove comments for optical drive in wine
# fileSystems."/mnt/drive0" =
# { device = "/dev/sr0";
# fsType = "auto";
# options = [ "ro" "user" "noauto" "unhide" ];
# };
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View File

@@ -29,12 +29,46 @@
secrets."wireguard/private" = {};
secrets."wireguard/preshared" = {};
secrets."borgbase/nix-alpheratz" = {};
secrets."borgbase/nix-alpheratz" = {
owner = "eesim";
};
secrets."Codelia-Regular.otf" = {
format = "binary";
sopsFile = ../../secrets/shared/Codelia-Regular;
owner = "eesim";
path = "/home/eesim/.local/share/fonts/Codelia Regular.otf";
};
secrets."Codelia-Bold.otf" = {
format = "binary";
sopsFile = ../../secrets/shared/Codelia-Bold;
owner = "eesim";
path = "/home/eesim/.local/share/fonts/Codelia Bold.otf";
};
secrets."Codelia-Italic.otf" = {
format = "binary";
sopsFile = ../../secrets/shared/Codelia-Italic;
owner = "eesim";
path = "/home/eesim/.local/share/fonts/Codelia Italic.otf";
};
secrets."Codelia-BoldItalic.otf" = {
format = "binary";
sopsFile = ../../secrets/shared/Codelia-BoldItalic;
owner = "eesim";
path = "/home/eesim/.local/share/fonts/Codelia BoldItalic.ttf";
};
};
environment.systemPackages = with pkgs; [
localPackages.x86_64-linux.jhelioviewer
bottles
matlab
discord
wine
matlab-language-server
];
services.printing.enable = false;
@@ -61,18 +95,17 @@
networking.wg-quick.interfaces = {
wg0 = {
address = [ "10.0.0.2/32" ];
address = [ "10.137.175.3/32" ];
listenPort = 51820;
privateKeyFile = "/run/secrets/wireguard/private";
dns = [ "10.0.0.1" ];
dns = [ "10.137.175.1" ];
autostart = true;
peers = [
{
publicKey = "sWdXHlBqH+tAgSl0Tqr46sfKvgFN/vMDiuN08HjzaSg=";
presharedKeyFile = "/run/secrets/wireguard/preshared";
allowedIPs = [ "0.0.0.0/0" "::/0" ];
endpoint = "jellyfin.simmer505.com:51820";
endpoint = "mc.simmer505.com:51820";
}
];
};
@@ -87,7 +120,7 @@
# Define a user account.
users.users.eesim = {
isNormalUser = true;
extraGroups = [ "wheel" "video" "audio" "networkmanager" ];
extraGroups = [ "wheel" "video" "audio" "networkmanager" "cdrom" ];
shell = pkgs.fish;
};

View File

@@ -11,7 +11,7 @@
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" "wl" ];
boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";

View File

@@ -16,14 +16,48 @@
};
};
sops = {
defaultSopsFile = ../../secrets/ankaa/secrets.yaml;
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
secrets."Codelia-Regular.otf" = {
format = "binary";
sopsFile = ../../secrets/shared/Codelia-Regular;
owner = "eesim";
path = "/home/eesim/.local/share/fonts/Codelia Regular.otf";
};
secrets."Codelia-Bold.otf" = {
format = "binary";
sopsFile = ../../secrets/shared/Codelia-Bold;
owner = "eesim";
path = "/home/eesim/.local/share/fonts/Codelia Bold.otf";
};
secrets."Codelia-Italic.otf" = {
format = "binary";
sopsFile = ../../secrets/shared/Codelia-Italic;
owner = "eesim";
path = "/home/eesim/.local/share/fonts/Codelia Italic.otf";
};
secrets."Codelia-BoldItalic.otf" = {
format = "binary";
sopsFile = ../../secrets/shared/Codelia-BoldItalic;
owner = "eesim";
path = "/home/eesim/.local/share/fonts/Codelia BoldItalic.ttf";
};
};
environment.systemPackages = with pkgs; [
localPackages.x86_64-linux.jhelioviewer
localPackages.x86_64-linux.llama-cpp
printrun
pciutils
bottles
inkscape
orca-slicer
qemu
protonvpn-gui
anki
];
services.hardware.openrgb.enable = true;
@@ -62,8 +96,6 @@
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
programs.ssh.startAgent = true;
# Define a user account.
users.users.eesim = {
isNormalUser = true;

View File

@@ -38,7 +38,7 @@
};
fileSystems."/media" =
{ device = "192.168.1.100:/volume1/Media";
{ device = "10.137.177.10:/volume1/Media";
fsType = "nfs";
};

View File

@@ -10,6 +10,9 @@ vim.keymap.set('n', '<leader>ff', ':FzfLua files<CR>')
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>')
vim.keymap.set('n', '<leader>rg', ':FzfLua grep_project<CR>')
vim.keymap.set('n', 'ga', '<Plug>(EasyAlign)')
vim.keymap.set('x', 'ga', '<Plug>(EasyAlign)')
vim.keymap.set('i', '<S-Tab>', '<C-d>')

View File

@@ -37,6 +37,8 @@ local plugins = {
'Vigemus/iron.nvim',
'junegunn/vim-easy-align',
}
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"

View File

@@ -14,11 +14,19 @@ iron.setup {
python = {
command = { "python3" }, -- or { "ipython", "--no-autoindent" }
format = require("iron.fts.common").bracketed_paste_python
},
matlab = {
command = {
"matlab",
"-nosplash",
"-nodesktop"
},
}
},
-- How the repl window will be displayed
-- See below for more information
repl_open_cmd = require('iron.view').bottom(40),
repl_open_cmd = require('iron.view').split.vertical.rightbelow("%40"),
},
-- Iron doesn't set keymaps by default anymore.
-- You can set them here or manually add keymaps to the functions in iron.core

View File

@@ -24,6 +24,16 @@ lspconfig.rust_analyzer.setup {
},
}
lspconfig.matlab_ls.setup {
capabilities = capabilities,
settings = {
MATLAB = {
indexWorkspace = false,
installPath = "",
},
},
}
lspconfig.omnisharp.setup {
cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll"}
}

View File

@@ -1,5 +1,6 @@
{ lib
, pkgs
, localPackages
, config
, systemConfig
, utils
@@ -109,9 +110,11 @@ in
"${modifier}+Shift+0" = "move container to workspace 10";
"${modifier}+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'";
"${modifier}+Shift+c" = "reload";
"${modifier}+Shift+s" = "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" \"/home/eesim/Pictures/$(date +'%s_grim.png')\"";
"${modifier}+Shift+s" = "exec 'TMPFILE=\"$(mktemp)\"; ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" \"$TMPFILE\"; mv \"$TMPFILE\" \"/home/eesim/Pictures/$(${pkgs.zenity}/bin/zenity --entry).png\"'";
"${modifier}+Shift+o" = "exec '${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${localPackages.x86_64-linux.gazou}/bin/gazou | tail -n +2 | ${pkgs.wl-clipboard}/bin/wl-copy'";
"${modifier}+Shift+q" = "kill";
"${modifier}+p" = "focus mode_toggle";
"${modifier}+Control+b" = "exec bluetoothctl connect 18:3F:70:62:A5:3C";
"XF86AudioPause" = "exec playerctl play-pause";
"XF86AudioNext" = "exec playerctl next";
"XF86AudioPrev" = "exec playerctl previous";
@@ -127,8 +130,9 @@ in
})
];
startup = []
++ optionals gui.sway.desktop [
startup = [
{ command = "fcitx5 -d"; }
] ++ optionals gui.sway.desktop [
{ command = "vorta"; }
{ command = "MOZ_ENABLE_WAYLAND=1 firefox"; }
{ command = "sleep 20 && vesktop --enable-features=WebRTCPipeWireCapturer"; }
@@ -194,7 +198,7 @@ in
input."type:keyboard" = {
xkb_layout = "us,de";
xkb_options = "grp:toggle";
xkb_options = "grp:lctrl_lalt_toggle,lv3:ralt_switch";
};
output = gui.monitors;
@@ -253,9 +257,19 @@ in
'';
extraSessionCommands = mkIf gui.secrets ''
extraSessionCommands =
(if gui.secrets
then ''
eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh);
export SSH_AUTH_SOCK;
''
else "") + ''
# https://www.reddit.com/r/swaywm/comments/i6qlos/how_do_i_use_an_ime_with_sway/g1lk4xh?utm_source=share&utm_medium=web2x&context=3
export INPUT_METHOD=fcitx
export QT_IM_MODULE=fcitx
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export XIM_SERVERS=fcitx
'';
};
};

View File

@@ -15,8 +15,10 @@ in
settings = {
confirm_os_window_close = 0;
};
font.name = mkIf (cfg.font == "codelia") "Codelia";
};
programs.alacritty = mkIf (cfg.terminal == "alacritty") {
enable = true;
};

View File

@@ -12,7 +12,7 @@ in
config = {
environment.systemPackages = with pkgs; []
++ optional cfg.pipewire.enable pulseaudio
++ optional cfg.music.enable feishin
++ optional cfg.music.enable supersonic
++ optional cfg.tools.helvum helvum
++ optional cfg.tools.easyeffects easyeffects
++ optional cfg.tools.pavucontrol pavucontrol;

View File

@@ -41,6 +41,11 @@ in
main = mkMerge [
(mkIf (cfg.caps == "ctrl-esc") { capslock = "overload(control, esc)"; })
(mkIf (cfg.caps == "esc") { capslock = "esc"; })
{ rightcontrol = "rightcontrol"; }
{ rightshift = "rightshift"; }
];
altgr = mkMerge [
{ "-" = "macro(C-S-u 2 0 1 4 space)"; }
];
};
};

View File

@@ -9,11 +9,13 @@ with lib; let
in
{
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; with localPackages.x86_64-linux; []
environment.systemPackages = with pkgs; []
++ optional cfg.protonup.enable protonup-qt
++ optional cfg.gamescope.enable gamescope
++ optional cfg.discord.enable vesktop
++ optional cfg.minecraft.enable prismlauncher
++ optional cfg.vintagestory.enable vintagestory
++ optional cfg.ps4.enable localPackages.x86_64-linux.shadps4
++ optionals cfg.lutris.enable [ lutris wine ];
programs.steam = mkIf cfg.steam.enable {

View File

@@ -40,17 +40,27 @@ in
hardware.opengl.enable = true;
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
];
};
fonts = {
packages = with pkgs; [
liberation_ttf
noto-fonts
noto-fonts-cjk-sans
noto-fonts-extra
ubuntu_font_family
ubuntu-classic
vazir-fonts
font-awesome
corefonts
carlito
roboto
source-sans
source-sans-pro
];
fontconfig = {

View File

@@ -1,20 +1,24 @@
{ lib
, pkgs
, config
, localPackages
, pkgs_stable_tmp
, ...
}:
with lib; let
cfg = config.simmer.school;
extraCerts = [ ./incommon-rsa-ca2.pem ];
citrix = pkgs.citrix_workspace_23_09_0.override { inherit extraCerts; };
citrix = pkgs_stable_tmp.citrix_workspace_23_09_0.override { inherit extraCerts; };
in
{
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
xournalpp
libreoffice
anki
] ++ optional cfg.citrix citrix;
]
++ optional cfg.citrix citrix
++ optional cfg.kicad kicad
++ optional cfg.logisim logisim-evolution;
};
}

View File

@@ -34,12 +34,24 @@ in
default = true;
};
vintagestory.enable = mkOption {
description = "Whether to install Vintage Story";
type = types.bool;
default = false;
};
minecraft.enable = mkOption {
description = "Whether to install minecraft launcher";
type = types.bool;
default = false;
};
ps4.enable = mkOption {
description = "Whether to install ps4 emulator";
type = types.bool;
default = false;
};
gamescope.enable = mkOption {
description = "Whether to install gamescope";
type = types.bool;

View File

@@ -1,5 +1,6 @@
{ lib
, pkgs
, config
, ...
}:
@@ -19,5 +20,15 @@ in
type = types.bool;
default = false;
};
kicad = mkOption {
description = "Whether to install kicad";
type = types.bool;
default = cfg.enable;
};
logisim = mkOption {
description = "Whether to install logisim";
type = types.bool;
default = cfg.enable;
};
};
}

View File

@@ -21,6 +21,12 @@ in
type = types.enum [ "alacritty" "kitty" ];
default = "alacritty";
};
font = mkOption {
description = "Which font to use in terminal";
type = types.enum [ "default" "codelia" ];
default = "codelia";
};
};
}

View File

@@ -4,4 +4,5 @@
llama-cpp = import ./llama-cpp.nix { inherit inputs; };
printrun = import ./printrun.nix { inherit inputs; };
citrix = import ./citrix.nix;
shadps4 = import ./shadps4.nix;
}

15
overlays/shadps4.nix Normal file
View File

@@ -0,0 +1,15 @@
final: prev: {
shadps4 = prev.shadps4.overrideAttrs (old: {
version = "0.6.0";
src = prev.fetchFromGitHub {
owner = "shadps4-emu";
repo = "shadps4";
rev = "15d10e47ea272b1b4c8bf97f2b3bbb406d34b213";
fetchSubmodules = true;
hash = "sha256-ksIKmijWcRMhCDEi/dodZHiEoIO3CB0BkGn698J7jxI=";
};
patches = [];
});
}

36
pkgs/gazou.nix Normal file
View File

@@ -0,0 +1,36 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, tesseract4
, leptonica
, libsForQt5
}:
stdenv.mkDerivation {
name = "gazou";
version = "0.3.3";
src = fetchFromGitHub {
owner = "kamui-fin";
repo = "gazou";
rev = "7dd023fc78566f2911250f4b8550b0a33a943bb3";
hash = "sha256-6auc5i6b7r4knzen4TCq2mTdbiv+qCD0mWE3LNyh2J4=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
pkg-config
tesseract4
leptonica
libsForQt5.qt5.qtbase
libsForQt5.qt5.qtdeclarative
];
cmakeFlags = [
"-DGUI=OFF"
];
dontWrapQtApps = true;
}

View File

@@ -11,7 +11,8 @@ rustPlatform.buildRustPackage {
hash = "sha256-exMmqOkDKuyAEdda8gG/uF3+tnQzhJnOJK+sEtZbsZc=";
};
cargoHash = "sha256-z3apcltBKNovwo+yOHxvzn53PPefr2lEzkGst25fGsM=";
useFetchCargoVendor = true;
cargoHash = "sha256-4x9kEBnYPhhYej0mNmV7jibw6sH8SxVau9tIkIVTen8=";
meta = with lib; {
description = "Smol program to read in relevant desktop files and print them in a kickoff compatible format";

109
pkgs/shadps4.nix Normal file
View File

@@ -0,0 +1,109 @@
{ lib
, stdenv
, fetchFromGitHub
, llvmPackages_18
, cmake
, pkg-config
, git
, qt6
, alsa-lib
, libpulseaudio
, openal
, openssl
, zlib
, libedit
, udev
, libevdev
, SDL2
, jack2
, sndio
, vulkan-headers
, vulkan-utility-libraries
, vulkan-tools
, ffmpeg
, fmt
, glslang
, libxkbcommon
, wayland
, xorg
, sdl3
, stb
, wayland-protocols
, libpng
}:
stdenv.mkDerivation {
pname = "shadps4";
version = "0.6.0";
src = fetchFromGitHub {
owner = "shadps4-emu";
repo = "shadPS4";
rev = "9061028ce588037fa6f467cd2c0740d10ed725ed";
hash = "sha256-XhfJx1sDFz+RwhwcBA8W6WV6y1rDDvpyQe3v3NaSu2I=";
fetchSubmodules = true;
};
nativeBuildInputs = [
llvmPackages_18.clang
cmake
pkg-config
git
qt6.wrapQtAppsHook
];
buildInputs = [
alsa-lib
libpulseaudio
openal
openssl
zlib
libedit
udev
libevdev
SDL2
jack2
sndio
qt6.qtbase
qt6.qttools
qt6.qtmultimedia
vulkan-headers
vulkan-utility-libraries
vulkan-tools
ffmpeg
fmt
glslang
libxkbcommon
wayland
xorg.libxcb
xorg.xcbutil
xorg.xcbutilkeysyms
xorg.xcbutilwm
sdl3
stb
qt6.qtwayland
wayland-protocols
libpng
];
cmakeFlags = [
(lib.cmakeBool "ENABLE_QT_GUI" true)
(lib.cmakeBool "ENABLE_UPDATER" false)
];
cmakeBuildType = "RelWithDebugInfo";
dontStrip = true;
installPhase = ''
runHook preInstall
install -D -t $out/bin shadps4
install -Dm644 $src/.github/shadps4.png $out/share/icons/hicolor/512x512/apps/net.shadps4.shadPS4.png
install -Dm644 -t $out/share/applications $src/dist/net.shadps4.shadPS4.desktop
install -Dm644 -t $out/share/metainfo $src/dist/net.shadps4.shadPS4.metainfo.xml
runHook postInstall
'';
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long