Compare commits

..
2 Commits
Author SHA1 Message Date
Simmer 797a0c52c5 Fix sway config 2024-05-28 18:10:08 -05:00
Simmer fa663e4098 Initial configuration 2024-05-28 18:01:06 -05:00
107 changed files with 347 additions and 4711 deletions
-1
View File
@@ -1 +0,0 @@
/hostname/flake.nix
-35
View File
@@ -1,35 +0,0 @@
keys:
- &admin_ankaa age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97
- &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:
- *admin_ankaa
- path_regex: secrets/alpheratz/[^/]+\.yaml$
key_groups:
- age:
- *admin_alpheratz
- *alpheratz
- path_regex: secrets/diphda/[^/]+\.(yaml|keytab)$
key_groups:
- age:
- *admin_ankaa
- *admin_alpheratz
- *diphda
+162
View File
@@ -0,0 +1,162 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{
inputs,
outputs,
lib,
config,
pkgs,
...
}: {
imports = [
./hardware-configuration.nix
];
nixpkgs = {
overlays = [];
config = {
allowUnfree = true;
};
};
nix = {
settings = {
experimental-features = "nix-command flakes";
};
};
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.systemd-boot.xbootldrMountPoint = "/boot";
boot.loader.efi.efiSysMountPoint = "/efi";
boot.loader.efi.canTouchEfiVariables = true;
powerManagement.powertop.enable = true;
fileSystems = {
"/".options = [ "compress=zstd" ];
"/home".options = [ "compress=zstd" ];
"/nix".options = [ "compress=zstd" "noatime" ];
};
networking.hostName = "alpheratz";
networking.networkmanager.enable = true;
networking.nameservers = [ "192.168.0.100" ];
networking.firewall = {
allowedUDPPorts = [ 51820 ];
};
networking.wg-quick.interfaces = {
wg0 = {
address = [ "10.6.0.5" ];
listenPort = 51820;
privateKeyFile = "/root/wireguard-keys/wg0/private";
dns = [ "10.2.0.100" ];
peers = [
{
publicKey = "pEWHugUnnhWXkJzCIhXryRRZMoCAuvAITDeP4ItenQk=";
presharedKeyFile = "/root/wireguard-keys/wg0/preshared";
allowedIPs = [ "10.2.0.0/24" "192.168.0.0/24" ];
endpoint = "jellyfin.simmer505.com:51820";
persistentKeepalive = 25;
}
];
};
};
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
services.xserver.xkb.layout = "us";
services.xserver.xkb.options = "caps:escape";
fonts.packages = with pkgs; [
font-awesome
];
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# List packages installed in system profile. To search, run:
environment.systemPackages = with pkgs; with outputs.packages.x86_64-linux; [
wget
curl
ldns
git
killall
vim
wl-clipboard
grim
slurp
waybar
alacritty
kickoff
firefox
bottom
eza
ripgrep
fzf
mpv
wireguard-tools
pulseaudio
eza
pavucontrol
kickoff-dot-desktop
];
programs.sway.enable = true;
programs.fish.enable = true;
programs.thunar.enable = true;
programs.light.enable = true;
programs.neovim = {
enable = true;
defaultEditor = true;
};
xdg.portal.wlr.enable = true;
# Define a user account.
users.users.eesim = {
isNormalUser = true;
extraGroups = [ "wheel" "video" "audo" "networkmanager" ];
packages = with pkgs; [];
shell = pkgs.fish;
};
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Enable CUPS to print documents.
# services.printing.enable = true;
# Enable sound.
# sound.enable = true;
# hardware.pulseaudio.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "23.11"; # Did you read the comment?
}
+47
View File
@@ -0,0 +1,47 @@
if status is-interactive
### Local environment variables
set -g fish_greeting
set -g fish_cursor_default block
set -g fish_cursor_insert line
set -g fish_cursor_replace_one underscore
set -g fish_cursor_replace underscore
set -g fish_cursor_external line
set -g fish_cursor_visual block
end
if test (tty) = "/dev/tty1"
sway
end
if status is-login
### Environment Variables
# Set nvim to default editor
set -x SUDO_EDITOR = "/usr/bin/nvim"
# Set R library location
set -x R_LIBS_USER = "/home/eesim/.local/lib/R"
# Disable GTK portal
set -x GTK_USE_PORTAL=0
# Wayland environment variables
set -x XDG_CURRENT_DESKTOP = "sway"
set -x XDG_CURRENT_SESSION = "sway"
set -x XDG_SESSION_TYPE = "wayland"
set -x ELECTRON_OZONE_PLATFORM_HINT = "auto"
set -x QT_QPA_PLATFORM = "wayland;xcb"
set -x SDL_VIDEODRIVER = "wayland,x11"
# Java fix
set -x _JAVA_AWT_WM_NONREPARENTING = "1"
### Themes
set -x QT_QPA_PLATFORMTHEME = "qt5ct"
### Start fish
exec fish
end
@@ -3,7 +3,6 @@ require('config/settings')
require('config/plugins')
require('config/plugins/lualine')
require('config/plugins/lspconfig')
require('config/plugins/iron')
local vimscriptpath = vim.fn.stdpath("config") .. "/lua/config/vimscript/"
+15
View File
@@ -0,0 +1,15 @@
{
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"fzf-lua": { "branch": "main", "commit": "b442569ab827f72e344236c598b02cb9dc754e9f" },
"kanagawa.nvim": { "branch": "master", "commit": "860e4f80df71221d18bf2cd9ef1deb4d364274d2" },
"lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
"nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" },
"nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" },
"nvim-lspconfig": { "branch": "master", "commit": "b972e7154bc94ab4ecdbb38c8edbccac36f83996" },
"nvim-surround": { "branch": "main", "commit": "79aaa42da1f698ed31bcbe7f83081f69dca7ba17" },
"nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" },
"rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" },
"typst.vim": { "branch": "main", "commit": "d9a7650e76c85f8ba437e056d08dd43b01b8bfd6" }
}
@@ -8,12 +8,7 @@ vim.keymap.set('n', '<C-l>', '<C-w>l')
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('n', '<leader>rg', ':FzfLua grep<CR>')
vim.keymap.set('i', '<S-Tab>', '<C-d>')
@@ -4,19 +4,21 @@ local plugins = {
'nvim-lualine/lualine.nvim',
'kyazdani42/nvim-web-devicons',
{
'kylechui/nvim-surround',
event = "VeryLazy",
config = true,
},
{
'ibhagwan/fzf-lua',
config = function()
require('fzf-lua').setup({'skim'})
end
},
'neovim/nvim-lspconfig',
'hrsh7th/nvim-cmp',
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-path',
'L3MON4D3/LuaSnip',
'rust-lang/rust.vim',
{
'windwp/nvim-autopairs',
@@ -30,19 +32,6 @@ local plugins = {
lazy = false,
},
'jalvesaq/Nvim-R',
{
'RaafatTurki/hex.nvim',
config = function()
require('hex').setup()
end
},
'Vigemus/iron.nvim',
'junegunn/vim-easy-align',
}
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
@@ -1,7 +1,9 @@
local capabilities = require('cmp_nvim_lsp').default_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = false;
vim.lsp.config("rust_analyzer", {
local lspconfig = require('lspconfig')
lspconfig.rust_analyzer.setup {
capabilities = capabilities,
settings = {
["rust-analyzer"] = {
@@ -20,34 +22,18 @@ vim.lsp.config("rust_analyzer", {
},
},
},
})
}
vim.lsp.config("matlab_ls", {
capabilities = capabilities,
settings = {
MATLAB = {
indexWorkspace = false,
installPath = "",
},
},
})
local servers = {'ccls', 'typst_lsp'}
vim.lsp.config("omnisharp", {
cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll"}
})
local default_servers = {'pylsp', 'ccls', 'r_language_server', 'lua_ls', 'nil_ls', 'tinymist'}
for _, lsp in ipairs(default_servers) do
vim.lsp.config(lsp, {
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
capabilities = capabilities
})
}
end
local luasnip = require 'luasnip'
local cmp = require 'cmp'
cmp.setup {
preselect = cmp.PreselectMode.None,
mapping = cmp.mapping.preset.insert({
@@ -71,5 +57,3 @@ cmp.setup {
{ name = 'path' },
},
}
@@ -10,16 +10,6 @@ vim.opt.softtabstop=4
vim.opt.shiftwidth=4
vim.opt.shiftround=true
vim.api.nvim_create_autocmd(
{ "FileType" },
{ pattern = "nix",
callback = function()
vim.opt.softtabstop=2
vim.opt.shiftwidth=2
end
}
)
vim.opt.backspace={'indent','eol','start'}
vim.opt.hidden=true
vim.opt.laststatus=2
@@ -45,4 +35,6 @@ vim.opt.completeopt=menuone,noselect
vim.opt.undofile=true
vim.g['loaded_perl_provider']=0
vim.g['python3_host_prog']='/usr/bin/python'
@@ -7,7 +7,7 @@ set $up k
set $right l
set $term alacritty
set $menu kickoff-dot-desktop | kickoff --from-stdin --stdout | xargs -d '\n' swaymsg exec
set $menu swaymsg exec $(kickoff-dot-desktop | kickoff --from-stdin --stdout)
@@ -120,7 +120,7 @@ bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
for_window [app_id="simmer505.waywrite"] floating enable
for_window [app_id="org.speedcrunch."] floating enable
for_window [app_id="org.speedcrunch.speedcrunch"] floating enable
# Horizontal and vertical splits
bindsym $mod+b splith
Generated
+10 -237
View File
@@ -1,90 +1,17 @@
{
"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"
},
"locked": {
"lastModified": 1785627969,
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager-stable": {
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs-stable"
"nixpkgs"
]
},
"locked": {
"lastModified": 1779506708,
"narHash": "sha256-QOD/CNm196nCJRheux/URi4/HE66fthdOMqCJoPP1Y0=",
"lastModified": 1716930911,
"narHash": "sha256-t4HT5j3Jy7skRB5PINnxcEBCkgE89rGBpwTI7YS4Ffo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "3ee51fbdac8c8bdfe1e7e1fcaba6520a563f394f",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager",
"type": "github"
}
},
"home-manager-unstable": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1787379775,
"narHash": "sha256-XL2qfqmocfsvuEGyomZg4nOZfkuSe8vZtrOX99I+b6I=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ec1a8fdf74ed3f276148ee106299a2ba0e65d51f",
"rev": "a9b36cbe9292a649222b89fdb9ae9907e9c74086",
"type": "github"
},
"original": {
@@ -93,98 +20,13 @@
"type": "github"
}
},
"llama-cpp": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1787409227,
"narHash": "sha256-DOn6+/gcRlACqIPTf6XK8yIsocLpwnbpGB1pg8raHbM=",
"owner": "ggerganov",
"repo": "llama.cpp",
"rev": "b21e4de74567f5eef213765c9476a843c2e43f0d",
"type": "github"
},
"original": {
"owner": "ggerganov",
"repo": "llama.cpp",
"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": 1787360063,
"narHash": "sha256-dt4WdcvsA8/RCe+VZZwqU0X+XMM3wBbGCWA0/sFWzGo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2c423e03bbafcff28bfadc6781a4a8257f205cb5",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1785031560,
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1782847189,
"narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=",
"lastModified": 1716509168,
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b6018f87da91d19d0ab4cf979885689b469cdd41",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1787360063,
"narHash": "sha256-dt4WdcvsA8/RCe+VZZwqU0X+XMM3wBbGCWA0/sFWzGo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2c423e03bbafcff28bfadc6781a4a8257f205cb5",
"rev": "bfb7a882678e518398ce9a31a881538679f6f092",
"type": "github"
},
"original": {
@@ -194,79 +36,10 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1754340878,
"narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cab778239e705082fe97bb4990e0d24c50924c04",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1782175435,
"narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "89570f24e97e614aa34aa9ab1c927b6578a43775",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"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"
}
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1786629091,
"narHash": "sha256-gkig4nPi1CWc4Z50GBsjE4ygSE7hMpl/TwID2an2Cck=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "a8627b21b9107c5711c96b84f32a9a4b3d45295f",
"type": "github"
},
"original": {
"owner": "Mic92",
"repo": "sops-nix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
}
}
},
+20 -296
View File
@@ -2,315 +2,39 @@
description = "NixOS configuration";
inputs = {
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager-stable.url = "github:nix-community/home-manager/release-25.11";
home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable";
home-manager-unstable.url = "github:nix-community/home-manager";
home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
sops-nix.url = "github:Mic92/sops-nix";
llama-cpp.url = "github:ggerganov/llama.cpp";
nix-matlab.url = "gitlab:doronbehar/nix-matlab";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = inputs@{ self
, nixpkgs-stable
, nixpkgs-unstable
, home-manager-stable
, home-manager-unstable
, flake-utils
, sops-nix
, llama-cpp
, nix-matlab
, ...
}:
let
outputs = inputs@{ self, nixpkgs, home-manager, ... }: let
inherit (self) outputs;
lib = nixpkgs-stable.lib;
overlays = import ./overlays { inherit inputs; };
utils = import ./utils;
configs = [
{
hostname = "ankaa";
system = "x86_64-linux";
nixpkgs = nixpkgs-unstable;
home-manager = home-manager-unstable;
options = {
openssh = {
enable = true;
port = 2222;
};
backup = {
enable = true;
user = "eesim";
paths = [ "/home/eesim" ];
repo = "rf030789@rf030789.repo.borgbase.com:repo";
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";
repeat = "daily";
};
audio = {
pipewire.enable = true;
music.enable = true;
tools = {
helvum = true;
easyeffects = true;
};
};
term = {
terminal = "kitty";
font = "codelia";
};
gui = {
enable = true;
protonmail = true;
secrets = true;
gtk = false;
sway = {
enable = true;
desktop = true;
};
monitors = lib.mkMerge [
(utils.mkMonitor {
monitor = "DP-2";
resolution = "3440x1440";
refreshRate = 144;
wallpaper = "solar_system.png";
})
(utils.mkMonitor {
monitor = "HDMI-A-1";
resolution = "1920x1080";
x = 3440;
refreshRate = 75;
})
];
};
school = {
enable = true;
};
games = {
enable = true;
lutris.enable = true;
minecraft.enable = true;
vintagestory.enable = true;
};
common.nil.enable = true;
networking = {
wireguard.enable = true;
firewall.allowedTCPPorts = [ 8080 ];
};
};
}
{
hostname = "alpheratz";
system = "x86_64-linux";
nixpkgs = nixpkgs-unstable;
home-manager = home-manager-unstable;
options = {
laptop = {
enable = true;
backlight.enable = true;
powersave.enable = true;
};
audio = {
pipewire.enable = true;
music.enable = true;
};
gui = {
enable = true;
protonmail = true;
sway = {
enable = true;
desktop = false;
};
monitors = utils.mkMonitor {
monitor = "eDP-1";
resolution = "1920x1200";
refreshRate = 60;
};
};
school = {
enable = true;
};
games = {
enable = true;
};
backup = {
enable = true;
user = "eesim";
paths = [ "/home/eesim" ];
repo = "t643s856@t643s856.repo.borgbase.com:repo";
excludes = [
"/home/eesim/.cache/"
];
passphrase = "/run/secrets/borgbase/nix-alpheratz";
key = "/home/eesim/.ssh/id_ed25519_borg";
compression = "zstd";
repeat = "daily";
};
common.nil.enable = true;
networking = {
wireguard.enable = true;
};
term.terminal = "kitty";
};
}
{
hostname = "diphda";
system = "x86_64-linux";
nixpkgs = nixpkgs-stable;
home-manager = home-manager-stable;
options = {
openssh.enable = true;
backup = {
enable = true;
user = "eesim";
paths = [ "/home/eesim" ];
repo = "ssh://p9h977h3@p9h977h3.repo.borgbase.com/./repo";
excludes = [
"/home/eesim/.cache"
];
passphrase = "/run/secrets/backup/repo_password";
key = "/home/eesim/.ssh/id_ed25519_borgbase";
repeat = "daily";
};
networking = {
firewall = {
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 42420 50300 ];
allowedUDPPorts = [ 2456 2457 2458 3478 10001 42420 ];
};
};
};
}
];
in {
nixosConfigurations = builtins.listToAttrs (map (config:
let
inherit (config) nixpkgs home-manager system hostname;
pkgs = import nixpkgs {
inherit system;
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 {};
}
);
systemConfig = if builtins.pathExists (./. + "/hosts/${hostname}/system.nix") then
(./. + "/hosts/${hostname}/system.nix")
else
./hosts/default/system.nix;
homeConfig = if builtins.pathExists (./. + "/hosts/${hostname}/home.nix") then
(./. + "/hosts/${hostname}/home.nix")
else
./hosts/default/home.nix;
in
{
name = config.hostname;
value = nixpkgs.lib.nixosSystem {
specialArgs = {
inherit localPackages;
inherit pkgs;
inherit pkgs_stable_tmp;
};
nixosConfigurations = {
alpheratz = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = {inherit inputs outputs;};
modules = [
{
networking.hostName = hostname;
simmer = config.options;
nix.settings.trusted-users = [ "eesim" ];
}
systemConfig
(./. + "/hosts/${hostname}/hardware-configuration.nix")
sops-nix.nixosModules.sops
(import ./modules/nix)
(import ./modules/options)
./configuration.nix
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit utils;
inherit localPackages;
systemConfig = config.options;
};
home-manager.users.eesim = import homeConfig;
home-manager.users.eesim = import ./home.nix;
}
];
};
})
configs
};
packages = nixpkgs.lib.genAttrs [ "x86_64-linux" ] (system:
let
pkgs = import nixpkgs { inherit system; config.allowUnfree = true; };
in
{
pkgs = pkgs // removeAttrs self.packages.${system} [ "pkgs" ];
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix { };
}
);
};
}
@@ -5,43 +5,32 @@
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/a60ac6e2-b56e-49f8-bfcc-64b099dc6569";
{ device = "/dev/disk/by-uuid/ad45b094-608d-4850-b5ba-0f3917947629";
fsType = "btrfs";
options = [ "subvol=root" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/a60ac6e2-b56e-49f8-bfcc-64b099dc6569";
{ device = "/dev/disk/by-uuid/ad45b094-608d-4850-b5ba-0f3917947629";
fsType = "btrfs";
options = [ "subvol=home" ];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/a60ac6e2-b56e-49f8-bfcc-64b099dc6569";
{ device = "/dev/disk/by-uuid/ad45b094-608d-4850-b5ba-0f3917947629";
fsType = "btrfs";
options = [ "subvol=nix" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/2E79-9765";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
fileSystems."/media" =
{ device = "10.137.177.10:/volume1/Media";
fsType = "nfs";
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
@@ -49,7 +38,8 @@
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp6s18.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+49
View File
@@ -0,0 +1,49 @@
{
config,
pkgs,
...
}:
{
imports = [];
home = {
username = "eesim";
homeDirectory = "/home/eesim";
};
home.file.".config/sway/config".source = ./dotfiles/sway/config;
home.file.".config/nvim".source = ./dotfiles/nvim;
home.file.".config/waybar".source = ./dotfiles/waybar;
home.file.".config/fish/config.fish".source = ./dotfiles/fish/config.fish;
programs.git = {
enable = true;
userName = "Ethan Simmons";
userEmail = "eesimmons9105@gmail.com";
};
programs.home-manager.enable = true;
gtk = {
enable = true;
cursorTheme = {
name = "phinger-cursors-dark";
package = pkgs.phinger-cursors;
};
theme = {
name = "adw-gtk3-dark";
package = pkgs.adw-gtk3;
};
};
qt = {
style = {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
home.stateVersion = "23.11";
}
-45
View File
@@ -1,45 +0,0 @@
if status is-interactive
fish_add_path "/home/eesim/.cargo/bin/"
set fish_greeting
set fish_cursor_default block
set fish_cursor_insert line
set fish_cursor_replace_one underscore
set fish_cursor_replace underscore
set fish_cursor_external line
set fish_cursor_visual block
function fish_mode_prompt
end
### Local environment variables
set -x DENO_INSTALL "/home/eesim/.deno"
direnv hook fish | source
end
if status is-login
# SSH settings
eval (ssh-agent -c)
ssh-add /home/eesim/.ssh/id_ed25519
# Set environment variables in /etc/profile.d/
# exec bash -c "test -e /etc/profile && source /etc/profile"
# Disable GTK portal
set -x GTK_USE_PORTAL "0"
# Java fix
set -x _JAVA_AWT_WM_NONREPARENTING "1"
end
if test (tty) = "/dev/tty1"
sway
end
@@ -1,46 +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" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/d724cc9a-df7c-4771-8531-3544056b9aa1";
fsType = "btrfs";
options = [ "subvol=root" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/d724cc9a-df7c-4771-8531-3544056b9aa1";
fsType = "btrfs";
options = [ "subvol=home" ];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/d724cc9a-df7c-4771-8531-3544056b9aa1";
fsType = "btrfs";
options = [ "subvol=nix" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D7C8-96A5";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/7dc7727f-ebdc-4bd4-8526-193822b78aab"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-29
View File
@@ -1,29 +0,0 @@
{
config,
pkgs,
systemConfig,
...
}:
{
imports = [
../../modules/home
../../modules/options
];
simmer = systemConfig;
home = {
username = "eesim";
homeDirectory = "/home/eesim";
};
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
home.file.".tmux.conf".source = ../shared/dotfiles/tmux;
home.file.".config/fish/config.fish".source = ../shared/dotfiles/fish/gui-config.fish;
home.file.".config/waybar".source = ./dotfiles/waybar;
programs.home-manager.enable = true;
home.stateVersion = "23.11";
}
-36
View File
@@ -1,36 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIGSjCCBDKgAwIBAgIRAINbdhUgbS1uCX4LbkCf78AwDQYJKoZIhvcNAQEMBQAw
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIy
MTExNjAwMDAwMFoXDTMyMTExNTIzNTk1OVowRDELMAkGA1UEBhMCVVMxEjAQBgNV
BAoTCUludGVybmV0MjEhMB8GA1UEAxMYSW5Db21tb24gUlNBIFNlcnZlciBDQSAy
MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAifBcxDi60DRXr5dVoPQi
Q/w+GBE62216UiEGMdbUt7eSiIaFj/iZ/xiFop0rWuH4BCFJ3kSvQF+aIhEsOnuX
R6mViSpUx53HM5ApIzFIVbd4GqY6tgwaPzu/XRI/4Dmz+hoLW/i/zD19iXvS95qf
NU8qP7/3/USf2/VNSUNmuMKlaRgwkouue0usidYK7V8W3ze+rTFvWR2JtWKNTInc
NyWD3GhVy/7G09PwTAu7h0qqRyTkETLf+z7FWtc8c12f+SfvmKHKFVqKpNPtgMkr
wqwaOgOOD4Q00AihVT+UzJ6MmhNPGg+/Xf0BavmXKCGDTv5uzQeOdD35o/Zw16V4
C4J4toj1WLY7hkVhrzKG+UWJiSn8Hv3dUTj4dkneJBNQrUfcIfTHV3gCtKwXn1eX
mrxhH+tWu9RVwsDegRG0s28OMdVeOwljZvYrUjRomutNO5GzynveVxJVCn3Cbn7a
c4L+5vwPNgs04DdOAGzNYdG5t6ryyYPosSLH2B8qDNzxAgMBAAGjggFwMIIBbDAf
BgNVHSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQU70wAkqb7
di5eleLJX4cbGdVN4tkwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8C
AQAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYL
KwYBBAGyMQECAmcwCAYGZ4EMAQICMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9j
cmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9y
aXR5LmNybDBxBggrBgEFBQcBAQRlMGMwOgYIKwYBBQUHMAKGLmh0dHA6Ly9jcnQu
dXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBQUFDQS5jcnQwJQYIKwYBBQUHMAGG
GWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggIBACaA
DTTkHq4ivq8+puKE+ca3JbH32y+odcJqgqzDts5bgsapBswRYypjmXLel11Q2U6w
rySldlIjBRDZ8Ah8NOs85A6MKJQLaU9qHzRyG6w2UQTzRwx2seY30Mks3ZdIe9rj
s5rEYliIOh9Dwy8wUTJxXzmYf/A1Gkp4JJp0xIhCVR1gCSOX5JW6185kwid242bs
Lm0vCQBAA/rQgxvLpItZhC9US/r33lgtX/cYFzB4jGOd+Xs2sEAUlGyu8grLohYh
kgWN6hqyoFdOpmrl8yu7CSGV7gmVQf9viwVBDIKm+2zLDo/nhRkk8xA0Bb1BqPzy
bPESSVh4y5rZ5bzB4Lo2YN061HV9+HDnnIDBffNIicACdv4JGyGfpbS6xsi3UCN1
5ypaG43PJqQ0UnBQDuR60io1ApeSNkYhkaHQ9Tk/0C4A+EM3MW/KFuU53eHLVlX9
ss1iG2AJfVktaZ2l/SbY7py8JUYMkL/jqZBRjNkD6srsmpJ6utUMmAlt7m1+cTX8
6/VEBc5Dp9VfuD6hNbNKDSg7YxyEVaBqBEtN5dppj4xSiCrs6LxLHnNo3rG8VJRf
NVQdgFbMb7dOIBokklzfmU69lS0kgyz2mZMJmW2G/hhEdddJWHh3FcLi2MaeYiOV
RFrLHtJvXEdf2aEaZ0LOb2Xo3zO6BJvjXldv2woN
-----END CERTIFICATE-----
-149
View File
@@ -1,149 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{
lib,
config,
pkgs,
localPackages,
...
}: {
nixpkgs = {
overlays = [];
config = {
allowUnfree = true;
};
};
nix = {
settings = {
experimental-features = "nix-command flakes";
};
};
sops = {
defaultSopsFile = ../../secrets/alpheratz/secrets.yaml;
age.keyFile = "/etc/sops.key";
secrets."wireguard/private" = {};
secrets."wireguard/preshared" = {};
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
matlab
discord
wine
matlab-language-server
zoom-us
calibre
];
services.printing.enable = false;
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
services.flatpak.enable = true;
programs.ssh.forwardX11 = true;
programs.ssh.setXAuthLocation = true;
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
fileSystems = {
"/".options = [ "compress=zstd" ];
"/home".options = [ "compress=zstd" ];
"/nix".options = [ "compress=zstd" "noatime" ];
"/mnt/drive0" = {
device = "/dev/sr0";
fsType = "auto";
mountPoint = "/mnt/drive0";
options = [ "ro" "user" "noauto" "unhide" ];
};
};
networking.wg-quick.interfaces = {
wg0 = {
address = [ "10.137.175.3/32" ];
listenPort = 51820;
privateKeyFile = "/run/secrets/wireguard/private";
dns = [ "10.137.175.1" ];
autostart = true;
peers = [
{
publicKey = "sWdXHlBqH+tAgSl0Tqr46sfKvgFN/vMDiuN08HjzaSg=";
allowedIPs = [ "0.0.0.0/0" "::/0" ];
endpoint = "mc.simmer505.com:51820";
}
];
};
};
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
# Define a user account.
users.users.eesim = {
isNormalUser = true;
extraGroups = [ "wheel" "video" "audio" "networkmanager" "cdrom" ];
shell = pkgs.fish;
};
# Enable CUPS to print documents.
# services.printing.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "23.11"; # Did you read the comment?
}
@@ -1,13 +0,0 @@
[font]
size = 12
[font.italic]
family = "Codelia Nerd Font"
style = "Italic"
[font.normal]
family = "Codelia Nerd Font"
style = "Regular"
#[shell]
#program = "/usr/bin/fish"
-33
View File
@@ -1,33 +0,0 @@
if status is-interactive
fish_add_path "/home/eesim/.cargo/bin/"
set fish_greeting
set fish_cursor_default block
set fish_cursor_insert line
set fish_cursor_replace_one underscore
set fish_cursor_replace underscore
set fish_cursor_external line
set fish_cursor_visual block
function fish_mode_prompt
end
direnv hook fish | source
end
if status is-login
# Disable GTK portal
set -x GTK_USE_PORTAL "0"
# Java fix
set -x _JAVA_AWT_WM_NONREPARENTING "1"
end
if test (tty) = "/dev/tty1"
sway
end
-4
View File
@@ -1,4 +0,0 @@
core.sshCommand = "ssh -i ~/.ssh/id_ed25519"
user.email = "eesimmons9105@gmail.com"
user.name = "Ethan Simmons"
-247
View File
@@ -1,247 +0,0 @@
# Lemurs configuration file.
# Contains all the customization options of lemurs.
#
# Note: that as of now you need to have all options in the selected
# configuration file. Otherwise Lemurs will not work.
#
# Colors:
# ---------
# There is a list of predefined colors. These include:
# - black
# - white
# - (dark) gray
# - (light) red
# - (light) blue
# - (light) green
# - (light) magenta
# - (light) cyan
# - (light) yellow
# - orange
#
# You can also utilize custom colors with hex color codes.
# "#87CEEB" will create a Sky Blue color.
#
# Note: If the color wasn't recognized, it will default to white.
# ---------
#
# Modifiers:
# ---------
# There is a number of modifiers you can use. These can be combined by
# delimiting them with a comma (e.g. "bold,italic"). The modifiers are:
# - bold
# - dim
# - italic
# - underlined
# - reverse
# - crossed out
# - hidden
# ---------
#
# The tty which contains lemurs. This has to be mirrored in the lemurs.service
tty = 2
# The PAM service that should be used to login
pam_service = "lemurs"
# Focus behaviour of fields when Lemurs is initially started
#
# Possible values:
# - default: Initially focus on first non-cached value
# - no-focus: No initial focus
# - environment: Initially focus on the environment selector
# - username: Initially focus on the username field
# - password: Initially focus on the password field
focus_behaviour = "default"
[power_controls]
# Allow for the shutdown option to be used
allow_shutdown = true
# The text in the top-left to display how to shutdown. The text '%key%' will be
# replaced with the shutdown_key.
shutdown_hint = "Shutdown %key%"
# The color and modifiers of the hint in the top-left corner
shutdown_hint_color = "dark gray"
shutdown_hint_modifiers = ""
# The key used to shutdown. Possibilities are F1 to F12.
shutdown_key = "F1"
# The command that is executed when the key is pressed
shutdown_cmd = "systemctl poweroff -l"
# Allow for the reboot option to be used
allow_reboot = true
# The text in the top-left to display how to reboot. The text '%key%' will be
# replaced with the shutdown_key.
reboot_hint = "Reboot %key%"
# The color and modifiers of the hint in the top-left corner
reboot_hint_color = "dark gray"
reboot_hint_modifiers = ""
# The key used to reboot. Possibilities are F1 to F12.
reboot_key = "F2"
# The command that is executed when the key is pressed
reboot_cmd = "systemctl reboot -l"
# The margin between the shutdown and reboot hints
hint_margin = 2
# Setting for the selector of the desktop environment you are using.
[environment_switcher]
# Terms:
# ---------
# Movers: indicators which show which direction one can move whilst selecting
# the desktop environment
# Selected: The currently selected desktop environment.
# Neighbours: The adjacent desktop environment to the one current selected
#
# Visualisation:
#
# < i3 bspwm awesome >
#
# ^ ^ ^ ^ ^
# | | | | |
# mover | selected | mover
# | |
# neighbour neighbour
# ---------
#
# Show an option for the TTY shell when logging in as one of the environments.
# NOTE: it is always shown when no viable options are found.
include_tty_shell = false
# Remember the selected environment after logging in for the next time
remember = true
# Enables showing the movers
show_movers = true
# Mover's color and modifiers whilst the selector is unfocused
mover_color = "dark gray"
mover_modifiers = ""
# Mover's color and modifiers whilst the selector is focused
mover_color_focused = "orange"
mover_modifiers_focused = "bold"
# The characters used to display the movers. Suggestions are:
# - "<" ">"
# - "<-" "->"
# - "<<" ">>"
# - "[" "]"
left_mover = "<"
right_mover = ">"
# The margin between the movers and the neighbours or selected (depending on
# `show_neighbours`)
mover_margin = 1
# Enables showing the neighbours
show_neighbours = true
# Neighbours' color and modifiers whilst the selector is unfocused
neighbour_color = "dark gray"
neighbour_modifiers = ""
# Neighbours' color and modifiers whilst the selector is focused
neighbour_color_focused = "gray"
neighbour_modifiers_focused = ""
# Margin between neighbours and selected
neighbour_margin = 1
# Selected's color and modifiers whilst the selector is unfocused
selected_color = "gray"
selected_modifiers = "underlined"
# Selected's color and modifiers whilst the selector is focused
selected_color_focused = "white"
selected_modifiers_focused = "bold"
# The length of the name of the desktop environment which is displayed.
max_display_length = 8
# The text used when no desktop environments are available
no_envs_text = "No environments..."
# The color and modifiers of the 'no desktop environments available text'
# whilst the selector is unfocused
no_envs_color = "white"
no_envs_modifiers = ""
# The color and modifiers of the 'no desktop environments available text'
# whilst the selector is focused
no_envs_color_focused = "red"
no_envs_modifiers_focused = ""
[username_field]
# Remember the username for the next time after a successful login attempt.
remember = true
[username_field.style]
# Enables showing a title
show_title = true
# The text used within the title
title = "Login"
# The title's color and modifiers whilst the username field is unfocused
title_color = "white"
content_color = "white"
# The title's color and modifiers whilst the username field is focused
title_color_focused = "orange"
content_color_focused = "orange"
# Enables showing the borders
show_border = true
# The borders' color and modifiers whilst the username field is unfocused
border_color = "white"
# The borders' color and modifiers whilst the username field is focused
border_color_focused = "orange"
# Constrain the width of the username field
use_max_width = true
# The contraint of the username field's width
max_width = 48
[password_field]
# The character used for replacement when typing a password. Leave empty for no
# feedback.
# Note: Only one character is accepted.
content_replacement_character = "*"
[password_field.style]
# Enables showing a title
show_title = true
# The text used within the title
title = "Password"
# The title's color and modifiers whilst the password field is unfocused
title_color = "white"
content_color = "white"
# The title's color and modifiers whilst the password field is focused
title_color_focused = "orange"
content_color_focused = "orange"
# Enables showing the borders
show_border = true
# The borders' color and modifiers whilst the username field is unfocused
border_color = "white"
# The borders' color and modifiers whilst the username field is focused
border_color_focused = "orange"
# Constrain the width of the password field
use_max_width = true
# The contraint of the password field's width
max_width = 48
[wayland]
scripts_path = "/etc/lemurs/wayland"
-77
View File
@@ -1,77 +0,0 @@
configuration {
display-drun: "Applications:";
display-window: "Windows:";
drun-display-format: "{name}";
font: "JetBrainsMono Nerd Font Medium 10";
modi: "run,drun";
}
@theme "/dev/null"
* {
bg: #2f343f;
bg-alt: #444b6a;
fg: #f3f4f5;
fg-alt: #787c99;
background-color: @bg;
border: 0;
margin: 0;
padding: 0;
spacing: 0;
}
window {
width: 30%;
}
element {
padding: 8 0;
text-color: @fg-alt;
}
element selected {
text-color: @fg;
}
element-text {
background-color: inherit;
text-color: inherit;
vertical-align: 0.5;
}
element-icon {
size: 30;
}
entry {
background-color: @bg-alt;
padding: 12;
text-color: @fg;
}
inputbar {
children: [prompt, entry];
}
listview {
padding: 8 12;
background-color: @bg;
columns: 1;
lines: 8;
}
mainbox {
background-color: @bg;
children: [inputbar, listview];
}
prompt {
background-color: @bg-alt;
enabled: true;
padding: 12 0 0 12;
text-color: @fg;
}
View File
-1
View File
@@ -1 +0,0 @@
@nClientDownloadEnableHTTP2PlatformLinux 0
-292
View File
@@ -1,292 +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).
#
# 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.
default_border pixel 5
default_floating_border pixel 5
# Use pactl to adjust volume in PulseAudio.
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
# bindsym XF86AudioPlay exec python3 /home/eesim/Scripts/MuteMusic.py
bindsym XF86AudioPause exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec alacritty
bindsym $mod+Control+f exec MOZ_ENABLE_WAYLAND=1 firefox
bindsym $mod+Control+s exec steam
bindsym $mod+Control+t exec thunar
bindsym $mod+Control+d exec vesktop --enable-features=WebRTCPipeWireCapturer
bindsym $mod+Control+x exec strawberry
bindsym $mod+Control+q exec qbittorrent
bindsym $mod+Control+h exec helvum
bindsym $mod+Control+p exec pavucontrol
bindsym $mod+space exec kickoff-dot-desktop | kickoff --from-stdin --stdout | xargs -d '\n' swaymsg exec
# kill focused window
bindsym $mod+Shift+q kill
# take screenshot
bindsym $mod+Shift+s exec flameshot gui
# change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l 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+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l 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+b 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+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"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
set $MonitorA "DP-2"
set $MonitorB "HDMI-A-1"
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
workspace $ws1 output $MonitorA
workspace $ws2 output $MonitorA
workspace $ws3 output $MonitorA
workspace $ws4 output $MonitorB
workspace $ws5 output $MonitorB
workspace $ws6 output $MonitorB
workspace $ws7 output $MonitorB
workspace $ws8 output $MonitorB
workspace $ws9 output $MonitorB
workspace $ws10 output $MonitorB
set $opacity 0.9
for_window [app_id="de.shorsh.discord-screenaudio"] opacity $opacity
for_window [class="discord"] opacity $opacity
for_window [class="vesktop"] opacity &opacity
for_window [app_id="Alacritty"] opacity $opacity
for_window [class="gamescope"] fullscreen
for_window [app_id="gamescope"] fullscreen
for_window [app_id="mpv"] fullscreen
for_window [app_id="relm4.test.simple"] floating enable
# Workspace 1
# Workspace 2
assign [app_id="mpv"] $ws2
# Workspace 3
assign [class="steam"] $ws3
assign [class="gamescope"] $ws3
assign [app_id="gamescope"] $ws3
# Workspace 4
assign [app_id="firefox"] $ws4
# Workspace 5
assign [app_id="de.shorsh.discord-screenaudio"] $ws5
assign [class="discord"] $ws5
# Workspace 6
assign [app_id="com.obsproject.Studio"] $ws6
# Workspace 7
assign [app_id="org.strawberrymusicplayer.strawberry"] $ws7
# Workspace 8
assign [app_id="com.github.wwmm.easyeffects"] $ws8
assign [app_id="org.pipewire.Helvum"] $ws8
assign [app_id="pavucontrol"] $ws8
# Workspace 9
# Workspace 10
assign [app_id="python3"] $ws10
assign [class="steam_proton"] $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 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'
# 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 windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym h resize shrink width 20 px
bindsym j resize grow height 20 px
bindsym k resize shrink height 20 px
bindsym l resize grow width 20 px
# same bindings, but for the arrow keys
bindsym Left resize shrink width 20 px
bindsym Down resize grow height 20 px
bindsym Up resize shrink height 20 px
bindsym Right resize grow width 20 px
# 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)
set $bg-color #58536d
set $inactive-bg-color #2f343f
set $text-color #f3f4f5
set $inactive-text-color #676E7D
set $urgent-bg-color #E53935
# window colors
# border background text indicator
client.focused $bg-color $bg-color $text-color #4B5177
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
client.urgent $urgent-bg-color $urgent-bg-color $text-color #4B5177
default_border pixel 6
gaps inner 10
gaps outer -5
smart_gaps on
smart_gaps inverse_outer
bar {
swaybar_command waybar
}
input type:keyboard {
xkb_layout us,de
xkb_options caps:escape,grp:shifts_toggle
}
# Set Monitors
output DP-2 mode 3440x1440@144Hz pos 1920 0 scale 1
output HDMI-A-1 mode 1920x1080@75Hz pos 0 0
exec swaybg -o DP-2 -i /home/eesim/Pictures/wallpapers/wallpaper_scaled_distorted_lanczos_sharp.png
exec swaybg -o HDMI-A-1 -i /home/eesim/Pictures/wallpapers/169Wallpaper.png
exec systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
exec --no-startup-id openrgb --startminimized
exec --no-startup-id ydotoold
exec --no-startup-id easyeffects --gapplication-service
exec --no-startup-id wayland-pipewire-idle-inhibit
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec --no-startup-id protonmail-bridge --noninteractive
exec --no-startup-id swayidle -w \
timeout 600 'swaymsg "output * dpms off"' \
resume 'swaymsg "output * dpms on"'
exec vorta
exec MOZ_ENABLE_WAYLAND=1 firefox
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
exec sleep 20 && vesktop --enable-features=WebRTCPipeWireCapturer
-20
View File
@@ -1,20 +0,0 @@
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
unbind-key '"'
unbind-key %
bind-key | split-window -h -c "#{pane_current_path}"
bind-key - split-window -v -c "#{pane_current_path}"
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
bind-key -r H resize-pane -L 5
bind-key -r J resize-pane -D 5
bind-key -r K resize-pane -U 5
bind-key -r L resize-pane -R 5
-158
View File
@@ -1,158 +0,0 @@
[{
"layer": "top", // Waybar at top layer
"output": "DP-2",
"position": "top", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"],
"modules-center": ["sway/window"],
"modules-right": ["idle_inhibitor", "pulseaudio", "cpu", "memory", "clock"],
// Modules configuration
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": false,
"format": "{name}: {icon}",
"format-icons": {
"1": "",
"2": "",
"3": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%I:%M %p}",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
},
}, {
"layer": "bottom", // Waybar at top layer
"output": "HDMI-A-1",
"position": "top", // Waybar position (top|bottom|left|right)
"height": 30, // Waybar height (to be removed for auto height)
"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"],
"modules-center": ["sway/window"],
"modules-right": ["idle_inhibitor", "pulseaudio", "cpu", "memory", "clock", "tray"],
// Modules configuration
"sway/workspaces": {
"disable-scroll": true,
"all-outputs": false,
"format": "{name}: {icon}",
"format-icons": {
"4": "",
"5": "",
"6": "",
"7": "",
"8": "",
"9": "",
"10": "",
"urgent": "",
"focused": "",
"default": ""
}
},
"sway/mode": {
"format": "<span style=\"italic\">{}</span>"
},
"sway/scratchpad": {
"format": "{icon} {count}",
"show-empty": false,
"format-icons": ["", ""],
"tooltip": true,
"tooltip-format": "{app}: {title}"
},
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
"activated": "",
"deactivated": ""
}
},
"tray": {
// "icon-size": 21,
"spacing": 10
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format": "{:%I:%M %p}",
"format-alt": "{:%Y-%m-%d}"
},
"cpu": {
"format": "{usage}% ",
"tooltip": false
},
"memory": {
"format": "{}% "
},
"pulseaudio": {
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",
"format-icons": {
"headphone": "",
"hands-free": "",
"headset": "",
"phone": "",
"portable": "",
"car": "",
"default": ["", "", ""]
},
},
}]
-102
View File
@@ -1,102 +0,0 @@
* {
border: none;
border-radius: 0;
font-family: "Ubuntu Nerd Font";
font-size: 16px;
min-height: 0;
}
window#waybar {
background: rgba(0, 0, 0, 0.2);
color: white;
}
#window {
font-weight: bold;
font-family: "Ubuntu";
}
/*
#workspaces {
padding: 0 5px;
}
*/
#workspaces button {
padding: 0 5px;
background: transparent;
color: white;
border-top: 2px solid transparent;
}
#workspaces button.focused {
color: #c9545d;
border-top: 2px solid #c9545d;
}
#mode {
background: #64727D;
border-bottom: 3px solid white;
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio, #custom-spotify, #tray, #mode, #idle_inhibitor {
padding: 0 8px;
margin: 0 3px;
}
#clock {
font-weight: bold;
}
#battery {
}
#battery icon {
color: red;
}
#battery.charging {
}
@keyframes blink {
to {
background-color: #ffffff;
color: black;
}
}
#battery.warning:not(.charging) {
color: white;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#cpu {
}
#memory {
}
#network {
}
#network.disconnected {
background: #f53c3c;
}
#pulseaudio {
}
#pulseaudio.muted {
}
#custom-spotify {
color: rgb(102, 220, 105);
}
#tray {
}
-52
View File
@@ -1,52 +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 = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" "wl" ];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
fsType = "btrfs";
options = [ "subvol=root" ];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
fsType = "btrfs";
options = [ "subvol=nix" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
fsType = "btrfs";
options = [ "subvol=home" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/4129-EEE9";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp34s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp38s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
-34
View File
@@ -1,34 +0,0 @@
{
config,
pkgs,
systemConfig,
...
}:
{
imports = [
../../modules/home
../../modules/options
];
simmer = systemConfig;
home = {
username = "eesim";
homeDirectory = "/home/eesim";
};
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
home.file.".config/fish/config.fish".source = ../shared/dotfiles/fish/gui-config.fish;
home.file.".config/waybar".source = ./dotfiles/waybar;
home.file.".config/alacritty/alacritty.toml".source = ./dotfiles/alacritty/alacritty.toml;
# Fix for slow steam download speeds https://old.reddit.com/r/linux_gaming/comments/16e1l4h/slow_steam_downloads_try_this/
home.file.".steam/steam/steam_dev.cfg".source = ./dotfiles/steam/steam_dev.cfg;
programs.home-manager.enable = true;
home.stateVersion = "23.11";
}
-117
View File
@@ -1,117 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{
lib,
config,
pkgs,
localPackages,
...
}: {
nix = {
settings = {
experimental-features = "nix-command flakes";
};
};
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
pciutils
bottles
inkscape
orca-slicer
qemu
protonvpn-gui
calibre
];
services.hardware.openrgb.enable = true;
services.avahi.enable = true;
services.flatpak.enable = true;
services.udev.extraRules = ''
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
'';
hardware.graphics.extraPackages = with pkgs; [
rocmPackages.clr.icd
];
systemd.tmpfiles.rules = [
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
fileSystems = {
"/".options = [ "compress=zstd" ];
"/home".options = [ "compress=zstd" ];
"/nix".options = [ "compress=zstd" "noatime" ];
};
virtualisation.docker = {
enable = true;
storageDriver = "btrfs";
};
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
# Define a user account.
users.users.eesim = {
isNormalUser = true;
extraGroups = [ "wheel" "video" "audio" "networkmanager" "dialout" ];
packages = with pkgs; [];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINfY1b8+mp6Y6k5taexTdBPTeZUcxT6RyP0jvc/74GyY eesim@Ethans-NAS"
];
};
# Enable CUPS to print documents.
# services.printing.enable = true;
system.stateVersion = "23.11";
}
-28
View File
@@ -1,28 +0,0 @@
{
config,
pkgs,
systemConfig,
...
}:
{
imports = [
../../modules/home
../../modules/options
];
simmer = systemConfig;
home = {
username = "eesim";
homeDirectory = "/home/eesim";
};
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
home.file.".tmux.conf".source = ../shared/dotfiles/tmux;
home.file.".config/fish/config.fish".source = ../shared/dotfiles/fish/cli-config.fish;
programs.home-manager.enable = true;
home.stateVersion = "23.11";
}
-39
View File
@@ -1,39 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{
lib,
config,
pkgs,
...
}: {
nix = {
settings = {
experimental-features = "nix-command flakes";
};
};
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
# Define a user account.
users.users.eesim = {
isNormalUser = true;
extraGroups = [ "wheel" ];
};
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "23.11"; # Did you read the comment?
}
-19
View File
@@ -1,19 +0,0 @@
source_directories:
- /home/eesim/configs/mc-distant-horizons/
repositories:
- path: ssh://lxojwl95@lxojwl95.repo.borgbase.com/./repo
label: "Minecraft-DH borgbase"
exclude_if_present:
- .nobackup
compression: auto,zstd
archive_name_format: '{hostname}-{now:%Y-%m-%d-%H%M%S}'
encryption_passcommand: 'cat /run/secrets/mc-dh/repo_password'
keep_hourly: 24
keep_daily: 7
keep_weekly: 4
keep_monthly: 2
keep_yearly: 1
-117
View File
@@ -1,117 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{
lib,
config,
pkgs,
localPackages,
...
}: {
nix = {
settings = {
experimental-features = "nix-command flakes";
};
};
sops = {
defaultSopsFile = ../../secrets/diphda/secrets.yaml;
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
secrets."backup/repo_password" = {
owner = "eesim";
};
secrets."mc-arcadia/repo_password" = {};
secrets."mc-dh/repo_password" = {};
secrets."tandoor/secret_key" = {
owner = "tandoor";
};
secrets."tandoor/db_password" = {
owner = "tandoor";
};
secrets."porkbun.keytab" = {
format = "binary";
sopsFile = ../../secrets/diphda/porkbun.keytab;
};
secrets."caddy/porkbun_api_key" = {};
secrets."caddy/porkbun_secret_key" = {};
};
systemd.services."qbit-update-port" = {
enable = true;
path = [ pkgs.bash pkgs.docker pkgs.curl pkgs.netcat ];
serviceConfig = {
Type = "oneshot";
User = "root";
Group = "root";
ExecStart = ''
/home/eesim/configs/qbittorrent/update-port.sh
'';
};
};
systemd.timers."qbit-update-port" = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "*:0/5";
Persistent = true;
};
};
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
fileSystems = {
"/".options = [ "compress=zstd" ];
"/home".options = [ "compress=zstd" ];
"/nix".options = [ "compress=zstd" "noatime" ];
};
virtualisation.docker = {
enable = true;
storageDriver = "btrfs";
};
environment.systemPackages = with pkgs; [
docker-compose
beets
];
# Set your time zone.
time.timeZone = "America/Chicago";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
# Define a user account.
users.users.eesim = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" ];
shell = pkgs.fish;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEO9a9lCSa84Acv0SqOI608IJGa61dT5Frbw2Y/ABCB9 eesim@ankaa"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDvWgI2hkcjZvI9LcBEbH+1OuC3ULImTmd1qzOgcIuE7 eesim@alpheratz"
];
};
users.users.tandoor = {
uid = 701;
group = "services";
extraGroups = [ "keys" ];
};
users.groups = {
services = {
gid = 1001;
};
};
system.stateVersion = "23.11";
}
@@ -1,32 +0,0 @@
if status is-interactive
fish_add_path "/home/eesim/.cargo/bin/"
abbr ll 'eza'
set fish_greeting
set -g fish_key_bindings fish_vi_key_bindings
set fish_cursor_default block
set fish_cursor_insert line
set fish_cursor_replace_one underscore
set fish_cursor_replace underscore
set fish_cursor_external line
set fish_cursor_visual block
function fish_mode_prompt
end
direnv hook fish | source
end
if status is-login
# Disable GTK portal
set -x GTK_USE_PORTAL "0"
# Java fix
set -x _JAVA_AWT_WM_NONREPARENTING "1"
end
@@ -1,37 +0,0 @@
if status is-interactive
fish_add_path "/home/eesim/.cargo/bin/"
abbr ll 'eza'
set fish_greeting
set -g fish_key_bindings fish_vi_key_bindings
set fish_cursor_default block
set fish_cursor_insert line
set fish_cursor_replace_one underscore
set fish_cursor_replace underscore
set fish_cursor_external line
set fish_cursor_visual block
function fish_mode_prompt
end
direnv hook fish | source
end
if status is-login
# Disable GTK portal
set -x GTK_USE_PORTAL "0"
# Java fix
set -x _JAVA_AWT_WM_NONREPARENTING "1"
end
if test (tty) = "/dev/tty1"
sway
end
@@ -1,61 +0,0 @@
local iron = require("iron.core")
iron.setup {
config = {
-- Whether a repl should be discarded or not
scratch_repl = true,
-- Your repl definitions come here
repl_definition = {
sh = {
-- Can be a table or a function that
-- returns a table (see below)
command = {"fish"}
},
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').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
keymaps = {
send_motion = "<space>sc",
visual_send = "<space>sc",
send_file = "<space>sf",
send_line = "<space>sl",
send_paragraph = "<space>sp",
send_until_cursor = "<space>su",
send_mark = "<space>sm",
mark_motion = "<space>mc",
mark_visual = "<space>mc",
remove_mark = "<space>md",
cr = "<space>s<cr>",
interrupt = "<space>s<space>",
exit = "<space>sq",
clear = "<space>cl",
},
-- If the highlight is on, you can change how it looks
-- For the available options, check nvim_set_hl
highlight = {
italic = true
},
ignore_blank_lines = true, -- ignore blank lines when sending visual select lines
}
-- iron also has a list of commands, see :h iron-commands for all available commands
vim.keymap.set('n', '<space>rs', '<cmd>IronRepl<cr>')
vim.keymap.set('n', '<space>rr', '<cmd>IronRestart<cr>')
vim.keymap.set('n', '<space>rf', '<cmd>IronFocus<cr>')
vim.keymap.set('n', '<space>rh', '<cmd>IronHide<cr>')
-20
View File
@@ -1,20 +0,0 @@
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
unbind-key '"'
unbind-key %
bind-key | split-window -h -c "#{pane_current_path}"
bind-key - split-window -v -c "#{pane_current_path}"
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
bind-key -r H resize-pane -L 5
bind-key -r J resize-pane -D 5
bind-key -r K resize-pane -U 5
bind-key -r L resize-pane -R 5
-17
View File
@@ -1,17 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
{
imports = [
./git.nix
./direnv.nix
./git.nix
./qt.nix
./sway.nix
./gtk.nix
./term.nix
];
}
-26
View File
@@ -1,26 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.direnv;
in
{
options.simmer.direnv = {
enable = mkOption {
description = "Whether to install and configure direnv";
type = types.bool;
default = true;
};
};
config = mkIf cfg.enable {
programs.direnv = {
enable = true;
enableBashIntegration = true;
nix-direnv.enable = true;
};
};
}
-45
View File
@@ -1,45 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.git;
in
{
options.simmer.git = {
enable = mkOption {
description = "Whether to install and configure git";
type = types.bool;
default = true;
};
jujutsu = {
enable = mkOption {
description = "Whether to install and configure jujutsu";
type = types.bool;
default = true;
};
};
};
config = {
programs.git = mkIf cfg.enable {
enable = true;
userName = "Ethan Simmons";
userEmail = "contact@esimmons.me";
};
programs.jujutsu = mkIf cfg.jujutsu.enable {
enable = true;
settings = {
user = {
name = "Ethan Simmons";
email = "contact@esimmons.me";
};
ui.paginate = "never";
};
};
};
}
-29
View File
@@ -1,29 +0,0 @@
{ lib
, pkgs
, config
, systemConfig
, ...
}:
with lib; let
gui = config.simmer.gui;
in
{
config = {
gtk = mkIf gui.enable {
enable = true;
cursorTheme = {
name = "phinger-cursors-dark";
package = pkgs.phinger-cursors;
};
iconTheme = {
name = "awaidta-dark";
package = pkgs.adwaita-icon-theme;
};
theme = {
name = "adw-gtk3-dark";
package = pkgs.adw-gtk3;
};
};
};
}
-26
View File
@@ -1,26 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.qt;
gui = config.simmer.gui;
in
{
options.simmer.qt = {
theme.enable = mkOption {
description = "Whether to enable qt themes";
type = types.bool;
default = gui.enable;
};
};
config = {
qt.style = mkIf cfg.theme.enable {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
}
-286
View File
@@ -1,286 +0,0 @@
{ lib
, pkgs
, localPackages
, config
, systemConfig
, utils
, ...
}:
with lib; let
gui = config.simmer.gui;
term = config.simmer.term;
laptop = config.simmer.laptop;
modifier = "Mod4";
in
{
config = mkIf gui.sway.enable {
services.swayidle = {
enable = true;
timeouts = [
(mkIf gui.sway.desktop {
timeout = 600;
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
})
(mkIf (!gui.sway.desktop) {
timeout = 300;
command = "${pkgs.swaylock}/bin/swaylock -f -c 000000";
})
(mkIf (!gui.sway.desktop) {
timeout = 420;
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
})
(mkIf (!gui.sway.desktop) {
timeout = 600;
command = "systemctl suspend";
})
];
events = (mkIf (laptop.enable) {
"before-sleep" = "${pkgs.swaylock}/bin/swaylock -f -c 000000";
});
# Updated for unstable
# events = [
# (mkIf (!gui.sway.desktop) {
# event = "before-sleep";
# command = "${pkgs.swaylock}/bin/swaylock -f -c 000000";
# })
# ];
};
wayland.windowManager.sway = {
enable = true;
checkConfig = false;
config = {
modifier = modifier;
keybindings = mkMerge [
{
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%";
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%";
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
"${modifier}+space" = "exec \"kickoff-dot-desktop | ${pkgs.kickoff}/bin/kickoff --from-stdin --stdout | xargs -d '\\n' ${pkgs.sway}/bin/swaymsg exec\"";
"${modifier}+Return" = "exec ${term.terminal}";
"${modifier}+Control+f" = "exec MOZ_ENABLE_WAYLAND=1 firefox";
"${modifier}+Control+t" = "exec thunar";
"${modifier}+Control+h" = "exec helvum";
"${modifier}+Control+p" = "exec pavucontrol";
"${modifier}+h" = "focus left";
"${modifier}+j" = "focus down";
"${modifier}+k" = "focus up";
"${modifier}+l" = "focus right";
"${modifier}+Left" = "focus left";
"${modifier}+Down" = "focus down";
"${modifier}+Up" = "focus up";
"${modifier}+Right" = "focus right";
"${modifier}+Shift+h" = "move left 30px";
"${modifier}+Shift+j" = "move down 30px";
"${modifier}+Shift+k" = "move up 30px";
"${modifier}+Shift+l" = "move right 30px";
"${modifier}+Shift+Left" = "move left";
"${modifier}+Shift+Down" = "move down";
"${modifier}+Shift+Up" = "move up";
"${modifier}+Shift+Right" = "move right";
"${modifier}+b" = "split h";
"${modifier}+v" = "split v";
"${modifier}+r" = "mode 'resize'";
"${modifier}+f" = "fullscreen toggle";
"${modifier}+Shift+space" = "floating toggle";
"${modifier}+s" = "layout stacking";
"${modifier}+w" = "layout tabbed";
"${modifier}+e" = "layout toggle split";
"${modifier}+a" = "focus parent";
"${modifier}+1" = "workspace 1 ";
"${modifier}+2" = "workspace 2";
"${modifier}+3" = "workspace 3";
"${modifier}+4" = "workspace 4";
"${modifier}+5" = "workspace 5";
"${modifier}+6" = "workspace 6";
"${modifier}+7" = "workspace 7";
"${modifier}+8" = "workspace 8";
"${modifier}+9" = "workspace 9";
"${modifier}+0" = "workspace 10";
"${modifier}+Shift+1" = "move container to workspace 1";
"${modifier}+Shift+2" = "move container to workspace 2";
"${modifier}+Shift+3" = "move container to workspace 3";
"${modifier}+Shift+4" = "move container to workspace 4";
"${modifier}+Shift+5" = "move container to workspace 5";
"${modifier}+Shift+6" = "move container to workspace 6";
"${modifier}+Shift+7" = "move container to workspace 7";
"${modifier}+Shift+8" = "move container to workspace 8";
"${modifier}+Shift+9" = "move container to workspace 9";
"${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 '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";
}
(mkIf gui.sway.desktop {
"${modifier}+Control+s" = "exec steam";
"${modifier}+Control+d" = "exec vesktop --enable-features=WebRTCPipeWireCapturer";
"${modifier}+Control+x" = "exec feishin";
})
(mkIf laptop.backlight.enable {
"XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +5%";
"XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
"${modifier}+XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +1%";
"${modifier}+XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 1%-";
})
];
startup = [
{ command = "fcitx5 -d"; }
] ++ optionals gui.sway.desktop [
{ command = "vorta"; }
{ command = "MOZ_ENABLE_WAYLAND=1 firefox"; }
{ command = "sleep 20 && vesktop --enable-features=WebRTCPipeWireCapturer"; }
{ command = "--no-startup-id openrgb --startminimized"; }
{ command = "--no-startup-id easyeffects --gapplication-service"; }
{ command = "--no-startup-id wayland-pipewire-idle-inhibit"; }
] ++ optionals gui.protonmail
[
{ command = "--no-startup-id protonmail-bridge --noninteractive"; }
];
workspaceOutputAssign = mkIf gui.sway.desktop [
{workspace = "1"; output = "DP-2"; }
{workspace = "2"; output = "DP-2"; }
{workspace = "3"; output = "DP-2"; }
{workspace = "4"; output = "HDMI-A-1"; }
{workspace = "5"; output = "HDMI-A-1"; }
{workspace = "6"; output = "HDMI-A-1"; }
{workspace = "7"; output = "HDMI-A-1"; }
{workspace = "8"; output = "HDMI-A-1"; }
{workspace = "9"; output = "HDMI-A-1"; }
{workspace = "10"; output = "HDMI-A-1"; }
];
assigns = mkIf gui.sway.desktop {
"1" = [];
"2" = [
{app_id="mpv"; }
];
"3" = [
{class="steam"; }
{class="gamescope"; }
{app_id="gamescope"; }
];
"4" = [
{app_id="firefox"; }
];
"5" = [
{app_id="de.shorsh.discord-screenaudio"; }
{class="discord"; }
{class="vesktop"; }
];
"6" = [
];
"7" = [
{class="feishin"; }
];
"8" = [
{app_id="com.github.wwmm.easyeffects"; }
{app_id="org.pipewire.Helvum"; }
{app_id="pavucontrol"; }
];
"9" = [];
"0" = [];
};
input."type:keyboard" = {
xkb_layout = "us,de";
xkb_options = "grp:lctrl_lalt_toggle,lv3:ralt_switch";
};
output = gui.monitors;
floating = {
modifier = modifier;
border = 5;
};
window = {
border = 5;
titlebar = false;
commands = [
{ criteria = { class = "vesktop"; }; command = "opacity 0.9"; }
{ criteria = { app_id = "Alacritty"; }; command = "opacity 0.9"; }
{ criteria = { app_id = "kitty"; }; command = "opacity 0.9"; }
{ criteria = { class = "feishin"; }; command = "opacity 0.9"; }
{ criteria = { class = "gamescope"; }; command = "fullscreen"; }
{ criteria = { app_id = "gamescope"; }; command = "fullscreen"; }
{ criteria = { class = "Wfica"; }; command = "fullscreen"; }
{ criteria = { app_id = "mpv"; }; command = "fullscreen"; }
{ criteria = { app_id = "org.speedcrunch."; }; command = "floating enable"; }
];
};
gaps = {
inner = 10;
outer = -5;
smartGaps = true;
};
bars = [
{ command = "${pkgs.waybar}/bin/waybar"; }
];
};
extraConfig = ''
set $bg-color #58536d
set $inactive-bg-color #2f343f
set $text-color #f3f4f5
set $inactive-text-color #676E7D
set $urgent-bg-color #E53935
# window colors
# border background text indicator
client.focused $bg-color $bg-color $text-color #4B5177
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
client.urgent $urgent-bg-color $urgent-bg-color $text-color #4B5177
smart_gaps inverse_outer
'';
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
'';
};
};
}
-27
View File
@@ -1,27 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.term;
in
{
config = {
programs.kitty = mkIf (cfg.terminal == "kitty") {
enable = true;
settings = {
confirm_os_window_close = 0;
};
font.name = mkIf (cfg.font == "codelia") "Codelia";
};
programs.alacritty = mkIf (cfg.terminal == "alacritty") {
enable = true;
};
};
}
-32
View File
@@ -1,32 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.audio;
in
{
config = {
environment.systemPackages = with pkgs; []
++ optional cfg.pipewire.enable pulseaudio
++ optional cfg.music.enable supersonic
# FIXME: unmaintained
# ++ optional cfg.tools.helvum helvum
++ optional cfg.tools.easyeffects easyeffects
++ optional cfg.tools.pavucontrol pavucontrol;
security.rtkit.enable = mkIf cfg.pipewire.enable true;
services.pipewire = mkIf cfg.pipewire.enable {
enable = true;
alsa = {
enable = true;
support32Bit = true;
};
pulse.enable = true;
};
};
}
-29
View File
@@ -1,29 +0,0 @@
{ pkgs
, lib
, config
, ...
}:
with lib; let
cfg = config.simmer.backup;
compression = if (cfg.compression == "zstd") then "auto,zstd,3" else "auto,lzma";
in
{
config = mkIf cfg.enable {
services.borgbackup.jobs = {
backup = {
user = cfg.user;
paths = cfg.paths;
exclude = cfg.excludes;
repo = cfg.repo;
encryption = {
mode = "repokey-blake2";
passCommand = "cat ${cfg.passphrase}";
};
environment.BORG_RSH = "ssh -i ${cfg.key}";
compression = compression;
startAt = cfg.repeat;
};
};
};
}
-59
View File
@@ -1,59 +0,0 @@
{ lib
, pkgs
, localPackages
, config
, ...
}:
with lib; let
cfg = config.simmer.common;
in
{
config = {
environment.systemPackages = with pkgs; [
curl
wget
git
jujutsu
killall
vim
eza
ripgrep
fzf
yazi
ncdu
btop
pciutils
]
++ optional cfg.nil.enable nil;
programs.neovim = mkIf cfg.neovim.enable {
enable = true;
defaultEditor = true;
};
services.keyd = mkIf (cfg.caps != "caps") {
enable = true;
keyboards.default = {
ids = [ "*" ];
settings = {
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)"; }
];
};
};
};
programs.fish = mkIf (cfg.shell == "fish") {
enable = true;
};
};
}
-19
View File
@@ -1,19 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
{
imports = [
./openssh.nix
./backup.nix
./audio.nix
./gui.nix
./common.nix
./networking.nix
./games.nix
./laptop.nix
./school
];
}
-26
View File
@@ -1,26 +0,0 @@
{ lib
, pkgs
, config
, localPackages
, ...
}:
with lib; let
cfg = config.simmer.games;
in
{
config = mkIf cfg.enable {
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 {
enable = true;
extraCompatPackages = with pkgs; [ proton-ge-bin ];
};
};
}
-79
View File
@@ -1,79 +0,0 @@
{ lib
, pkgs
, config
, localPackages
, ...
}:
with lib; let
cfg = config.simmer.gui;
in
{
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; with localPackages.x86_64-linux; []
++ optionals cfg.sway.enable [
wl-clipboard
grim
slurp
waybar
swaybg
kickoff
kickoff-dot-desktop
wayland-pipewire-idle-inhibit
firefox
mpv
feh
]
++ optional cfg.matrix cinny-desktop
++ optional cfg.secrets libsecret
++ optionals cfg.protonmail [ thunderbird protonmail-bridge ];
programs.dconf.enable = mkIf cfg.secrets true;
services.gnome.gnome-keyring.enable = mkIf cfg.secrets true;
services.dbus.packages = mkIf cfg.secrets [ pkgs.seahorse ];
# Remove when nixpkgs issue 143365 is fixed
security.pam.services.swaylock = mkIf (!cfg.sway.desktop) {};
xdg.portal.enable = true;
xdg.portal.config.common = {
default = [ "wlr" "gtk" ];
};
programs.thunar.enable = true;
hardware.opengl.enable = true;
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-mozc
fcitx5-gtk
];
};
fonts = {
packages = with pkgs; [
xdg-desktop-portal-wlr
liberation_ttf
noto-fonts
noto-fonts-cjk-sans
ubuntu-classic
vazirmatn
font-awesome
corefonts
carlito
roboto
source-sans
source-sans-pro
];
fontconfig = {
defaultFonts = {
serif = [ "Noto Serif" "Noto Serif CJK JP" ];
sansSerif = [ "Noto Sans" "Noto Sans CJK JP" ];
monospace = [ "Ubuntu Mono" "Noto Sans Mono CJK JP" ];
};
};
};
};
}
-29
View File
@@ -1,29 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.laptop;
in
{
# FIXME: No longer maintained
# config.programs.light.enable = mkIf cfg.backlight.enable true;
config.powerManagement.powertop.enable = mkIf cfg.powersave.enable true;
config.services.auto-cpufreq = mkIf cfg.powersave.enable {
enable = true;
settings = {
battery = {
governor = "powersave";
turbo = "never";
};
charger = {
governor = "performance";
turbo = "auto";
};
};
};
}
-31
View File
@@ -1,31 +0,0 @@
{ lib
, pkgs
, localPackages
, config
, ...
}:
with lib; let
cfg = config.simmer.networking;
openssh = config.simmer.openssh;
in
{
config = {
environment.systemPackages = with pkgs; [
ldns
mtr
]
++ optional cfg.wireguard.enable wireguard-tools;
networking.networkmanager.enable = cfg.networkmanager.enable;
networking.nameservers = cfg.nameservers;
networking.firewall = {
enable = cfg.firewall.enable;
allowedTCPPorts = cfg.firewall.allowedTCPPorts
++ optional openssh.enable openssh.port;
allowedUDPPorts = cfg.firewall.allowedUDPPorts;
};
};
}
-22
View File
@@ -1,22 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.openssh;
in
{
config = mkIf cfg.enable {
services.openssh = {
enable = true;
ports = [ cfg.port ];
settings = {
PermitRootLogin = "no";
PasswordAuthentication = cfg.allow-password;
};
};
};
}
-25
View File
@@ -1,25 +0,0 @@
{ lib
, pkgs
, config
, localPackages
, pkgs_stable_tmp
, ...
}:
with lib; let
cfg = config.simmer.school;
extraCerts = [ ./incommon-rsa-ca2.pem ];
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.kicad kicad
++ optional cfg.logisim logisim-evolution;
};
}
-36
View File
@@ -1,36 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIGSjCCBDKgAwIBAgIRAINbdhUgbS1uCX4LbkCf78AwDQYJKoZIhvcNAQEMBQAw
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIy
MTExNjAwMDAwMFoXDTMyMTExNTIzNTk1OVowRDELMAkGA1UEBhMCVVMxEjAQBgNV
BAoTCUludGVybmV0MjEhMB8GA1UEAxMYSW5Db21tb24gUlNBIFNlcnZlciBDQSAy
MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAifBcxDi60DRXr5dVoPQi
Q/w+GBE62216UiEGMdbUt7eSiIaFj/iZ/xiFop0rWuH4BCFJ3kSvQF+aIhEsOnuX
R6mViSpUx53HM5ApIzFIVbd4GqY6tgwaPzu/XRI/4Dmz+hoLW/i/zD19iXvS95qf
NU8qP7/3/USf2/VNSUNmuMKlaRgwkouue0usidYK7V8W3ze+rTFvWR2JtWKNTInc
NyWD3GhVy/7G09PwTAu7h0qqRyTkETLf+z7FWtc8c12f+SfvmKHKFVqKpNPtgMkr
wqwaOgOOD4Q00AihVT+UzJ6MmhNPGg+/Xf0BavmXKCGDTv5uzQeOdD35o/Zw16V4
C4J4toj1WLY7hkVhrzKG+UWJiSn8Hv3dUTj4dkneJBNQrUfcIfTHV3gCtKwXn1eX
mrxhH+tWu9RVwsDegRG0s28OMdVeOwljZvYrUjRomutNO5GzynveVxJVCn3Cbn7a
c4L+5vwPNgs04DdOAGzNYdG5t6ryyYPosSLH2B8qDNzxAgMBAAGjggFwMIIBbDAf
BgNVHSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQU70wAkqb7
di5eleLJX4cbGdVN4tkwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8C
AQAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYL
KwYBBAGyMQECAmcwCAYGZ4EMAQICMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9j
cmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9y
aXR5LmNybDBxBggrBgEFBQcBAQRlMGMwOgYIKwYBBQUHMAKGLmh0dHA6Ly9jcnQu
dXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBQUFDQS5jcnQwJQYIKwYBBQUHMAGG
GWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggIBACaA
DTTkHq4ivq8+puKE+ca3JbH32y+odcJqgqzDts5bgsapBswRYypjmXLel11Q2U6w
rySldlIjBRDZ8Ah8NOs85A6MKJQLaU9qHzRyG6w2UQTzRwx2seY30Mks3ZdIe9rj
s5rEYliIOh9Dwy8wUTJxXzmYf/A1Gkp4JJp0xIhCVR1gCSOX5JW6185kwid242bs
Lm0vCQBAA/rQgxvLpItZhC9US/r33lgtX/cYFzB4jGOd+Xs2sEAUlGyu8grLohYh
kgWN6hqyoFdOpmrl8yu7CSGV7gmVQf9viwVBDIKm+2zLDo/nhRkk8xA0Bb1BqPzy
bPESSVh4y5rZ5bzB4Lo2YN061HV9+HDnnIDBffNIicACdv4JGyGfpbS6xsi3UCN1
5ypaG43PJqQ0UnBQDuR60io1ApeSNkYhkaHQ9Tk/0C4A+EM3MW/KFuU53eHLVlX9
ss1iG2AJfVktaZ2l/SbY7py8JUYMkL/jqZBRjNkD6srsmpJ6utUMmAlt7m1+cTX8
6/VEBc5Dp9VfuD6hNbNKDSg7YxyEVaBqBEtN5dppj4xSiCrs6LxLHnNo3rG8VJRf
NVQdgFbMb7dOIBokklzfmU69lS0kgyz2mZMJmW2G/hhEdddJWHh3FcLi2MaeYiOV
RFrLHtJvXEdf2aEaZ0LOb2Xo3zO6BJvjXldv2woN
-----END CERTIFICATE-----
-47
View File
@@ -1,47 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.audio;
in
{
options.simmer.audio = {
pipewire = {
enable = mkOption {
description = "Enable pipewire";
type = types.bool;
default = false;
};
};
music = {
enable = mkOption {
description = "Install music player";
type = types.bool;
default = false;
};
};
tools = {
helvum = mkOption {
description = "Install helvum";
type = types.bool;
default = false;
};
easyeffects = mkOption {
description = "Install easyeffects";
type = types.bool;
default = false;
};
pavucontrol = mkOption {
description = "Install pavucontrol";
type = types.bool;
default = cfg.pipewire.enable;
};
};
};
}
-60
View File
@@ -1,60 +0,0 @@
{ pkgs
, lib
, config
, ...
}:
with lib;
{
options.simmer.backup = {
enable = mkOption {
description = "Whether backups should be enabled";
type = types.bool;
default = false;
};
repo = mkOption {
description = "Which repository to backup to";
type = types.str;
};
paths = mkOption {
description = "Which paths to backup";
type = types.listOf types.str;
};
user = mkOption {
description = "Which user to run backup commands with";
type = types.str;
default = "root";
};
excludes = mkOption {
description = "Which directories to exclude";
type = types.listOf types.str;
default = [];
};
passphrase = mkOption {
description = "Path to file containing passphrase";
type = types.path;
};
key = mkOption {
description = "Path to file containing SSH Key";
type = types.path;
};
repeat = mkOption {
description = "How often to run the backup (hourly, daily, weekly)";
type = types.enum [ "hourly" "daily" "weekly" ];
};
compression = mkOption {
description = "Which compression option to use (lzma, zstd)";
type = types.enum [ "lzma" "zstd" ];
};
};
}
-41
View File
@@ -1,41 +0,0 @@
{ lib
, pkgs
, localPackages
, config
, ...
}:
with lib;
{
options.simmer.common = {
neovim.enable = mkOption {
description = "Whether to install neovim and set as default editor";
type = types.bool;
default = true;
};
nil.enable = mkOption {
description = "Whether to install nil";
type = types.bool;
default = true;
};
shell = mkOption {
description = "Default shell to use (fish)";
type = types.enum [ "fish" ];
default = "fish";
};
caps = mkOption {
description = "What key to bind caps lock to";
type = types.enum [ "ctrl-esc" "esc" "caps" ];
default = "ctrl-esc";
};
nixpkgs = mkOption {
description = "Which nixpkgs version to use";
type = types.any;
};
};
}
-21
View File
@@ -1,21 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
{
imports = [
./audio.nix
./backup.nix
./common.nix
./games.nix
./gui.nix
./networking.nix
./openssh.nix
./system.nix
./laptop.nix
./school.nix
./term.nix
];
}
-67
View File
@@ -1,67 +0,0 @@
{ lib
, pkgs
, config
, localPackages
, ...
}:
with lib;
let
cfg = config.simmer.games;
in
{
options.simmer.games = {
enable = mkOption {
description = "Whether to enable games";
type = types.bool;
default = false;
};
protonup.enable = mkOption {
description = "Whether to install protonup";
type = types.bool;
default = true;
};
lutris.enable = mkOption {
description = "Whether to install lutris";
type = types.bool;
default = false;
};
steam.enable = mkOption {
description = "Whether to install steam";
type = types.bool;
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;
default = cfg.steam.enable;
};
discord.enable = mkOption {
description = "Whether to install discord";
type = types.bool;
default = true;
};
};
}
-67
View File
@@ -1,67 +0,0 @@
{ lib
, pkgs
, config
, localPackages
, ...
}:
with lib;
let
cfg = config.simmer.gui;
in
{
options.simmer.gui = {
enable = mkOption {
description = "Enable gui";
type = types.bool;
default = false;
};
sway = {
enable = mkOption {
description = "Install and configure sway window manager";
type = types.bool;
default = true;
};
desktop = mkOption {
description= "Use desktop configuration";
type = types.bool;
default = false;
};
};
gtk = mkOption {
description = "Whether to configure gtk";
type = types.bool;
default = cfg.gui.enable;
};
protonmail = mkOption {
description = "Whether to install protonmail bridge and mail application";
type = types.bool;
default = false;
};
secrets = mkOption {
description = "Whether to enable secrets handling with gnomke-keyring";
type = types.bool;
default = cfg.protonmail;
};
matrix = mkOption {
description = "Whether to install a matrix client";
type = types.bool;
default = false;
};
monitors = mkOption {
description = "Attribute set of system monitors";
type = types.attrs;
default = {};
};
};
}
-29
View File
@@ -1,29 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.gui;
in
{
options.simmer.laptop = {
enable = mkOption {
description = "Whether to enable laptop specific setting";
type = types.bool;
default = false;
};
backlight.enable = mkOption {
description = "Whether to enable backlight control";
type = types.bool;
default = false;
};
powersave.enable = mkOption {
description = "Whether to enable powersaving programs";
type = types.bool;
default = false;
};
};
}
-57
View File
@@ -1,57 +0,0 @@
{ lib
, pkgs
, localPackages
, config
, ...
}:
with lib; let
cfg = config.simmer.networking;
in
{
options.simmer.networking = {
firewall = {
enable = mkOption {
description = "Whether to enable firewall";
type = types.bool;
default = true;
};
allowedTCPPorts = mkOption {
description = "Which tcp ports to allow through firewall";
type = types.listOf types.int;
default = [];
};
allowedUDPPorts = mkOption {
description = "Which udp ports to allow through firewall";
type = types.listOf types.int;
default = [];
};
};
wireguard = {
enable = mkOption {
description = "Whether to install wireguard";
type = types.bool;
default = false;
};
};
networkmanager = {
enable = mkOption {
description = "Whether to enable network manager";
type = types.bool;
default = true;
};
};
nameservers = mkOption {
description = "Which nameservers to use";
type = types.listOf types.str;
default = [ "1.1.1.1" ];
};
};
}
-31
View File
@@ -1,31 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.openssh;
in
{
options.simmer.openssh = {
enable = mkOption {
description = "Whether to enable openssh server";
type = types.bool;
default = false;
};
port = mkOption {
description = "What port the server should run on";
type = types.int;
default = 22;
};
allow-password = mkOption {
description = "Whether the server should allow password authenitication" ;
type = types.bool;
default = false;
};
};
}
-34
View File
@@ -1,34 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib;
let
cfg = config.simmer.school;
in
{
options.simmer.school = {
enable = mkOption {
description = "Whether to install default software for school";
type = types.bool;
default = false;
};
citrix = mkOption {
description = "Whether to install and setup citrix";
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;
};
};
}
-14
View File
@@ -1,14 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; {
options.simmer.system = mkOption {
description = "System architecture";
type = types.str;
default = "x86_64-linux";
};
}
-32
View File
@@ -1,32 +0,0 @@
{ lib
, pkgs
, config
, ...
}:
with lib; let
cfg = config.simmer.term;
gui = config.simmer.gui;
in
{
options.simmer.term = {
enable = mkOption {
description = "Whether to install and configure a terminal";
type = types.bool;
default = gui.enable;
};
terminal = mkOption {
description = "Which terminal to install (alcritty, kitty)";
type = types.enum [ "alacritty" "kitty" ];
default = "alacritty";
};
font = mkOption {
description = "Which font to use in terminal";
type = types.enum [ "default" "codelia" ];
default = "codelia";
};
};
}
-12
View File
@@ -1,12 +0,0 @@
final: prev: {
# https://github.com/NixOS/nixpkgs/issues/348868
citrix_workspace_23_09_0 = prev.citrix_workspace_23_09_0.override {
libvorbis = final.libvorbis.override {
libogg = final.libogg.overrideAttrs (prevAttrs: {
cmakeFlags = (if prevAttrs ? cmakeFlags then prevAttrs.cmakeFlags else []) ++ [
(final.lib.cmakeBool "BUILD_SHARED_LIBS" true)
];
});
};
};
}
-8
View File
@@ -1,8 +0,0 @@
{ inputs, ...}:
{
nose = import ./nose.nix;
llama-cpp = import ./llama-cpp.nix { inherit inputs; };
printrun = import ./printrun.nix { inherit inputs; };
citrix = import ./citrix.nix;
shadps4 = import ./shadps4.nix;
}
-4
View File
@@ -1,4 +0,0 @@
{ inputs, ... }:
final: prev: {
llama-cpp = prev.llama-cpp.override { rocmSupport = true; };
}
-3
View File
@@ -1,3 +0,0 @@
_: prev: {
python312 = prev.python312.override { packageOverrides = _: pysuper: { nose = pysuper.pynose; }; };
}
-10
View File
@@ -1,10 +0,0 @@
{ inputs, ... }:
let
system = "x86_64-linux";
pkgs = inputs.nixpkgs-unstable.legacyPackages.${system};
in
final: prev: {
printrun = prev.printrun.overrideAttrs ( finalAttrs: previousAttrs: {
propagatedBuildInputs = previousAttrs.propagatedBuildInputs ++ [ pkgs.python312Packages.platformdirs ];
});
}
-15
View File
@@ -1,15 +0,0 @@
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 = [];
});
}
-168
View File
@@ -1,168 +0,0 @@
{ stdenv
, fetchFromGitHub
, libgcc
, meson
, pkg-config
, ninja
, xorg
, libdrm
, libei
, vulkan-loader
, vulkan-headers
, wayland
, wayland-protocols
, libxkbcommon
, glm
, gbenchmark
, libcap
, libavif
, SDL2
, pipewire
, pixman
, libinput
, glslang
, hwdata
, openvr
, stb
, wlroots
, libliftoff
, libdecor
, libdisplay-info
, lib
, makeBinaryWrapper
, patchelfUnstable
, nix-update-script
, enableExecutable ? true
, enableWsi ? true
}:
let
joshShaders = fetchFromGitHub {
owner = "Joshua-Ashton";
repo = "GamescopeShaders";
rev = "v0.1";
hash = "sha256-gR1AeAHV/Kn4ntiEDUSPxASLMFusV6hgSGrTbMCBUZA=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "gamescope";
version = "3.14.16";
src = fetchFromGitHub {
owner = "ValveSoftware";
repo = "gamescope";
rev = "420eb91387a484fd7b1ea71449091f0480d9e538";
fetchSubmodules = true;
hash = "sha256-XcefR0wiDHQY7wMX+LQTEntffi2RdMW8m2HNQMz035A=";
};
patches = [
# Unvendor dependencies
./use-pkgconfig.patch
# Make it look for shaders in the right place
./shaders-path.patch
];
# We can't substitute the patch itself because substituteAll is itself a derivation,
# so `placeholder "out"` ends up pointing to the wrong place
postPatch = ''
substituteInPlace src/reshade_effect_manager.cpp --replace "@out@" "$out"
'';
mesonFlags = [
(lib.mesonBool "enable_gamescope" enableExecutable)
(lib.mesonBool "enable_gamescope_wsi_layer" enableWsi)
"-Dc_args=-fsanitize-recover=address"
"-Dc_link_args=-fsanitize-recover=address"
"-Dcpp_args=-fsanitize-recover=address"
"-Dcpp_link_args=-fsanitize-recover=address"
"--buildtype=debugoptimized"
"-Db_sanitize=address"
];
# don't install vendored vkroots etc
mesonInstallFlags = ["--skip-subprojects"];
strictDeps = true;
dontStrip = true;
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
meson
pkg-config
ninja
] ++ lib.optionals enableExecutable [
makeBinaryWrapper
glslang
];
buildInputs = [
pipewire
hwdata
xorg.libX11
wayland
wayland-protocols
vulkan-loader
openvr
glm
] ++ lib.optionals enableWsi [
vulkan-headers
] ++ lib.optionals enableExecutable (wlroots.buildInputs ++ [ # gamescope uses a custom wlroots branch
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXi
xorg.libXmu
xorg.libXrender
xorg.libXres
xorg.libXtst
xorg.libXxf86vm
libavif
libdrm
libei
libliftoff
SDL2
libdecor
libinput
libxkbcommon
gbenchmark
pixman
libcap
stb
libdisplay-info
]);
postInstall = lib.optionalString enableExecutable ''
# using patchelf unstable because the stable version corrupts the binary
${lib.getExe patchelfUnstable} $out/bin/gamescope \
--add-rpath ${vulkan-loader}/lib \
--add-needed ${libgcc.lib}/lib/libasan.so.8 \
--add-needed libvulkan.so.1
# --debug-layers flag expects these in the path
wrapProgram "$out/bin/gamescope" \
--prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]} \
--set ASAN_OPTIONS "halt_on_error=false" \
--set LD_PRELOAD "${libgcc.lib}/lib/libasan.so.8"
# Install ReShade shaders
mkdir -p $out/share/gamescope/reshade
cp -r ${joshShaders}/* $out/share/gamescope/reshade/
'';
passthru.updateScript = nix-update-script {};
meta = with lib; {
description = "SteamOS session compositing window manager";
homepage = "https://github.com/ValveSoftware/gamescope";
license = licenses.bsd2;
maintainers = with maintainers; [ nrdxp pedrohlc Scrumplex zhaofengli k900 ];
platforms = platforms.linux;
mainProgram = "gamescope";
};
})
-13
View File
@@ -1,13 +0,0 @@
diff --git a/src/reshade_effect_manager.cpp b/src/reshade_effect_manager.cpp
index 3597ca1..de45250 100644
--- a/src/reshade_effect_manager.cpp
+++ b/src/reshade_effect_manager.cpp
@@ -34,7 +34,7 @@ static std::string GetLocalUsrDir()
static std::string GetUsrDir()
{
- return "/usr";
+ return "@out@";
}
static LogScope reshade_log("gamescope_reshade");
-9
View File
@@ -1,9 +0,0 @@
--- a/meson.build
+++ b/meson.build
@@ -6,7 +6,6 @@ project(
default_options: [
'cpp_std=c++20',
'warning_level=2',
- 'force_fallback_for=wlroots,libliftoff,vkroots',
],
)
-157
View File
@@ -1,157 +0,0 @@
{ stdenv
, fetchFromGitHub
, meson
, pkg-config
, ninja
, xorg
, libdrm
, libei
, vulkan-loader
, vulkan-headers
, wayland
, wayland-protocols
, libxkbcommon
, glm
, gbenchmark
, libcap
, libavif
, SDL2
, pipewire
, pixman
, libinput
, glslang
, hwdata
, openvr
, stb
, wlroots
, libliftoff
, libdecor
, libdisplay-info
, lib
, makeBinaryWrapper
, patchelfUnstable
, nix-update-script
, enableExecutable ? true
, enableWsi ? true
}:
let
joshShaders = fetchFromGitHub {
owner = "Joshua-Ashton";
repo = "GamescopeShaders";
rev = "v0.1";
hash = "sha256-gR1AeAHV/Kn4ntiEDUSPxASLMFusV6hgSGrTbMCBUZA=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "gamescope";
version = "3.14.16";
src = fetchFromGitHub {
owner = "ValveSoftware";
repo = "gamescope";
rev = "d0d23c4c3010c81add1bd90cbe478ce4a386e28d";
fetchSubmodules = true;
hash = "sha256-Ym1kl9naAm1MGlxCk32ssvfiOlstHiZPy7Ga8EZegus=";
};
patches = [
# Unvendor dependencies
./use-pkgconfig.patch
# Make it look for shaders in the right place
./shaders-path.patch
];
# We can't substitute the patch itself because substituteAll is itself a derivation,
# so `placeholder "out"` ends up pointing to the wrong place
postPatch = ''
substituteInPlace src/reshade_effect_manager.cpp --replace "@out@" "$out"
'';
mesonFlags = [
(lib.mesonBool "enable_gamescope" enableExecutable)
(lib.mesonBool "enable_gamescope_wsi_layer" enableWsi)
];
# don't install vendored vkroots etc
mesonInstallFlags = ["--skip-subprojects"];
strictDeps = true;
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
meson
pkg-config
ninja
] ++ lib.optionals enableExecutable [
makeBinaryWrapper
glslang
];
buildInputs = [
pipewire
hwdata
xorg.libX11
wayland
wayland-protocols
vulkan-loader
openvr
glm
] ++ lib.optionals enableWsi [
vulkan-headers
] ++ lib.optionals enableExecutable (wlroots.buildInputs ++ [ # gamescope uses a custom wlroots branch
xorg.libXcomposite
xorg.libXcursor
xorg.libXdamage
xorg.libXext
xorg.libXi
xorg.libXmu
xorg.libXrender
xorg.libXres
xorg.libXtst
xorg.libXxf86vm
libavif
libdrm
libei
libliftoff
SDL2
libdecor
libinput
libxkbcommon
gbenchmark
pixman
libcap
stb
libdisplay-info
]);
postInstall = lib.optionalString enableExecutable ''
# using patchelf unstable because the stable version corrupts the binary
${lib.getExe patchelfUnstable} $out/bin/gamescope \
--add-rpath ${vulkan-loader}/lib \
--add-needed libvulkan.so.1 \
# --debug-layers flag expects these in the path
wrapProgram "$out/bin/gamescope" \
--prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]}
# Install ReShade shaders
mkdir -p $out/share/gamescope/reshade
cp -r ${joshShaders}/* $out/share/gamescope/reshade/
'';
passthru.updateScript = nix-update-script {};
meta = with lib; {
description = "SteamOS session compositing window manager";
homepage = "https://github.com/ValveSoftware/gamescope";
license = licenses.bsd2;
maintainers = with maintainers; [ nrdxp pedrohlc Scrumplex zhaofengli k900 ];
platforms = platforms.linux;
mainProgram = "gamescope";
};
})
-13
View File
@@ -1,13 +0,0 @@
diff --git a/src/reshade_effect_manager.cpp b/src/reshade_effect_manager.cpp
index 3597ca1..de45250 100644
--- a/src/reshade_effect_manager.cpp
+++ b/src/reshade_effect_manager.cpp
@@ -34,7 +34,7 @@ static std::string GetLocalUsrDir()
static std::string GetUsrDir()
{
- return "/usr";
+ return "@out@";
}
static LogScope reshade_log("gamescope_reshade");
-9
View File
@@ -1,9 +0,0 @@
--- a/meson.build
+++ b/meson.build
@@ -6,7 +6,6 @@ project(
default_options: [
'cpp_std=c++20',
'warning_level=2',
- 'force_fallback_for=wlroots,libliftoff,vkroots',
],
)
-36
View File
@@ -1,36 +0,0 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, tesseract4
, leptonica
, qt5
}:
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
qt5.qtbase
qt5.qtdeclarative
];
cmakeFlags = [
"-DGUI=OFF"
];
dontWrapQtApps = true;
}
-76
View File
@@ -1,76 +0,0 @@
{ lib
, stdenv
, jdk
, jre
, ant
, jogl
, libGL
, fetchFromGitHub
, makeDesktopItem
, copyDesktopItems
, stripJavaArchivesHook
, makeWrapper
, ...
}:
stdenv.mkDerivation {
name = "JHelioviewer";
src = fetchFromGitHub {
owner = "Helioviewer-Project";
repo = "JHelioviewer-SWHV";
rev = "c1affb8a820fb2785d7598a59dad3691bf42298c";
hash = "sha256-CGpWPKsGQsX+3aaqws351hy2xCST/x+Md+dRBov1vog=";
};
nativeBuildInputs = [
jdk
ant
stripJavaArchivesHook
makeWrapper
copyDesktopItems
];
buildPhase = ''
runHook preBuild
ant
runHook postBuild
'';
desktopItems = [
(makeDesktopItem {
name = "jhelioviewer";
desktopName = "JHelioviewer";
exec = "jhelioviewer";
comment = "A visualization tool for solar physics data based on the JPEG 2000 image compression standard, and part of the open source ESA/NASA Helioviewer Project";
icon = "hvLogo";
})
];
installPhase = ''
runHook preInstall
mkdir -p $out/share/java/
mkdir -p $out/share/java/lib
install -Dm644 JHelioviewer.jar $out/share/java/
cp -rv lib/* $out/share/java/lib/
rm $out/share/java/lib/jogl/*.jar
cp -v ${jogl}/share/java/jogl*.jar ${jogl}/share/java/glue*.jar $out/share/java/lib/jogl
mkdir $out/bin
makeWrapper ${jre}/bin/java $out/bin/jhelioviewer \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL ]} \
--add-flags "-cp $out/share/java/JHelioviewer.jar" \
--add-flags "--add-exports java.desktop/sun.awt=ALL-UNNAMED" \
--add-flags "--add-exports java.desktop/sun.swing=ALL-UNNAMED" \
--add-flags "org.helioviewer.jhv.JHelioviewer"
mkdir -p $out/share/icons
cp -v docs/hvLogo.png $out/share/icons/
runHook postInstall
'';
}
+1 -2
View File
@@ -11,8 +11,7 @@ rustPlatform.buildRustPackage {
hash = "sha256-exMmqOkDKuyAEdda8gG/uF3+tnQzhJnOJK+sEtZbsZc=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-4x9kEBnYPhhYej0mNmV7jibw6sH8SxVau9tIkIVTen8=";
cargoHash = "sha256-z3apcltBKNovwo+yOHxvzn53PPefr2lEzkGst25fGsM=";
meta = with lib; {
description = "Smol program to read in relevant desktop files and print them in a kickoff compatible format";
-109
View File
@@ -1,109 +0,0 @@
{ 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
'';
}
-34
View File
@@ -1,34 +0,0 @@
wireguard:
private: ENC[AES256_GCM,data:Vii9We3fJBFCQNfek+fKqzy4jor2mhHz7KZhoWS9fuBbccz/DHPOnpzRhJQ=,iv:eDorsjazLZjIYsL+AP7YHoBY03ByywtmuRAG0KFonu0=,tag:z7b8NiGOgz0CrhFNalK4Qw==,type:str]
preshared: ENC[AES256_GCM,data:BK3CwQ9tZ0gqErPfOt896yH3K+7xDx6Vr+Xd0JMB+RYdugsGYluhldNM3aM=,iv:o9RhmlSCVwHPUi+JRNQF9bTACOwFaKmshfiD25C5QW8=,tag:DO9a2D2zY5rFQWHIR0PsfA==,type:str]
borgbase:
nix-alpheratz: ENC[AES256_GCM,data:anxC2Oyp4nungjxylaNqtEW7CcA=,iv:Gw6XvUWy9EAivZkELhSkx9YPgPDTY2kjZZhk9mF0iCM=,tag:/2ud63VKIABzLxjQsrpPnA==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuQzBUM0pXdkZUT1R4ekQv
YXlJZXA0OGV4SmwxOGxmY3Z3SjRSSE1UK2w4CnpGVkZ5anYvR0NHNEpBbDM3aURN
NVA2WmxmZUI3eWR4Tkd6MkxLOTJ5NDgKLS0tIGYrVTZMbUJia0F4ZWMwMXlhTkJz
MHdCcVpZaGtLbkpScDhLaGxZY2l3dEkKy1qr0l1eqqIQvsJm56ABIsh0XfFE5O5O
H0kLLggfl5AozBWrSjjiOnCf22tue5SzAxS70OO6Dz3y5sYCEF04Ag==
-----END AGE ENCRYPTED FILE-----
- recipient: age1cla0k3yffcelphkrmgz5upc0chgtdef25ne833jeqtapceux59rqkmhxf7
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxRCtPaUc4RVZRYW5tM0Ex
SGRRZ2kvKzNSdUxFRGtGRXUzWDJZVW9aNkZBCmtpOVIyMnBIaFVjV0xxdGxnNGtj
aVNpQzdDMHozL25sZ09Hc09BMVBUdEUKLS0tIE9PWm95RzZndnRwYXNoWExQVXVs
R3F6M3dsdXVxSk4va3ptS1JNQ1JSZ2sK7WtQj148lDKG36T6oIL2ASrUY9Q9QwL4
FiVkiNAvZPddFRYFSg9UhM92mTWLKay3ak+8IzojfsJmy7Aw9aavSA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-11-20T18:20:08Z"
mac: ENC[AES256_GCM,data:bq1HJC/yvekeqQEjvHZHynlcwwwYY9xRIK6Wp/BGPG3gcN4BaFG8iEgGjQjLIcgi7szsnUnozLYBKe/Na+YmNFS4mLgfn9PxDrMjr3NymO764j2QzXKg4hDnt3qA1HpwZJLZY0l7Mfe6FSovl4X/7x6MWLMDLb1EYys0aBaLnlc=,iv:y5NecMaRVyCWjn3URpJG4EnRkcV2dpitJpzJqEyQbAM=,tag:HVeS/v703EYcro/2cMtb8A==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.9.1
-28
View File
@@ -1,28 +0,0 @@
{
"data": "ENC[AES256_GCM,data:tB3+8lTzhNTpgd22u8pbE/0LYGIQfWWQiCXovz3RH7vXNcuOEHNAYeKB3IbEUmARXKf3aAAcnrTztqaaKyd9uBdxSOHzFyy0egk0+kR9Af3StG2uAgCuGqGjlOor+W2vS6wRXoWB+vwYizMxBs2rB8CwqFLe+yC++o5XkE45iyhhCXKZSLFBP51p47topL9iRMqaXnRiTrHh/ZsWKGz1Tu2yg+Kq4xNnpGrggW16JiAR,iv:to55g3FssWEKE9oOTOvKbtUdqHhrLkmhuqqi3aM5Zt4=,tag:MnyiNyRoG9hesasW3OHMhQ==,type:str]",
"sops": {
"kms": null,
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": [
{
"recipient": "age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIZjN3WmJvNDhoT0RIVDJr\nWDlpMFZLdEZ0RG44UXRiazIrV0ZZTE1GdnlNCjhqdko5TFI2NlI0SVAvR25vS3h3\nSHZDZUxVeU5VOGJvRGhFWUtIVzNnTkkKLS0tIFI3NGp1c2s4b3NrZ0dRbGlwd0Ro\ndlE3WGZaTHdoWVRjNDMxVGJpRE1vUTgK/Q4f3VS0IkapmsFXgt1YV+fY3eCezDte\nM3XS/hQndEIRmy5ziKQMMR/uADh0Deqs3tYZ/k3FJr+FAT7DWSVOxA==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJUDVWTUtsVTh4dEUyTlJ6\nVDVuSXBFZW9PNmxUWkFhZnBqRzhvbERBWVJnCmo4OFpGWi9RQTdibVc2blQ0aEN0\nR2cwQUlva1RxdS94T0ZnL25BK2FBbncKLS0tIE90MTJ1QXBkUjlyQUJWRXdSNGly\nYmw4dTBYS3ZtOS94K1dtd29HRjZyTncK8dQqSDBTjKGLQH7FLXBzAMUz4yK5mHgB\n/NoftP1+mjQH0aE32rx+iykSy64wSiORIJ+9ZChgCm5dobBuakR6Gg==\n-----END AGE ENCRYPTED FILE-----\n"
},
{
"recipient": "age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d",
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsMkhrK0ptRjFNMDZaV0RR\nd1MzNzJhbTczb1RaQm4wdW5VNGZrTTVMOVJVCmdzdEcxVytRY1h5ek9GOFA0VUNn\nMUk5UHZEQWZKaVhkN3ZGeDJkbnRCbm8KLS0tIHJXSllWRVVIakNhSmFTMzA3cXk4\nUUFFNWp5Q1FyaFBFUnpDR0JKSHZQVVkKkaQrBjAYubsHVx2g9C+87sgY06ioXdb2\nwh4pyAwOT/0hKHR4sRnRFiW7yuTIZ8R9cWXlVUB53+LMeio93kj15g==\n-----END AGE ENCRYPTED FILE-----\n"
}
],
"lastmodified": "2024-08-02T17:52:14Z",
"mac": "ENC[AES256_GCM,data:aBhijdYLGnHlXzeT3J77RkhPgqBEYCDN4nINtnq7EA/AJIamdcbM1bW/PZBkeJ/1yft/lIzPgOsSnAk+vrc8FniOL6vmPaRr6aaPlgzZVHJw0ZPgRNANzwjEXZbtNdZn7tFPjEAu06B1oQFzfIXUYvj6Q3sPLzZ29lPl4g3BY6o=,iv:aL/TFzqw1/ArH88GGj68fTIPrUOXdOxF1XbcDDMFvKo=,tag:bjtutqs7QyqNdCI5/s9sUQ==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.9.0"
}
}
-50
View File
@@ -1,50 +0,0 @@
mc-arcadia:
repo_password: ENC[AES256_GCM,data:SPP/RmwxAeeyERrMjO7vEqMd/SY=,iv:/U4sbPogBeqJ4vli2MmMb4H4BjMPFO+Fe/uRtyltvsM=,tag:i06a7yIDmhYJt3ARfDaE4w==,type:str]
tandoor:
secret_key: ENC[AES256_GCM,data:0zhzBw+99NZmWDhnhe/VNAuiY30QJVaij3+PabzzSvWExyHktvqjfHrEzNAU8i+GmmA=,iv:NwZrE4tFpylnVrQiL1yNTTS8moZuEvcO8HCTP+j7COE=,tag:UegszyE5xRfIRn62kTFR8Q==,type:str]
db_password: ENC[AES256_GCM,data:lkYU5lFHDo+4/6uVuV6VZ6/XQHQ=,iv:1Htc76J25m9iW6YCosEtSGT4nfYsfywbYVoAf7XXrDI=,tag:RdymUdMjiQqRPutTsQNGaw==,type:str]
mc-dh:
repo_password: ENC[AES256_GCM,data:iD1isjDUlJixMPaiE+bDhhKgzLM=,iv:pf9q2M8wRh7B0quYaezdZ81B/8JtsN7jFj8/00YXzcQ=,tag:f5/KHzsc+B21sF+dE8I2Nw==,type:str]
caddy:
porkbun_api_key: ENC[AES256_GCM,data:1ILVkhIks0MqMWXsxIol8Nt2OAbNmDQXd49DUhEyIx6jLpzZKe98ha9cZAl0rNmQHcIQjpg4KptXw07l11KXWZf5oZA=,iv:0q/ZLzAGsOsTvJH9Wa7lR+uC/t97HWv6+SdTCRUNNcM=,tag:TzdrBPfV/e0njCSbofR29Q==,type:str]
porkbun_secret_key: ENC[AES256_GCM,data:v7vFKRcZ2JqjNA1vQyROmM9LGLGclzraZB9sqUVfK3iaDJfVlLbAyOxv8TW15navjWRTn6WjxH1iwPlB6b4WWHtuUWs=,iv:4d1K8tTZ/9Gs7nOKjCwcQB0M9E68RFppxPkOQRRSwa8=,tag:6J2pxXP3yy5IK3rDiwTFIQ==,type:str]
backup:
repo_password: ENC[AES256_GCM,data:v7WGvvpUonAAfCCGqDs+EKUH6Lk=,iv:jE7lainNWLlG+KZspwxW/I/1PXKFtkUWUPDaTK3Rgj0=,tag:dA2ccAXUNC1up4DX4iF7HQ==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiblIrc1pIWVhESHNGZU00
aElkZ2ZSOFJGeGM1V2xjSUpyUWZsTDhmNENvCkFtWWh6Wk8xK2Nlb3hsQUE4Y1hQ
NVpwNk9yYTZHbVhXV0d3bktYTWxqRVEKLS0tIFFnTzU4L1RGWVFHc09RMkhaN3ky
ejlTdlIvRVVtRDYxcjYwZTFUSW4rY0EKIsobfykO/WXNb2zIIIdAKnGwIDVyLU9m
q6wF9O9Y8MQFCe237KWDtqSr8K9S4bI+S2GkO6+abMCCPMcTrcZ04Q==
-----END AGE ENCRYPTED FILE-----
- recipient: age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaVUkxWGIzTFdkVmRaWGFw
ZzU1TVU4ZUxhVU5wcmdnT0c5UlVaYU15QVF3ClVJc1Q5YmFadFkvS0NIQzF6NXdK
M0lhNzFyVkUwa1EyM3dMUXRHQkxGNG8KLS0tIFpUTEZRL1hTaTFZUEdLSE51YTlu
Y0N4bDJveTlPQjJhMERtbmlFUVlkMDQKX8JV+0FhyZKYUy2QpkHW9UZqDasLop3f
IA0qas8CN/O+VrnFVwKFrRdk4U/nHR2fb3mEsQ8rXmzsXPy2GfMD4A==
-----END AGE ENCRYPTED FILE-----
- recipient: age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzcXEwZEhsbytKVk8ybEg3
V0pmOFJ3RGxWcHFWYm16N1RzNUpIcjM3azI4CjIvQnlyWkxKNkdsUGFsTVl2elQ0
MFBVR2M5eEFVMW5EdGN5YTFjdjYzY1UKLS0tIEtPTFM0Q3ZsdTkzS1FrU0N5WFNL
eUxTaTJVRlpNNWZodE8yZXpWTlpCWVkKHtJFmHUSNfy46J1BJdOvIRjegQrTWdfH
KSbKbz7ezBOOPlrR7eDEx2FIjP4TVBRksYq+NYockmKVk+VGsc5pBQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-02-02T03:11:38Z"
mac: ENC[AES256_GCM,data:Mr5WWzX4hl3SkljEuMy0cl+jgxA9iL4ONXxEmdfS320ucIBKeMWyrmgoO7LxRAT+iQ4kXKTW24yzzLH1flqYxiVvdGvaKisfao7GSkeuF+9YeM+xFev0aspxOK5p7/EYbvnE5cMM81VVhXm+gX9ywxh8r0eqG68SQK8FIP556TM=,iv:AsYcYrMdwo4zuY5G12P47P1537lydofIt/zuPQo/9Ls=,tag:EKs6kyofkiWuF+uqoQscWA==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.9.3
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

Some files were not shown because too many files have changed in this diff Show More