diff --git a/hosts/nb-01.cloonar.com/channel b/hosts/nb-01.cloonar.com/channel deleted file mode 100644 index 425c774..0000000 --- a/hosts/nb-01.cloonar.com/channel +++ /dev/null @@ -1 +0,0 @@ -https://channels.nixos.org/nixos-24.05 diff --git a/hosts/nb-01.cloonar.com/configuration.nix b/hosts/nb-01.cloonar.com/configuration.nix deleted file mode 100644 index 4ff51d1..0000000 --- a/hosts/nb-01.cloonar.com/configuration.nix +++ /dev/null @@ -1,227 +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 -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, ... }: -let - unstable = import { config = { allowUnfree = true; }; }; -in { - nixpkgs.config.allowUnfree = true; - - imports = - [ # Include the results of the hardware scan. - # ./modules/clevis.nix - ./utils/bento.nix - - ./utils/modules/sops.nix - ./utils/modules/nur.nix - ./modules/sway/sway.nix - # ./modules/gnome.nix - ./modules/printer.nix - ./modules/nvim/default.nix - ./utils/modules/autoupgrade.nix - - ./users - - ./hardware-configuration.nix - ]; - - nixpkgs.overlays = [ - (import ./utils/overlays/packages.nix) - ]; - - # nixpkgs.config.permittedInsecurePackages = [ - # "openssl-1.1.1v" - # "electron-24.8.6" - # ]; - - fonts.packages = with pkgs; [ - open-sans - ]; - - virtualisation.waydroid.enable = true; - - # security.sudo.wheelNeedsPassword = false; - # services.clevis.uuid = "7435d48f-f942-485b-9817-328ad3fc0b93"; - - # nixos cross building qemu - boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; - boot.supportedFilesystems = [ "ntfs" ]; - boot.plymouth.enable = true; - boot.plymouth.theme = "breeze"; - boot.kernelParams = ["quiet"]; - # boot.loader.systemd-boot.netbootxyz.enable = true; - # boot.plymouth.themePackages = [ pkgs.nixos-bgrt-plymouth ]; - # boot.plymouth.theme = "nixos-bgrt"; - # allow hibernation - security.protectKernelImage = false; - - sops.defaultSopsFile = ./secrets.yaml; - sops.age.keyFile = "/var/lib/sops-nix/key.txt"; - sops.age.generateKey = true; - - sops.secrets.epicenter_vpn_ca = {}; - sops.secrets.epicenter_vpn_cert = {}; - sops.secrets.epicenter_vpn_key = {}; - sops.secrets.wg_private_key = {}; - sops.secrets.wg_preshared_key = {}; - sops.secrets.wg-cloonar-key = {}; - - virtualisation.docker.enable = true; - # virtualisation.virtualbox.host = { - # enable = true; - # enableExtensionPack = true; - # }; - - networking.hostName = "cl-nb-01"; # Define your hostname. - networking.resolvconf.enable = true; - networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. - networking.extraHosts = '' - 10.25.0.25 archive.zeichnemit.at - 5.9.131.26 old.epicenter.works - # 10.25.0.25 epicenter.works en.epicenter.works - 127.0.0.1 wohnservice.local mieterhilfe.local wohnpartner.local wohnberatung.local wienbautvor.local wienwohntbesser.local - 127.0.0.1 wohnservice-wien.local mieterhilfe.local wohnpartner-wien.local wohnberatung-wien.local wienbautvor.local wienwohntbesser.local - 127.0.0.1 diabetes.local - 127.0.0.1 test.cloonar.com - ''; - - services.xserver = { - enable = true; - excludePackages = [ pkgs.xterm ]; - displayManager.gdm.enable = true; - displayManager.gdm.wayland = true; - # displayManager.sddm.enable = true; - displayManager.sessionPackages = [ pkgs.sway ]; - displayManager.defaultSession = "sway"; - libinput.enable = true; - }; - - # Set your time zone. - time.timeZone = "Europe/Vienna"; - console.keyMap = "de"; - - users.users.dominik = { - isNormalUser = true; - extraGroups = [ "wheel" "disk" "video" "audio" "mysql" "docker" "vboxusers" "networkmanager" "onepassword" "onepassword-cli" "dialout" ]; # Enable ‘sudo’ for the user. - }; - - environment.systemPackages = with pkgs; [ - bento - vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - wget - docker-compose - drone-cli - wireguard-tools - wineWowPackages.stable - wineWowPackages.fonts - winetricks - git-filter-repo - ykfde - nix-prefetch-git - unstable.rustdesk-flutter - ]; - - environment.variables = { - TERMINAL_COMMAND = "alacritty"; - }; - - services.blueman.enable = true; - - # services.printing.enable = true; - # services.printing.drivers = [ pkgs.brlaser ]; - - services.mysql = { - enable = true; - package = pkgs.mariadb; - ensureUsers = [ - { - name = "dominik"; - ensurePermissions = { - "*.*" = "ALL PRIVILEGES"; - }; - } - ]; - }; - - system.stateVersion = "22.11"; # Did you read the comment? - - security.polkit.enable = true; - systemd = { - user.services.polkit-gnome-authentication-agent-1 = { - description = "polkit-gnome-authentication-agent-1"; - wantedBy = [ "graphical-session.target" ]; - wants = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; - serviceConfig = { - Type = "simple"; - ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; - }; - }; - - - networking.firewall = { - allowedUDPPorts = [ 51820 ]; # Clients and peers can use the same port, see listenport - # if packets are still dropped, they will show up in dmesg - logReversePathDrops = true; - # wireguard trips rpfilter up - extraCommands = '' - ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --sport 51820 -j RETURN - ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --dport 51820 -j RETURN - ''; - extraStopCommands = '' - ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --sport 51820 -j RETURN || true - ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --dport 51820 -j RETURN || true - ''; - }; - networking.wireguard.interfaces = { - wg0 = { - # Determines the IP address and subnet of the client's end of the tunnel interface. - ips = [ "10.42.98.201/32" ]; - # Path to the private key file. - # - # Note: The private key can also be included inline via the privateKey option, - # but this makes the private key world-readable; thus, using privateKeyFile is - # recommended. - # publicKey: YdlRGsjh4hS3OMJI+t6SZ2eGXKbs0wZBXWudHW4NyS8= - privateKeyFile = config.sops.secrets.wg-cloonar-key.path; - - peers = [ - { - publicKey = "TKQVDmBnf9av46kQxLQSBDhAeaK8r1zh8zpU64zuc1Q="; - allowedIPs = [ "10.42.96.0/20" "10.14.0.0/16" "10.25.0.0/16" ]; - endpoint = "vpn.cloonar.com:51820"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577 - persistentKeepalive = 25; - } - ]; - }; - }; - - # Facial recognition "Windows hello" - # services.ir-toggle.enable = true; - # services.howdy = { - # enable = true; - # device = "/dev/video2"; - # }; - nix = { - settings.auto-optimise-store = true; - # autoOptimiseStore = true; - gc = { - automatic = true; - dates = "weekly"; - options = "--delete-older-than 30d"; - }; - # Free up to 1GiB whenever there is less than 100MiB left. - extraOptions = '' - min-free = ${toString (100 * 1024 * 1024)} - max-free = ${toString (1024 * 1024 * 1024)} - ''; - }; - - -} - diff --git a/hosts/nb-01.cloonar.com/hardware-configuration.nix b/hosts/nb-01.cloonar.com/hardware-configuration.nix deleted file mode 100644 index 0f9cca6..0000000 --- a/hosts/nb-01.cloonar.com/hardware-configuration.nix +++ /dev/null @@ -1,72 +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.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - boot.initrd.availableKernelModules = [ "vfat" "nls_cp437" "nls_iso8859-1" "usbhid" "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "amdgpu" ]; - boot.kernelParams = [ "resume=/swap/swapfile" "resume_offset=533760" "psi=1" ]; - boot.resumeDevice = "/dev/disk/by-uuid/92284909-c5dd-4e0f-ab22-64157c8175cb"; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/92284909-c5dd-4e0f-ab22-64157c8175cb"; - fsType = "btrfs"; - options = [ "subvol=root" ]; - }; - - boot.initrd = { - luks.devices."nixos-enc" = { - crypttabExtraOpts = [ "fido2-device=auto" ]; - device = "/dev/disk/by-uuid/7435d48f-f942-485b-9817-328ad3fc0b93"; - }; - systemd.enable = true; - }; - - fileSystems."/home" = - { device = "/dev/disk/by-uuid/92284909-c5dd-4e0f-ab22-64157c8175cb"; - fsType = "btrfs"; - options = [ "subvol=home" ]; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/C281-E509"; - fsType = "vfat"; - }; - - fileSystems."/swap" = - { device = "/dev/disk/by-uuid/92284909-c5dd-4e0f-ab22-64157c8175cb"; - fsType = "btrfs"; - options = [ "subvol=swap" ]; - }; - - swapDevices = [{ - device = "/swap/swapfile"; - size = (1024 * 16); - }]; - - # 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..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.wlp52s0.useDHCP = lib.mkDefault true; - - powerManagement.cpuFreqGovernor = lib.mkDefault "powersave"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - - hardware.opengl = { - enable = true; - extraPackages = with pkgs; [ - vaapiVdpau - libvdpau-va-gl - ]; - }; -} diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/bufferline.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/bufferline.lua deleted file mode 100644 index a792254..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/bufferline.lua +++ /dev/null @@ -1,221 +0,0 @@ -local function is_ft(b, ft) - return vim.bo[b].filetype == ft -end - -local function diagnostics_indicator(num, _, diagnostics, _) - local result = {} - local symbols = { - error = Icons.diagnostics.Error, - warning = Icons.diagnostics.Warning, - info = Icons.diagnostics.Information, - } - for name, count in pairs(diagnostics) do - if symbols[name] and count > 0 then - table.insert(result, symbols[name] .. " " .. count) - end - end - result = table.concat(result, " ") - return #result > 0 and result or "" -end - -local function custom_filter(buf, buf_nums) - local logs = vim.tbl_filter(function(b) - return is_ft(b, "log") - end, buf_nums) - if vim.tbl_isempty(logs) then - return true - end - local tab_num = vim.fn.tabpagenr() - local last_tab = vim.fn.tabpagenr "$" - local is_log = is_ft(buf, "log") - if last_tab == 1 then - return true - end - -- only show log buffers in secondary tabs - return (tab_num == last_tab and is_log) or (tab_num ~= last_tab and not is_log) -end - - -local config = { - active = true, - on_config_done = nil, - keymap = { - normal_mode = {}, - }, - highlights = { - background = { - italic = true, - }, - buffer_selected = { - bold = true, - }, - }, - options = { - mode = "buffers", -- set to "tabs" to only show tabpages instead - numbers = "none", -- can be "none" | "ordinal" | "buffer_id" | "both" | function - close_command = function(bufnr) -- can be a string | function, see "Mouse actions" - buf_kill("bd", bufnr, false) - end, - right_mouse_command = "vert sbuffer %d", -- can be a string | function, see "Mouse actions" - left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" - middle_mouse_command = nil, -- can be a string | function, see "Mouse actions" - indicator = { - icon = Icons.ui.BoldLineLeft, -- this should be omitted if indicator style is not 'icon' - style = "icon", -- can also be 'underline'|'none', - }, - buffer_close_icon = Icons.ui.Close, - modified_icon = Icons.ui.Circle, - close_icon = Icons.ui.BoldClose, - left_trunc_marker = Icons.ui.ArrowCircleLeft, - right_trunc_marker = Icons.ui.ArrowCircleRight, - --- name_formatter can be used to change the buffer's label in the bufferline. - --- Please note some names can/will break the - --- bufferline so use this at your discretion knowing that it has - --- some limitations that will *NOT* be fixed. - name_formatter = function(buf) -- buf contains a "name", "path" and "bufnr" - -- remove extension from markdown files for example - if buf.name:match "%.md" then - return vim.fn.fnamemodify(buf.name, ":t:r") - end - end, - max_name_length = 18, - max_prefix_length = 15, -- prefix used when a buffer is de-duplicated - truncate_names = true, -- whether or not tab names should be truncated - tab_size = 18, - diagnostics = "nvim_lsp", - diagnostics_update_in_insert = false, - diagnostics_indicator = diagnostics_indicator, - -- NOTE: this will be called a lot so don't do any heavy processing here - custom_filter = custom_filter, - offsets = { - { - filetype = "undotree", - text = "Undotree", - highlight = "PanelHeading", - padding = 1, - }, - { - filetype = "NvimTree", - text = "Explorer", - highlight = "PanelHeading", - padding = 1, - }, - { - filetype = "DiffviewFiles", - text = "Diff View", - highlight = "PanelHeading", - padding = 1, - }, - { - filetype = "flutterToolsOutline", - text = "Flutter Outline", - highlight = "PanelHeading", - }, - { - filetype = "packer", - text = "Packer", - highlight = "PanelHeading", - padding = 1, - }, - }, - color_icons = true, -- whether or not to add the filetype icon highlights - show_buffer_icons = true, -- disable filetype icons for buffers - show_buffer_close_icons = true, - show_close_icon = false, - show_tab_indicators = true, - persist_buffer_sort = true, -- whether or not custom sorted buffers should persist - -- can also be a table containing 2 custom separators - -- [focused and unfocused]. eg: { '|', '|' } - separator_style = "thin", - enforce_regular_tabs = false, - always_show_bufferline = false, - hover = { - enabled = false, -- requires nvim 0.8+ - delay = 200, - reveal = { "close" }, - }, - sort_by = "id", - }, -} - ---require('keymappings').load(config.keymap) - -require("bufferline").setup({ - options = config.options, - highlights = config.highlights, -}) - ---stylua: ignore - --- Common kill function for bdelete and bwipeout --- credits: based on bbye and nvim-bufdel ----@param kill_command? string defaults to "bd" ----@param bufnr? number defaults to the current buffer ----@param force? boolean defaults to false -function buf_kill(kill_command, bufnr, force) - kill_command = kill_command or "bd" - - local bo = vim.bo - local api = vim.api - local fmt = string.format - local fnamemodify = vim.fn.fnamemodify - - if bufnr == 0 or bufnr == nil then - bufnr = api.nvim_get_current_buf() - end - - local bufname = api.nvim_buf_get_name(bufnr) - - if not force then - local warning - if bo[bufnr].modified then - warning = fmt([[No write since last change for (%s)]], fnamemodify(bufname, ":t")) - elseif api.nvim_buf_get_option(bufnr, "buftype") == "terminal" then - warning = fmt([[Terminal %s will be killed]], bufname) - end - if warning then - vim.ui.input({ - prompt = string.format([[%s. Close it anyway? [y]es or [n]o (default: no): ]], warning), - }, function(choice) - if choice:match "ye?s?" then force = true end - end) - if not force then return end - end - end - - -- Get list of windows IDs with the buffer to close - local windows = vim.tbl_filter(function(win) - return api.nvim_win_get_buf(win) == bufnr - end, api.nvim_list_wins()) - - if force then - kill_command = kill_command .. "!" - end - - -- Get list of active buffers - local buffers = vim.tbl_filter(function(buf) - return api.nvim_buf_is_valid(buf) and bo[buf].buflisted - end, api.nvim_list_bufs()) - - -- If there is only one buffer (which has to be the current one), vim will - -- create a new buffer on :bd. - -- For more than one buffer, pick the previous buffer (wrapping around if necessary) - if #buffers > 1 and #windows > 0 then - for i, v in ipairs(buffers) do - if v == bufnr then - local prev_buf_idx = i == 1 and (#buffers - 1) or (i - 1) - local prev_buffer = buffers[prev_buf_idx] - for _, win in ipairs(windows) do - api.nvim_win_set_buf(win, prev_buffer) - end - end - end - end - - -- Check if buffer still exists, to ensure the target buffer wasn't killed - -- due to options like bufhidden=wipe. - if api.nvim_buf_is_valid(bufnr) and bo[bufnr].buflisted then - vim.cmd(string.format("%s %d", kill_command, bufnr)) - end -end - diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/copilot.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/copilot.lua deleted file mode 100644 index 32ad2ea..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/copilot.lua +++ /dev/null @@ -1,2 +0,0 @@ -vim.api.nvim_set_keymap('i', '', 'copilot#Accept("")', { expr=true, noremap = true, silent = true }) -vim.g.copilot_no_tab_map = true diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/icons.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/icons.lua deleted file mode 100644 index 7f1e70a..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/icons.lua +++ /dev/null @@ -1,155 +0,0 @@ -Icons = { - kind = { - Array = "", - Boolean = "蘒", - Class = "", - Color = "", - Constant = "", - Constructor = "", - Enum = "", - EnumMember = "", - Event = "", - Field = "", - File = "", - Folder = "", - Function = "", - Interface = "", - Key = "", - Keyword = "", - Method = "", - Module = "", - Namespace = "", - Null = "ﳠ", - Number = "", - Object = "", - Operator = "", - Package = "", - Property = "", - Reference = "", - Snippet = "", - String = "", - Struct = "", - Text = "", - TypeParameter = "", - Unit = "", - Value = "", - Variable = "", - }, - git = { - LineAdded = "", - LineModified = "", - LineRemoved = "", - FileDeleted = "", - FileIgnored = "◌", - FileRenamed = "➜", - FileStaged = "S", - FileUnmerged = "", - FileUnstaged = "", - FileUntracked = "U", - Diff = "", - Repo = "", - Octoface = "", - Branch = "", - }, - ui = { - ArrowCircleDown = "", - ArrowCircleLeft = "", - ArrowCircleRight = "", - ArrowCircleUp = "", - BoldArrowDown = "", - BoldArrowLeft = "", - BoldArrowRight = "", - BoldArrowUp = "", - BoldClose = "", - BoldDividerLeft = "", - BoldDividerRight = "", - BoldLineLeft = "▎", - BookMark = "", - BoxChecked = "", - Bug = "", - Stacks = " ", - Scopes = "", - Watches = "", - DebugConsole = " ", - Calendar = "", - Check = "", - ChevronRight = ">", - ChevronShortDown = "", - ChevronShortLeft = "", - ChevronShortRight = "", - ChevronShortUp = "", - Circle = "", - Close = "", - CloudDownload = "", - Code = "", - Comment = "", - Dashboard = "", - DividerLeft = "", - DividerRight = "", - DoubleChevronRight = "»", - Ellipsis = "…", - EmptyFolder = "", - EmptyFolderOpen = "", - File = "", - FileSymlink = "", - Files = "", - FindFile = "", - FindText = "", - Fire = "", - Folder = "", - FolderOpen = "", - FolderSymlink = "", - Forward = "", - Gear = "", - History = "", - Lightbulb = "", - LineLeft = "▏", - LineMiddle = "│", - List = "", - Lock = "", - NewFile = "", - Note = "", - Package = "", - Pencil = "", - Plus = "", - Project = "", - Search = "", - SignIn = "", - SignOut = "", - Tab = "", - Table = "", - Target = "", - Telescope = "", - Text = "", - Tree = "", - Triangle = "契", - TriangleShortArrowDown = "", - TriangleShortArrowLeft = "", - TriangleShortArrowRight = "", - TriangleShortArrowUp = "", - }, - diagnostics = { - BoldError = "", - Error = "", - BoldWarning = "", - Warning = "", - BoldInformation = "", - Information = "", - BoldQuestion = "", - Question = "", - BoldHint = "", - Hint = "", - Debug = "", - Trace = "✎", - }, - misc = { - Robot = "ﮧ", - Squirrel = "", - Tag = "", - Watch = "", - Smiley = "ﲃ", - Package = "", - CircuitBoard = "", - }, -} - diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/init.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/init.lua deleted file mode 100644 index bf2ede8..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/init.lua +++ /dev/null @@ -1,58 +0,0 @@ --- vim.opt.expandtab = true --- vim.opt.hidden = true --- vim.opt.incsearch = true --- vim.opt.mouse = "a" --- vim.opt.number = true --- vim.opt.shiftwidth = 2 --- vim.opt.splitbelow = true --- vim.opt.splitright = true --- vim.opt.signcolumn = "yes:3" --- vim.opt.tabstop = 2 --- vim.opt.timeoutlen = 0 --- vim.wo.wrap = false --- vim.opt.exrc = true --- vim.cmd("syntax on") - -vim.opt.backup = false -- creates a backup file -vim.opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard -vim.opt.cmdheight = 2 -- more space in the neovim command line for displaying messages -vim.opt.colorcolumn = "99999" -- fixes indentline for now -vim.opt.completeopt = { "menuone", "noselect" } -vim.opt.conceallevel = 0 -- so that `` is visible in markdown files -vim.opt.fileencoding = "utf-8" -- the encoding written to a file -vim.opt.foldmethod = "manual" -- folding set to "expr" for treesitter based folding -vim.opt.foldexpr = "" -- set to "nvim_treesitter#foldexpr()" for treesitter based folding -vim.opt.guifont = "monospace:h17" -- the font used in graphical neovim applications -vim.opt.hidden = true -- required to keep multiple buffers and open multiple buffers -vim.opt.hlsearch = true -- highlight all matches on previous search pattern -vim.opt.ignorecase = true -- ignore case in search patterns -vim.opt.mouse = "a" -- allow the mouse to be used in neovim -vim.opt.pumheight = 10 -- pop up menu height -vim.opt.showmode = false -- we don't need to see things like -- INSERT -- anymore -vim.opt.showtabline = 2 -- always show tabs -vim.opt.smartcase = true -- smart case -vim.opt.smartindent = true -- make indenting smarter again -vim.opt.splitbelow = true -- force all horizontal splits to go below current window -vim.opt.splitright = true -- force all vertical splits to go to the right of current window -vim.opt.swapfile = false -- creates a swapfile -vim.opt.termguicolors = true -- set term gui colors (most terminals support this) -vim.opt.timeoutlen = 100 -- time to wait for a mapped sequence to complete (in milliseconds) -vim.opt.title = true -- set the title of window to the value of the titlestring -vim.opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to -vim.opt.undodir = vim.fn.stdpath "cache" .. "/undo" -vim.opt.undofile = true -- enable persistent undo -vim.opt.updatetime = 300 -- faster completion -vim.opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program) it is not allowed to be edited -vim.opt.expandtab = true -- convert tabs to spaces -vim.opt.shiftwidth = 2 -- the number of spaces inserted for each indentation -vim.opt.tabstop = 2 -- insert 2 spaces for a tab -vim.opt.cursorline = true -- highlight the current line -vim.opt.number = true -- set numbered lines -vim.opt.relativenumber = false -- set relative numbered lines -vim.opt.numberwidth = 4 -- set number column width to 2 {default 4} -vim.opt.signcolumn = "yes" -- always show the sign column otherwise it would shift the text each time -vim.opt.wrap = false -- display lines as one long line -vim.opt.spell = false -vim.opt.spelllang = "en" -vim.opt.scrolloff = 8 -- is one of my fav -vim.opt.sidescrolloff = 8 diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/keymappings.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/keymappings.lua deleted file mode 100644 index c320f74..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/keymappings.lua +++ /dev/null @@ -1,145 +0,0 @@ -local generic_opts_any = { noremap = true, silent = true } - -local generic_opts = { - insert_mode = generic_opts_any, - normal_mode = generic_opts_any, - visual_mode = generic_opts_any, - visual_block_mode = generic_opts_any, - command_mode = generic_opts_any, - term_mode = { silent = true }, -} - -local mode_adapters = { - insert_mode = "i", - normal_mode = "n", - term_mode = "t", - visual_mode = "v", - visual_block_mode = "x", - command_mode = "c", -} - ----@class Keys ----@field insert_mode table ----@field normal_mode table ----@field terminal_mode table ----@field visual_mode table ----@field visual_block_mode table ----@field command_mode table - -local defaults = { - insert_mode = { - -- Move current line / block with Alt-j/k ala vscode. - [""] = ":m .+1==gi", - -- Move current line / block with Alt-j/k ala vscode. - [""] = ":m .-2==gi", - -- navigation - [""] = "k", - [""] = "j", - [""] = "h", - [""] = "l", - }, - - normal_mode = { - -- Better window movement - [""] = "h", - [""] = "j", - [""] = "k", - [""] = "l", - - -- Resize with arrows - [""] = ":resize -2", - [""] = ":resize +2", - [""] = ":vertical resize -2", - [""] = ":vertical resize +2", - - -- Move current line / block with Alt-j/k a la vscode. - [""] = ":m .+1==", - [""] = ":m .-2==", - - -- QuickFix - ["]q"] = ":cnext", - ["[q"] = ":cprev", - [""] = ":call QuickFixToggle()", - }, - - term_mode = { - -- Terminal window navigation - [""] = "h", - [""] = "j", - [""] = "k", - [""] = "l", - }, - - visual_mode = { - -- Better indenting - ["<"] = ""] = ">gv", - - -- ["p"] = '"0p', - -- ["P"] = '"0P', - }, - - visual_block_mode = { - -- Move current line / block with Alt-j/k ala vscode. - [""] = ":m '>+1gv-gv", - [""] = ":m '<-2gv-gv", - }, - - command_mode = { - -- navigate tab completion with and - -- runs conditionally - [""] = { 'pumvisible() ? "\\" : "\\"', { expr = true, noremap = true } }, - [""] = { 'pumvisible() ? "\\" : "\\"', { expr = true, noremap = true } }, - }, -} - -if vim.fn.has "mac" == 1 then - defaults.normal_mode[""] = defaults.normal_mode[""] - defaults.normal_mode[""] = defaults.normal_mode[""] - defaults.normal_mode[""] = defaults.normal_mode[""] - defaults.normal_mode[""] = defaults.normal_mode[""] - Log:debug "Activated mac keymappings" -end - -function set_keymaps(mode, key, val) - local opt = generic_opts[mode] or generic_opts_any - if type(val) == "table" then - opt = val[2] - val = val[1] - end - if val then - vim.keymap.set(mode, key, val, opt) - else - pcall(vim.api.nvim_del_keymap, mode, key) - end -end - -function load_mode(mode, keymaps) - mode = mode_adapters[mode] or mode - for k, v in pairs(keymaps) do - set_keymaps(mode, k, v) - end -end - -function load(keymaps) - keymaps = keymaps or {} - for mode, mapping in pairs(keymaps) do - load_mode(mode, mapping) - end -end - -function load_defaults() - load(get_defaults()) - keys = keys or {} - for idx, _ in pairs(defaults) do - if not keys[idx] then - keys[idx] = {} - end - end -end - -function get_defaults() - return defaults -end - -load_defaults() diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/lspconfig.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/lspconfig.lua deleted file mode 100644 index ba32f57..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/lspconfig.lua +++ /dev/null @@ -1,45 +0,0 @@ -local status, lspc = pcall(require, 'lspconfig') -if (not status) then return end - -lspc.clangd.setup{} - -local buf_map = function(bufnr, mode, lhs, rhs, opts) - vim.api.nvim_buf_set_keymap(bufnr, mode, lhs, rhs, opts or { - silent = true, - }) -end - -local protocol = require('vim.lsp.protocol') - -local on_attach = function(client, buffnr) - if client.server.capabilities.documentFormattingProvider then - vimapi.nvim_create_autocmd("BufWritePre", { - group = vim.api.nvim_create_augroup("format", { clear = true }), - buffer = buffnr, - callback = function() vim.lsp.buf.formatting_seq_sync() end - }) - end -end - -local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities.textDocument.completion.completionItem.snippetSupport = true -capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) - -local servers = { 'tsserver', 'lua', 'cssls', 'yamlls', 'intelephense' } -for _, lsp in pairs(servers) do - require('lspconfig')[lsp].setup { - -- on_attach = on_attach, - capabilities = capabilities, - } -end - -lspc.yamlls.setup({ - settings = { - yaml = { - keyOrdering = false, - }, - }, -}); - - --- lspc.intelephense.setup() diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/nvim-cmp.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/nvim-cmp.lua deleted file mode 100644 index 13bff54..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/nvim-cmp.lua +++ /dev/null @@ -1,73 +0,0 @@ -local has_words_before = function() - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil -end - -local feedkey = function(key, mode) - vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) -end - -local cmp = require("cmp") -local lspkind = require("lspkind") - -cmp.setup({ - sources = { - { name = "nvim_lsp" }, - { name = "cmp_tabnine" }, - { name = "treesitter" }, - { name = "buffer" }, - { name = "path" }, - { name = "vsnip" }, - -- { name = "copilot" }, - }, - - snippet = { - expand = function(args) - vim.fn["vsnip#anonymous"](args.body) - end, - }, - - formatting = { - format = lspkind.cmp_format({ - with_text = true, - menu = { - buffer = "[Buf]", - nvim_lsp = "[LSP]", - nvim_lua = "[Lua]", - latex_symbols = "[Latex]", - treesitter = "[TS]", - cmp_tabnine = "[TN]", - vsnip = "[Snip]", - }, - }), - }, - - mapping = { - [""] = cmp.mapping.confirm({ select = true }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif vim.fn["vsnip#available"](1) == 1 then - feedkey("(vsnip-expand-or-jump)", "") - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end, { - "i", - "s", - }), - - [""] = cmp.mapping(function() - if cmp.visible() then - cmp.select_prev_item() - elseif vim.fn["vsnip#jumpable"](-1) == 1 then - feedkey("(vsnip-jump-prev)", "") - end - end, { - "i", - "s", - }), - }, -}) diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/project.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/project.lua deleted file mode 100644 index f56e374..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/project.lua +++ /dev/null @@ -1,41 +0,0 @@ -config = { - ---@usage set to false to disable project.nvim. - --- This is on by default since it's currently the expected behavior. - active = true, - - on_config_done = nil, - - ---@usage set to true to disable setting the current-woriking directory - --- Manual mode doesn't automatically change your root directory, so you have - --- the option to manually do so using `:ProjectRoot` command. - manual_mode = false, - - ---@usage Methods of detecting the root directory - --- Allowed values: **"lsp"** uses the native neovim lsp - --- **"pattern"** uses vim-rooter like glob pattern matching. Here - --- order matters: if one is not detected, the other is used as fallback. You - --- can also delete or rearangne the detection methods. - -- detection_methods = { "lsp", "pattern" }, -- NOTE: lsp detection will get annoying with multiple langs in one project - detection_methods = { "pattern" }, - - ---@usage patterns used to detect root dir, when **"pattern"** is in detection_methods - patterns = { ".git", "_darcs", ".hg", ".bzr", ".svn", "Makefile", "package.json", "pom.xml" }, - - ---@ Show hidden files in telescope when searching for files in a project - show_hidden = false, - - ---@usage When set to false, you will get a message when project.nvim changes your directory. - -- When set to false, you will get a message when project.nvim changes your directory. - silent_chdir = true, - - ---@usage list of lsp client names to ignore when using **lsp** detection. eg: { "efm", ... } - ignore_lsp = {}, -} - -local status_ok, project = pcall(require, "project_nvim") -if not status_ok then - return -end - -project.setup(config) - diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/telescope.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/telescope.lua deleted file mode 100644 index 8ca6d9e..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/telescope.lua +++ /dev/null @@ -1,148 +0,0 @@ -local function get_pickers(actions) - return { - find_files = { - theme = "dropdown", - hidden = true, - previewer = false, - }, - live_grep = { - --@usage don't include the filename in the search results - only_sort_text = true, - theme = "dropdown", - }, - grep_string = { - only_sort_text = true, - theme = "dropdown", - }, - buffers = { - theme = "dropdown", - previewer = false, - initial_mode = "normal", - mappings = { - i = { - [""] = actions.delete_buffer, - }, - n = { - ["dd"] = actions.delete_buffer, - }, - }, - }, - planets = { - show_pluto = true, - show_moon = true, - }, - git_files = { - theme = "dropdown", - hidden = true, - previewer = false, - show_untracked = true, - }, - lsp_references = { - theme = "dropdown", - initial_mode = "normal", - }, - lsp_definitions = { - theme = "dropdown", - initial_mode = "normal", - }, - lsp_declarations = { - theme = "dropdown", - initial_mode = "normal", - }, - lsp_implementations = { - theme = "dropdown", - initial_mode = "normal", - }, - } -end - -local ok, actions = pcall(require, "telescope.actions") -if not ok then - return -end - -local config = { - prompt_prefix = " ", - selection_caret = " ", - entry_prefix = " ", - initial_mode = "insert", - selection_strategy = "reset", - sorting_strategy = "descending", - layout_strategy = "horizontal", - layout_config = { - width = 0.75, - preview_cutoff = 120, - horizontal = { - preview_width = function(_, cols, _) - if cols < 120 then - return math.floor(cols * 0.8) - end - return math.floor(cols * 0.8) - end, - mirror = false, - }, - vertical = { mirror = false }, - }, - vimgrep_arguments = { - "rg", - "--color=never", - "--no-heading", - "--with-filename", - "--line-number", - "--column", - "--smart-case", - "--hidden", - "--glob=!.git/", - }, - ---@usage Mappings are fully customizable. Many familiar mapping patterns are setup as defaults. - mappings = { - i = { - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - [""] = actions.close, - [""] = actions.cycle_history_next, - [""] = actions.cycle_history_prev, - [""] = actions.smart_send_to_qflist + actions.open_qflist, - [""] = actions.select_default, - }, - n = { - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - [""] = actions.smart_send_to_qflist + actions.open_qflist, - }, - }, - pickers = get_pickers(actions), - file_ignore_patterns = {}, - path_display = { "smart" }, - winblend = 0, - border = {}, - borderchars = { "─", "│", "─", "│", "╭", "╮", "╯", "╰" }, - color_devicons = true, - set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil, - extensions = { - fzf = { - fuzzy = true, -- false will only do exact matching - override_generic_sorter = true, -- override the generic sorter - override_file_sorter = true, -- override the file sorter - case_mode = "smart_case", -- or "ignore_case" or "respect_case" - }, - }, -} - - -local previewers = require "telescope.previewers" -local sorters = require "telescope.sorters" - -config = vim.tbl_extend("keep", { - file_previewer = previewers.vim_buffer_cat.new, - grep_previewer = previewers.vim_buffer_vimgrep.new, - qflist_previewer = previewers.vim_buffer_qflist.new, - file_sorter = sorters.get_fuzzy_file, - generic_sorter = sorters.get_generic_fuzzy_sorter, -}, config) - -local telescope = require "telescope" -telescope.setup(config) - -require("telescope").load_extension "projects" -require("telescope").load_extension "fzf" diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/terminal.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/terminal.lua deleted file mode 100644 index 164f7b8..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/terminal.lua +++ /dev/null @@ -1,133 +0,0 @@ -local config = { - active = true, - on_config_done = nil, - -- size can be a number or function which is passed the current terminal - size = 60, - open_mapping = [[]], - hide_numbers = true, -- hide the number column in toggleterm buffers - shade_filetypes = {}, - shade_terminals = true, - shading_factor = 2, -- the degree by which to darken to terminal colour, default: 1 for dark backgrounds, 3 for light - start_in_insert = true, - insert_mappings = true, -- whether or not the open mapping applies in insert mode - persist_size = false, - -- direction = 'vertical' | 'horizontal' | 'window' | 'float', - direction = "float", - close_on_exit = true, -- close the terminal window when the process exits - shell = vim.o.shell, -- change the default shell - -- This field is only relevant if direction is set to 'float' - float_opts = { - -- The border key is *almost* the same as 'nvim_win_open' - -- see :h nvim_win_open for details on borders however - -- the 'curved' border is a custom border type - -- not natively supported but implemented in this plugin. - -- border = 'single' | 'double' | 'shadow' | 'curved' | ... other options supported by win open - border = "curved", - -- width = , - -- height = , - winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - }, - }, - -- Add executables on the config.lua - -- { exec, keymap, name} - -- lvim.builtin.terminal.execs = {{}} to overwrite - -- lvim.builtin.terminal.execs[#lvim.builtin.terminal.execs+1] = {"gdb", "tg", "GNU Debugger"} - -- TODO: pls add mappings in which key and refactor this - execs = { - { vim.o.shell, "", "Horizontal Terminal", "horizontal", 0.3 }, - { vim.o.shell, "", "Vertical Terminal", "vertical", 0.4 }, - { vim.o.shell, "", "Float Terminal", "float", nil }, - }, -} - ---- Get current buffer size ----@return {width: number, height: number} -local function get_buf_size() - local cbuf = vim.api.nvim_get_current_buf() - local bufinfo = vim.tbl_filter(function(buf) - return buf.bufnr == cbuf - end, vim.fn.getwininfo(vim.api.nvim_get_current_win()))[1] - if bufinfo == nil then - return { width = -1, height = -1 } - end - return { width = bufinfo.width, height = bufinfo.height } -end - ---- Get the dynamic terminal size in cells ----@param direction number ----@param size integer ----@return integer -local function get_dynamic_terminal_size(direction, size) - size = size or config.size - if direction ~= "vertical" and tostring(size):find(".", 1, true) then - size = math.min(size, 1.0) - local buf_sizes = get_buf_size() - local buf_size = direction == "horizontal" and buf_sizes.height or buf_sizes.width - return buf_size * size - else - return size - end -end - -Add_exec = function(opts) - local binary = opts.cmd:match "(%S+)" - if vim.fn.executable(binary) ~= 1 then - Log:debug("Skipping configuring executable " .. binary .. ". Please make sure it is installed properly.") - return - end - - vim.keymap.set({ "n", "t" }, opts.keymap, function() - M._exec_toggle { cmd = opts.cmd, count = opts.count, direction = opts.direction, size = opts.size() } - end, { desc = opts.label, noremap = true, silent = true }) -end - -local terminal = require "toggleterm" -terminal.setup(config) - -for i, exec in pairs(config.execs) do - local direction = exec[4] or config.direction - - local opts = { - cmd = exec[1], - keymap = exec[2], - label = exec[3], - -- NOTE: unable to consistently bind id/count <= 9, see #2146 - count = i + 100, - direction = direction, - size = function() - return get_dynamic_terminal_size(direction, exec[5]) - end, - } - - Add_exec(opts) -end - -_exec_toggle = function(opts) - local Terminal = require("toggleterm.terminal").Terminal - local term = Terminal:new { cmd = opts.cmd, count = opts.count, direction = opts.direction } - term:toggle(opts.size, opts.direction) -end - -Lazygit_toggle = function() - local Terminal = require("toggleterm.terminal").Terminal - local lazygit = Terminal:new { - cmd = "lazygit", - hidden = true, - direction = "float", - float_opts = { - border = "none", - width = 100000, - height = 100000, - }, - on_open = function(_) - vim.cmd "startinsert!" - end, - on_close = function(_) end, - count = 99, - } - lazygit:toggle() -end - diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/theming.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/theming.lua deleted file mode 100644 index eb3f6ac..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/theming.lua +++ /dev/null @@ -1,18 +0,0 @@ --- set colorscheme -vim.cmd 'set termguicolors' - -require("catppuccin").setup() - -vim.cmd [[colorscheme dracula]] - --- enable colorizer -require'colorizer'.setup() - --- set sign -vim.cmd 'sign define DiagnosticSignError text= linehl= texthl=DiagnosticSignError numhl=' -vim.cmd 'sign define DiagnosticSignHint text= linehl= texthl=DiagnosticSignHint numhl=' -vim.cmd 'sign define DiagnosticSignInfo text= linehl= texthl=DiagnosticSignInfo numhl=' -vim.cmd 'sign define DiagnosticSignWarn text= linehl= texthl=DiagnosticSignWarn numhl=' - --- set lightline theme to horizon -vim.g.lightline = { colorscheme = "dracula" } diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/treesitter-textobjects.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/treesitter-textobjects.lua deleted file mode 100644 index 8f2c6d6..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/treesitter-textobjects.lua +++ /dev/null @@ -1,14 +0,0 @@ -require'nvim-treesitter.configs'.setup { - textobjects = { - select = { - enable = true, - keymaps = { - -- You can use the capture groups defined in textobjects.scm - ["af"] = "@function.outer", - ["if"] = "@function.inner", - ["ac"] = "@class.outer", - ["ic"] = "@class.inner", - }, - }, - }, -} diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/treesitter.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/treesitter.lua deleted file mode 100644 index 1f33ef0..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/treesitter.lua +++ /dev/null @@ -1,30 +0,0 @@ -require("nvim-treesitter.configs").setup({ - highlight = { - enable = true, - disable = {}, - }, - rainbow = { - enable = true, - extended_mode = true, - }, - autotag = { - enable = true, - }, - context_commentstring = { - enable = true, - }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = "gnn", - node_incremental = "grn", - scope_incremental = "grc", - node_decremental = "grm", - }, - }, -}) - --- breaks highlight --- vim.cmd([[set foldmethod=expr]]) --- vim.cmd([[set foldlevel=10]]) --- vim.cmd([[set foldexpr=nvim_treesitter#foldexpr()]]) \ No newline at end of file diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/utils.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/utils.lua deleted file mode 100644 index ec15d39..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/utils.lua +++ /dev/null @@ -1,28 +0,0 @@ --- null-ls -local nb = require('null-ls').builtins - -require('null-ls').setup({ - sources = { - nb.formatting.alejandra, - nb.code_actions.statix, - nb.diagnostics.cppcheck, - nb.diagnostics.deadnix, - nb.diagnostics.statix, - nb.diagnostics.eslint, - nb.completion.spell, - }, -}) - -require("gitsigns").setup() - --- autopairs -require('nvim-autopairs').setup{} - -require('todo-comments').setup{} - --- copy to system clipboard -vim.api.nvim_set_keymap( 'v', 'y', '"+y', {noremap = true}) -vim.api.nvim_set_keymap( 'n', 'y', ':%+y', {noremap = true}) - --- paste from system clipboard -vim.api.nvim_set_keymap( 'n', 'p', '"+p', {noremap = true}) diff --git a/hosts/nb-01.cloonar.com/modules/nvim/config/which-key.lua b/hosts/nb-01.cloonar.com/modules/nvim/config/which-key.lua deleted file mode 100644 index 6b67e89..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/config/which-key.lua +++ /dev/null @@ -1,148 +0,0 @@ -vim.g.mapleader = " " - -local function smart_quit() - local bufnr = vim.api.nvim_get_current_buf() - local modified = vim.api.nvim_buf_get_option(bufnr, "modified") - if modified then - vim.ui.input({ - prompt = "You have unsaved changes. Quit anyway? (y/n) ", - }, function(input) - if input == "y" then - vim.cmd "q!" - end - end) - else - vim.cmd "q!" - end -end - -local function find_project_files() - local _, builtin = pcall(require, "telescope.builtin") - local ok = pcall(builtin.git_files) - - if not ok then - builtin.find_files() - end -end - -local wk = require("which-key") - -wk.setup({}) - -wk.register({ - [""] = { - - [";"] = { "Alpha", "Dashboard" }, - ["w"] = { "w!", "Save" }, - ["q"] = { "smart_quit()", "Quit" }, - ["/"] = { "(comment_toggle_linewise_current)", "Comment toggle current line" }, - ["c"] = { "BufferKill", "Close Buffer" }, - ["f"] = { find_project_files, "Find File" }, - ["h"] = { "nohlsearch", "No Highlight" }, - ["t"] = { "TodoTelescope keywords=TODO,FIX", "Find TODO,FIX" }, - b = { - name = "Buffers", - j = { "BufferLinePick", "Jump" }, - f = { "Telescope buffers", "Find" }, - b = { "BufferLineCyclePrev", "Previous" }, - n = { "BufferLineCycleNext", "Next" }, - -- w = { "BufferWipeout", "Wipeout" }, -- TODO: implement this for bufferline - e = { - "BufferLinePickClose", - "Pick which buffer to close", - }, - h = { "BufferLineCloseLeft", "Close all to the left" }, - l = { - "BufferLineCloseRight", - "Close all to the right", - }, - D = { - "BufferLineSortByDirectory", - "Sort by directory", - }, - L = { - "BufferLineSortByExtension", - "Sort by language", - }, - }, - -- " Available Debug Adapters: - -- " https://microsoft.github.io/debug-adapter-protocol/implementors/adapters/ - -- " Adapter configuration and installation instructions: - -- " https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation - -- " Debug Adapter protocol: - -- " https://microsoft.github.io/debug-adapter-protocol/ - -- " Debugging - g = { - name = "Git", - g = { Lazygit_toggle, "Lazygit" }, - j = { "lua require 'gitsigns'.next_hunk({navigation_message = false})", "Next Hunk" }, - k = { "lua require 'gitsigns'.prev_hunk({navigation_message = false})", "Prev Hunk" }, - l = { "lua require 'gitsigns'.blame_line()", "Blame" }, - p = { "lua require 'gitsigns'.preview_hunk()", "Preview Hunk" }, - r = { "lua require 'gitsigns'.reset_hunk()", "Reset Hunk" }, - R = { "lua require 'gitsigns'.reset_buffer()", "Reset Buffer" }, - s = { "lua require 'gitsigns'.stage_hunk()", "Stage Hunk" }, - u = { - "lua require 'gitsigns'.undo_stage_hunk()", - "Undo Stage Hunk", - }, - o = { "Telescope git_status", "Open changed file" }, - b = { "Telescope git_branches", "Checkout branch" }, - c = { "Telescope git_commits", "Checkout commit" }, - C = { - "Telescope git_bcommits", - "Checkout commit(for current file)", - }, - d = { - "Gitsigns diffthis HEAD", - "Git Diff", - }, - }, - l = { - name = "LSP", - a = { "lua vim.lsp.buf.code_action()", "Code Action" }, - d = { "Telescope diagnostics bufnr=0 theme=get_ivy", "Buffer Diagnostics" }, - w = { "Telescope diagnostics", "Diagnostics" }, - -- f = { require("lvim.lsp.utils").format, "Format" }, - i = { "LspInfo", "Info" }, - I = { "Mason", "Mason Info" }, - j = { - vim.diagnostic.goto_next, - "Next Diagnostic", - }, - k = { - vim.diagnostic.goto_prev, - "Prev Diagnostic", - }, - l = { vim.lsp.codelens.run, "CodeLens Action" }, - q = { vim.diagnostic.setloclist, "Quickfix" }, - r = { vim.lsp.buf.rename, "Rename" }, - s = { "Telescope lsp_document_symbols", "Document Symbols" }, - S = { - "Telescope lsp_dynamic_workspace_symbols", - "Workspace Symbols", - }, - e = { "Telescope quickfix", "Telescope Quickfix" }, - }, - - - a = { "lua require('telescope.builtin').lsp_code_actions()", "Code Actions" }, - d = { "lua require('telescope.builtin').lsp_document_diagnostics()", "LSP Diagnostics" }, - k = { "lua vim.lsp.buf.signature_help()", "Signature Help" }, - P = { "lua require'telescope'.extensions.projects.projects{}", "Signature Help" }, - } -}) - -wk.register( - { - ["/"] = { "(comment_toggle_linewise_visual)", "Comment toggle linewise (visual)" }, - }, - { - mode = "v", -- VISUAL mode - prefix = "", - buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings - silent = true, -- use `silent` when creating keymaps - noremap = true, -- use `noremap` when creating keymaps - nowait = true, -- use `nowait` when creating keymaps - } -) diff --git a/hosts/nb-01.cloonar.com/modules/nvim/default.nix b/hosts/nb-01.cloonar.com/modules/nvim/default.nix deleted file mode 100644 index 4a37415..0000000 --- a/hosts/nb-01.cloonar.com/modules/nvim/default.nix +++ /dev/null @@ -1,90 +0,0 @@ -{ pkgs, ... }: -{ - environment.variables = { EDITOR = "vim"; }; - - environment.systemPackages = with pkgs; [ - nodePackages.typescript-language-server - sumneko-lua-language-server - nodePackages.intelephense - nodePackages.vscode-css-languageserver-bin - nodePackages.yaml-language-server - gopls - lazygit - ripgrep - (neovim.override { - vimAlias = true; - configure = { - packages.myPlugins = with pkgs.vimPlugins; { - start = [ - bufferline-nvim - catppuccin-nvim - cmp-buffer - cmp-nvim-lsp - cmp-path - cmp-spell - cmp-treesitter - cmp-vsnip - comment-nvim - copilot-vim - copilot-lua - copilot-cmp - # CopilotChat-nvim - dracula-vim - friendly-snippets - gitsigns-nvim - lightline-vim - lspkind-nvim - neogit - null-ls-nvim - nvim-autopairs - nvim-cmp - nvim-colorizer-lua - nvim-lspconfig - nvim-tree-lua - pkgs.vimPlugins.nvim-treesitter.withAllGrammars - # (nvim-treesitter.withPlugins (_: pkgs.tree-sitter.allGrammars)) - plenary-nvim - project-nvim - rainbow-delimiters-nvim - telescope-fzf-native-nvim - telescope-nvim - todo-comments-nvim - toggleterm-nvim - vim-floaterm - vim-sneak - vim-vsnip - which-key-nvim - ]; - opt = []; - }; - customRC = let - luaRequire = module: - builtins.readFile (builtins.toString - ./config - + "/${module}.lua"); - luaConfig = builtins.concatStringsSep "\n" (map luaRequire [ - "init" - "keymappings" - "copilot" - "icons" - "lspconfig" - "nvim-cmp" - "theming" - "project" - "telescope" - "terminal" - "treesitter" - "treesitter-textobjects" - "utils" - "bufferline" - "which-key" - ]); - in '' - lua << EOF - ${luaConfig} - EOF - ''; - }; - } - )]; -} diff --git a/hosts/nb-01.cloonar.com/modules/printer.nix b/hosts/nb-01.cloonar.com/modules/printer.nix deleted file mode 100644 index c7e1e90..0000000 --- a/hosts/nb-01.cloonar.com/modules/printer.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib, pkgs, ... }: -let -in { - services.printing.enable = true; - # services.printing.drivers = [ pkgs.brlaser ]; - # services.avahi.enable = true; - # services.avahi.nssmdns = true; - # services.avahi.openFirewall = true; - - hardware.printers = { - ensureDefaultPrinter = "Cloonar"; - ensurePrinters = [ - { - name = "epicenter.works"; - deviceUri = "ipp://mercury.epicenter.intra/ipp/print"; - model = "everywhere"; - } - { - name = "Cloonar"; - deviceUri = "ipp://brn30055c566237.cloonar.multimedia/ipp/print"; - model = "everywhere"; - } - ]; - }; -} diff --git a/hosts/nb-01.cloonar.com/modules/sway/directory-studio-nix b/hosts/nb-01.cloonar.com/modules/sway/directory-studio-nix deleted file mode 100644 index 9633b42..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/directory-studio-nix +++ /dev/null @@ -1,7 +0,0 @@ - -{ pkgs, ... }: -{ - environment.systemPackages = [ - pkgs.apache-directory-studio - ]; -} diff --git a/hosts/nb-01.cloonar.com/modules/sway/foot.ini b/hosts/nb-01.cloonar.com/modules/sway/foot.ini deleted file mode 100644 index fb137ca..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/foot.ini +++ /dev/null @@ -1,200 +0,0 @@ -# -*- conf -*- - -# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) -# term=foot (or xterm-256color if built with -Dterminfo=disabled) -# login-shell=no - -# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode -# title=foot -# locked-title=no - -# font=monospace:size=12 -# font-bold= -# font-italic= -# font-bold-italic= -# font-size-adjustment=0.5 -# line-height= -# letter-spacing=0 -# horizontal-letter-offset=0 -# vertical-letter-offset=0 -# underline-offset= -# underline-thickness= -# box-drawings-uses-font-glyphs=no -dpi-aware=yes - -# initial-window-size-pixels=700x500 # Or, -# initial-window-size-chars= -# initial-window-mode=windowed -# pad=0x0 # optionally append 'center' -# resize-delay-ms=100 - -# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} - -# bold-text-in-bright=no -# word-delimiters=,│`|:"'()[]{}<> -# selection-target=primary -# workers= -# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux) -# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD) - -[environment] -# name=value - -[bell] -# urgent=no -# notify=no -# command= -# command-focused=no - -[scrollback] -# lines=1000 -# multiplier=3.0 -# indicator-position=relative -# indicator-format="" - -[url] -# launch=xdg-open ${url} -# label-letters=sadfjklewcmpgh -# osc8-underline=url-mode -# protocols=http, https, ftp, ftps, file, gemini, gopher -# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] - -[cursor] -# style=block -# color= -# blink=no -# beam-thickness=1.5 -# underline-thickness= - -[mouse] -# hide-when-typing=no -# alternate-scroll-mode=yes - -[colors] -# alpha=1.0 -background=282a36 -foreground=f8f8f2 - -## Normal/regular colors (color palette 0-7) -regular0=21222c # black -regular1=ff5555 # red -regular2=50fa7b # green -regular3=f1fa8c # yellow -regular4=bd93f9 # blue -regular5=ff79c6 # magenta -regular6=8be9fd # cyan -regular7=f8f8f2 # white - -## Bright colors (color palette 8-15) -bright0=6272a4 # bright black -bright1=ff6e6e # bright red -bright2=69ff94 # bright green -bright3=ffffa5 # bright yellow -bright4=d6acff # bright blue -bright5=ff92df # bright magenta -bright6=a4ffff # bright cyan -bright7=ffffff # bright white - -## dimmed colors (see foot.ini(5) man page) -# dim0= -# ... -# dim7= - -## The remaining 256-color palette -# 16 = <256-color palette #16> -# ... -# 255 = <256-color palette #255> - -## Misc colors -# selection-foreground= -# selection-background= -# jump-labels= # black-on-yellow -# scrollback-indicator= # black-on-bright-blue -# search-box-no-match= # black-on-red -# search-box-match= # black-on-yellow -# urls= - -[csd] -# preferred=server -# size=26 -# font= -# color= -# hide-when-maximized=no -# double-click-to-maximize=yes -# border-width=0 -# border-color= -# button-width=26 -# button-color= -# button-minimize-color= -# button-maximize-color= -# button-close-color= - -[key-bindings] -# scrollback-up-page=Shift+Page_Up -# scrollback-up-half-page=none -# scrollback-up-line=none -# scrollback-down-page=Shift+Page_Down -# scrollback-down-half-page=none -# scrollback-down-line=none -# clipboard-copy=Control+Shift+c XF86Copy -# clipboard-paste=Control+Shift+v XF86Paste -# primary-paste=Shift+Insert -# search-start=Control+Shift+r -# font-increase=Control+plus Control+equal Control+KP_Add -# font-decrease=Control+minus Control+KP_Subtract -# font-reset=Control+0 Control+KP_0 -# spawn-terminal=Control+Shift+n -# minimize=none -# maximize=none -# fullscreen=none -# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none -# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none -# pipe-selected=[xargs -r firefox] none -# show-urls-launch=Control+Shift+o -# show-urls-copy=none -# show-urls-persistent=none -# prompt-prev=Control+Shift+z -# prompt-next=Control+Shift+x -# unicode-input=Control+Shift+u -# noop=none - -[search-bindings] -# cancel=Control+g Control+c Escape -# commit=Return -# find-prev=Control+r -# find-next=Control+s -# cursor-left=Left Control+b -# cursor-left-word=Control+Left Mod1+b -# cursor-right=Right Control+f -# cursor-right-word=Control+Right Mod1+f -# cursor-home=Home Control+a -# cursor-end=End Control+e -# delete-prev=BackSpace -# delete-prev-word=Mod1+BackSpace Control+BackSpace -# delete-next=Delete -# delete-next-word=Mod1+d Control+Delete -# extend-to-word-boundary=Control+w -# extend-to-next-whitespace=Control+Shift+w -# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste -# primary-paste=Shift+Insert -# unicode-input=none - -[url-bindings] -# cancel=Control+g Control+c Control+d Escape -# toggle-url-visible=t - -[text-bindings] -# \x03=Mod4+c # Map Super+c -> Ctrl+c - -[mouse-bindings] -# selection-override-modifiers=Shift -# primary-paste=BTN_MIDDLE -# select-begin=BTN_LEFT -# select-begin-block=Control+BTN_LEFT -# select-extend=BTN_RIGHT -# select-extend-character-wise=Control+BTN_RIGHT -# select-word=BTN_LEFT-2 -# select-word-whitespace=Control+BTN_LEFT-2 -# select-row=BTN_LEFT-3 - -# vim: ft=dosini diff --git a/hosts/nb-01.cloonar.com/modules/sway/parsec.nix b/hosts/nb-01.cloonar.com/modules/sway/parsec.nix deleted file mode 100644 index 83d603d..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/parsec.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ pkgs, ... }: - -let - unstable = import (fetchTarball https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz) { - config = { allowUnfree = true; }; - }; - parsecDesktopItem = pkgs.makeDesktopItem { - name = "parsec"; - desktopName = "Parsec Gaming"; - exec = "parsecd"; - }; -in { - environment.systemPackages = with pkgs; [ - unstable.parsec-bin - parsecDesktopItem - ]; -} diff --git a/hosts/nb-01.cloonar.com/modules/sway/signal-work.nix b/hosts/nb-01.cloonar.com/modules/sway/signal-work.nix deleted file mode 100644 index ed43b2e..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/signal-work.nix +++ /dev/null @@ -1,16 +0,0 @@ - -{ pkgs, ... }: - -let - signalWorkDesktopItem = pkgs.makeDesktopItem { - name = "signal-work"; - desktopName = "Signal with work profile"; - icon = "signal-desktop"; - exec = "signal-desktop --user-data-dir=/home/dominik/.config/Signal-work -- %u"; - }; -in { - environment.systemPackages = [ - pkgs.signal-desktop - signalWorkDesktopItem - ]; -} diff --git a/hosts/nb-01.cloonar.com/modules/sway/social.nix b/hosts/nb-01.cloonar.com/modules/sway/social.nix deleted file mode 100644 index 148a862..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/social.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ pkgs, ... }: - -let - socialDesktopItem = pkgs.makeDesktopItem { - name = "social"; - desktopName = "Firefox browser with social profile"; - exec = "firefox -P social"; - }; -in { - environment.systemPackages = [ socialDesktopItem ]; -} diff --git a/hosts/nb-01.cloonar.com/modules/sway/sway.conf b/hosts/nb-01.cloonar.com/modules/sway/sway.conf deleted file mode 100644 index b4018c1..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/sway.conf +++ /dev/null @@ -1,356 +0,0 @@ -# Oxide theme -# -# Author: Diki Ananta Repository: https://github.com/dikiaap/dotfiles -# License: MIT -# i3 config file (v4) - -# font for window titles and bar -font pango:Source Sans Pro 10 - -# use win key -set $mod Mod4 - -# use these keys for focus, movement, and resize directions -set $left h -set $down j -set $up k -set $right l - -# define names for workspaces -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: " - -# assign workspaces to primary monitor -workspace $ws1 output primary -workspace $ws2 output primary -workspace $ws3 output primary -workspace $ws4 output primary -workspace $ws5 output primary -workspace $ws6 output primary -workspace $ws7 output primary -workspace $ws8 output primary -workspace $ws9 output primary - -# use $mod+Mouse to drag floating windows to their wanted position -floating_modifier $mod - -# control focused window when follows the mouse movements -focus_follows_mouse no - -# window border settings -default_border none -default_floating_border none - -# hiding borders adjacent to the screen edges -hide_edge_borders none - -# set popups during fullscreen mode -popup_during_fullscreen smart - -# start a terminal -#bindsym $mod+Return workspace $ws1; exec --no-startup-id alacritty -# bindsym $mod+Return workspace $ws1; exec alacritty -t alacritty-sway -bindsym $mod+Return workspace $ws1; exec foot -c /etc/xdg/foot/foot.ini -T terminal-sway - -# start a program launcher -# bindsym $mod+d exec --no-startup-id wofi -s /etc/wofi/style.css --show drun --lines 5 --columns 1 -t alacritty -# bindsym $mod+d exec alacritty --class=launcher -e env TERMINAL_COMMAND="alacritty -e" sway-launcher-desktop -bindsym $mod+d exec foot -a launcher -e env TERMINAL_COMMAND="foot -c /etc/xdg/foot/foot.ini -e" sway-launcher-desktop -#bindsym $mod+d exec --no-startup-id bemenu -#bindsym $mod+d exec --no-startup-id i3-dmenu-desktop --dmenu="dmenu -i -fn 'Source Sans Pro-10' -nb '#212121' -sb '#2b83a6' -sf '#ffffff' -#bindsym $mod+d exec --no-startup-id bemenu --dmenu="dmenu -i -fn 'Source Sans Pro-10' -nb '#212121' -sb '#2b83a6' -sf '#ffffff' - -# start an explorer -bindsym $mod+e exec --no-startup-id pcmanfm - -# switching window with win+tab -bindsym $mod+Tab exec --no-startup-id wofi -show window - -# kill focused window -bindsym $mod+Shift+q kill - -# change keyboard layout -bindsym $mod+i swaymsg input "*" us -bindsym $mod+Shift+i swaymsg input "*" de - -# change focus -bindsym $mod+$left focus left -bindsym $mod+$down focus down -bindsym $mod+$up focus up -bindsym $mod+$right 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+$left move left -bindsym $mod+Shift+$down move down -bindsym $mod+Shift+$up move up -bindsym $mod+Shift+$right 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+c 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 -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+p 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+Shift+a focus child - -# move the currently focused window to the scratchpad -bindsym $mod+Shift+minus move scratchpad - -# show the next scratchpad window or hide the focused scratchpad window -bindsym $mod+minus scratchpad show - -# move focused floating window to the current position of the cursor -bindsym $mod+Shift+m move position mouse - -# set a window to stick to the glass -bindsym $mod+Shift+s sticky toggle - -# sticky preview for media -bindsym $mod+Shift+p fullscreen disable; floating enable; resize set 350 px 197 px; sticky enable; move window to position 1006 px 537 px - -# shortcut to change window border -bindsym $mod+t border normal 0 -bindsym $mod+y border pixel 1 -bindsym $mod+u border none - -# switch to workspace - -bindcode $mod+10 workspace $ws1 -bindcode $mod+11 workspace $ws2 -bindcode $mod+12 workspace $ws3 -bindcode $mod+13 workspace $ws4 -bindcode $mod+14 workspace $ws5 -bindcode $mod+15 workspace $ws6 -bindcode $mod+16 workspace $ws7 -bindcode $mod+17 workspace $ws8 -bindcode $mod+18 workspace $ws9 -bindcode $mod+19 workspace $ws10 - -# move focused container to workspace -bindcode $mod+Shift+10 move container to workspace $ws1 -bindcode $mod+Shift+11 move container to workspace $ws2 -bindcode $mod+Shift+12 move container to workspace $ws3 -bindcode $mod+Shift+13 move container to workspace $ws4 -bindcode $mod+Shift+14 move container to workspace $ws5 -bindcode $mod+Shift+15 move container to workspace $ws6 -bindcode $mod+Shift+16 move container to workspace $ws7 -bindcode $mod+Shift+17 move container to workspace $ws8 -bindcode $mod+Shift+18 move container to workspace $ws9 -bindcode $mod+Shift+19 move container to workspace $ws10 - -# shortcut applications -bindsym $mod+F1 exec gkamus -bindsym $mod+F2 workspace $ws2; exec subl -bindsym $mod+F3 workspace $ws3; exec chromium-browser -bindsym $mod+F4 workspace $ws4; exec pcmanfm -bindsym $mod+F5 workspace $ws5; exec evince -bindsym $mod+F6 workspace $ws6; exec audacious -bindsym $mod+F7 workspace $ws7; exec gcolor2 -bindsym $mod+F8 workspace $ws8; exec telegram -bindsym $mod+F9 workspace $ws9; exec go-for-it -bindsym Print exec --no-startup-id gnome-screenshot -bindcode $mod+9 exec swaylock --image ~/.wallpaper.jpg -bindsym Ctrl+Shift+Space exec 1password --quick-access -bindsym $mod+Space exec rofi-rbw --menu-keybindings ctrl+p:copy:password - -# volume -bindsym XF86AudioLowerVolume exec amixer -q sset Master 5%- unmute -bindsym XF86AudioRaiseVolume exec amixer -q sset Master 5%+ unmute -bindsym XF86AudioMute exec amixer -q sset Master toggle - -# touchpad -# bindsym XF86NotificationCenter exec swaymsg input type:touchpad events toggle enabled disabled - -# set brightness logarithmically by factor 1.4 -# .72 is just slightly bigger than 1 / 1.4 -bindsym --locked XF86MonBrightnessUp exec light -S "$(light -G | awk '{ print int(($1 + .72) * 1.4) }')" -bindsym --locked XF86MonBrightnessDown exec light -S "$(light -G | awk '{ print int($1 / 1.4) }')" - -# reload the configuration file -bindsym $mod+Shift+c reload - -# restart i3 inplace -bindsym $mod+Shift+r restart - -# manage i3 session -bindsym $mod+Shift+e exec swaynag --background f1fa8c --border ffb86c --border-bottom-size 0 --button-background ffb86c --button-text 282a36 -t warning -f "pango:Hack 9" -m "Do you really want to exit?" -B "  Exit " "swaymsg exit" -B "  Lock " "pkill swaynag && swaylock --image ~/.wallpaper.jpg" -B "  Reboot " "pkill swaynag && reboot" -B "  Shutdown " "pkill swaynag && shutdown -h now" -B " Suspend " "pkill swaynag && systemctl suspend" - -# resize window -bindsym $mod+r mode "  " -mode "  " { - # pressing left and up will shrink the window's width and height - # pressing right and down will grow the window's width and height - bindsym $left resize shrink width 10 px or 10 ppt - bindsym $down resize grow height 10 px or 10 ppt - bindsym $up resize shrink height 10 px or 10 ppt - bindsym $right resize grow width 10 px or 10 ppt - - # same bindings, but for the arrow keys - bindsym Left resize shrink width 10 px or 10 ppt - bindsym Down resize grow height 10 px or 10 ppt - bindsym Up resize shrink height 10 px or 10 ppt - bindsym Right resize grow width 10 px or 10 ppt - - # back to normal: Enter or win+r - bindsym Return mode "default" - bindsym $mod+r mode "default" -} - -# set specific windows to floating mode -for_window [window_role="app"] floating enable -#for_window [window_role="pop-up"] floating enable -for_window [window_role="task_dialog"] floating enable -for_window [title="Preferences$"] floating enable -for_window [class="Gkamus"] floating enable -for_window [class="Go-for-it"] floating enable -for_window [class="Lightdm-gtk-greeter-settings"] floating enable -for_window [class="Lxappearance"] floating enable -for_window [class="Menu"] floating enable -for_window [class="Nm-connection-editor"] floating enable -for_window [class="Software-properties-gtk"] floating enable -for_window [app_id="launcher"] floating enable - -# set specific windows to tabbed mode -#for_window [class="Rambox"]tabbed -#for_window [class="Signal"]tabbed - -# assign program to workspace -assign [title="terminal-sway"] → $ws1 -# assign [app_id="Alacritty" title="^(?!alacritty-sway)$"] → $ws2 -assign [app_id="foot" title="^(?!terminal-sway)$"] → $ws2 -assign [app_id="chromium"] → $ws3 -assign [app_id="firefox"] → $ws3 -assign [app_id="librewolf"] → $ws3 -assign [app_id="pcmanfm"] → $ws4 -assign [app_id="libreoffice-calc"] → $ws5 -assign [app_id="libreoffice-writer"] → $ws5 -assign [class="vlc"] → $ws6 -assign [class="Gimp"] → $ws7 -assign [class="Signal"] → $ws8 -assign [app_id="social"] → $ws8 -assign [app_id="thunderbird"] → $ws8 -assign [class="Lightdm-gtk-greeter-settings"] → $ws10 -assign [class="Software-properties-gtk"] → $ws10 - -# class border backgr. text indicator child_border -client.focused #2b83a6 #2b83a6 #ffffff #dddddd #2b83a6 -client.focused_inactive #212121 #212121 #86888c #292d2e #5a5a5a -client.unfocused #212121 #212121 #86888c #292d2e #5a5a5a -client.urgent #d64e4e #d64e4e #ffffff #d64e4e #d64e4e -client.placeholder #212121 #0c0c0c #ffffff #212121 #262626 -client.background #212121 - -bar { - swaybar_command waybar -} - -# gaps -smart_gaps on -gaps inner 12 -gaps outer 0 - -# startup applications -exec /run/wrappers/bin/gnome-keyring-daemon --start --daemonize -exec dbus-sway-environment -exec configure-gtk -exec nm-applet --indicator -exec alacritty -t alacritty-sway -exec signal-desktop -exec firefox --name=social -p social -exec thunderbird -exec firefox -exec nextcloud -exec cryptomator -exec swayidle \ - before-sleep 'loginctl lock-session $XDG_SESSION_ID' \ - lock 'swaylock --image ~/.wallpaper.jpg' \ - timeout 180 'swaylock --screenshots --effect-blur 7x5' \ - timeout 1800 'systemctl suspend' -exec dunst -#exec --no-startup-id swaybg -c "#000000" -m fill -i ~/.config/wallpaper/wot.jpg -# exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets,ssh -exec 'sleep 2; swaymsg workspace $ws8; swaymsg layout tabbed' -exec mako --default-timeout=5000 - -# wallpaper -output eDP-1 scale 1.5 -output eDP-1 bg ~/.wallpaper.jpg fill -output DP-4 bg ~/.wallpaper.jpg fill -output DP-5 bg ~/.wallpaper.jpg fill - -input * xkb_layout "de" -input * xkb_variant "colemak,,typewriter" -input * xkb_options "grp:win_space_toggle" -input "MANUFACTURER1 Keyboard" xkb_model "pc101" - -# notebook -set $laptop eDP-1 -# bindswitch --reload --locked lid:on output $laptop disable -# bindswitch --reload lid:off output $laptop enable - -# A lock command used in several places -set $lock_script swaylock - -# A sleep command used in several places. -# We leave a bit of time for locking to happen before putting the system to sleep -set $sleep $lock_script && sleep 3 && systemctl suspend - -# Triggers a short notification -set $notify dunstify --timeout 1500 - -# Set your laptop screen name -set $laptop_screen 'eDP-1' - -# Clamshell mode or lock & sleep -# This is a if/else statement: [ outputs_count == 1 ] && true || false -# bindswitch --locked lid:on exec '[ $(swaymsg -t get_outputs | grep name | wc -l) == 1 ] && ($sleep) || swaymsg output $laptop_screen disable' -bindswitch --locked lid:on exec 'swaymsg output $laptop_screen disable' -bindswitch --locked lid:off output $laptop_screen enable - -# disable xwayland -#xwayland disable - -# Touchpad -input type:touchpad { -tap enabled -natural_scroll enabled -} - diff --git a/hosts/nb-01.cloonar.com/modules/sway/sway.nix b/hosts/nb-01.cloonar.com/modules/sway/sway.nix deleted file mode 100644 index f0904b3..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/sway.nix +++ /dev/null @@ -1,143 +0,0 @@ -{ config, pkgs, lib, ... }: - -with lib; - -let - cfg = config.cloonar.sway; - - dbus-sway-environment = pkgs.writeTextFile { - name = "dbus-sway-environment"; - destination = "/bin/dbus-sway-environment"; - executable = true; - - text = '' - dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway - systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr - systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr - ''; - }; - - sway-conf = builtins.readFile ./sway.conf + cfg.additionalConfig; - unstable = import { config = { allowUnfree = true; }; }; -in { - imports = [ - ./social.nix - ./signal-work.nix - ./parsec.nix - ./thunderbird.nix - ]; - - options.cloonar.sway = { - additionalConfig = mkOption { - type = types.str; - default = ""; - description = lib.mdDoc '' - Additional sway config - ''; - }; - }; - - config = { - hardware.sane.enable = true; - hardware.pulseaudio.enable = false; - - virtualisation.virtualbox.host.enable = true; - users.extraGroups.vboxusers.members = [ "dominik" ]; - - services.gnome.gnome-keyring.enable = true; - - environment.systemPackages = with pkgs; [ - alsaUtils - apache-directory-studio - bitwarden - bitwarden-cli - rofi-rbw-wayland - cryptomator - - brave - chromium - firefox - vivaldi - - unstable.cura - freecad - openscad - - dbus-sway-environment - ddev - dracula-theme - foot - gcc - git - glib - gimp - gnome.seahorse - gnome3.adwaita-icon-theme - go - grim - hunspell - hunspellDicts.de_DE - hunspellDicts.en_US - jmeter - libreoffice - mako - mqttui - networkmanagerapplet - nextcloud-client - onlyoffice-bin - pavucontrol - pcmanfm - pinentry - rbw - rofi-rbw - slurp - sway - sway-launcher-desktop - swayidle - swaylock - thunderbird - unzip - vlc - waybar - wayland - wl-clipboard - wofi - wtype - yubikey-manager-qt - ]; - - programs.light.enable = true; - - fonts.packages = with pkgs; [ - noto-fonts - noto-fonts-cjk - noto-fonts-emoji - nerdfonts - ]; - - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; - - programs.sway = { - enable = true; - wrapperFeatures.gtk = true; - extraOptions = [ - "--unsupported-gpu" - ]; - }; - - environment.etc = { - "sway/config".text = sway-conf; - "wofi/style.css".text = builtins.readFile ./wofi.css; - "xdg/waybar/config".text = builtins.readFile ./waybar.conf; - "xdg/waybar/style.css".text = builtins.readFile ./waybar.css; - "xdg/foot/foot.ini".text = builtins.readFile ./foot.ini; - }; - }; -} diff --git a/hosts/nb-01.cloonar.com/modules/sway/thunderbird.nix b/hosts/nb-01.cloonar.com/modules/sway/thunderbird.nix deleted file mode 100644 index c757970..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/thunderbird.nix +++ /dev/null @@ -1,40 +0,0 @@ - -{ pkgs, ... }: -let - thunderbirdWorkDesktopItem = pkgs.makeDesktopItem { - name = "thunderbird-work"; - desktopName = "Thunderbird Work"; - icon = "thunderbird"; - exec = "thunderbird -p work"; - }; - thunderbirdCloonarDesktopItem = pkgs.makeDesktopItem { - name = "thunderbird-cloonar"; - desktopName = "Thunderbird Cloonar"; - icon = "thunderbird"; - exec = "thunderbird -p cloonar"; - }; -in -{ - - # nixpkgs.overlays = [ - # (self: super: - # { - # thunderbird-bin-unwrapped = super.thunderbird-bin-unwrapped.overrideAttrs ( old: rec { - # version = "112.0b7"; - # name = "thunderbird-bin"; - # src = super.fetchurl { - # url = "https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/linux-x86_64/en-US/thunderbird-${version}.tar.bz2"; - # sha256 = "30d23df34834096a79261439d5ea6d78d44921f0218893f100596ee6296cd806"; - # }; - # }); - # } - # ) - # ]; - environment.systemPackages = [ - # (import ../../pkgs/thunderbird.nix) - pkgs.thunderbird - # pkgs.thunderbird-bin-unwrapped - thunderbirdWorkDesktopItem - thunderbirdCloonarDesktopItem - ]; -} diff --git a/hosts/nb-01.cloonar.com/modules/sway/waybar.conf b/hosts/nb-01.cloonar.com/modules/sway/waybar.conf deleted file mode 100644 index 504fae6..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/waybar.conf +++ /dev/null @@ -1,132 +0,0 @@ -// -*- mode: json -*- - -{ -"layer": "top", -"position": "top", - -"modules-left": [ -"sway/workspaces", -"custom/right-arrow-dark" -], -"modules-center": [ -"custom/left-arrow-dark", -"clock#1", -"custom/left-arrow-light", -"custom/left-arrow-dark", -"clock#2", -"custom/right-arrow-dark", -"custom/right-arrow-light", -"clock#3", -"custom/right-arrow-dark" -], -"modules-right": [ -"custom/left-arrow-dark", -"network", -"custom/left-arrow-light", -"custom/left-arrow-dark", -"pulseaudio", -"custom/left-arrow-light", -"custom/left-arrow-dark", -"memory", -"custom/left-arrow-light", -"custom/left-arrow-dark", -"cpu", -"custom/left-arrow-light", -"custom/left-arrow-dark", -"battery", -"custom/left-arrow-light", -"custom/left-arrow-dark", -"disk", -"custom/left-arrow-light", -"custom/left-arrow-dark", -"tray" -], - -"custom/left-arrow-dark": { -"format": "", -"tooltip": false -}, -"custom/left-arrow-light": { -"format": "", -"tooltip": false -}, -"custom/right-arrow-dark": { -"format": "", -"tooltip": false -}, -"custom/right-arrow-light": { -"format": "", -"tooltip": false -}, - -"sway/workspaces": { -"disable-scroll": true, -"format": "{name}" -}, - -"clock#1": { -"format": "{:%a}", -"tooltip": false -}, -"clock#2": { -"format": "{:%H:%M}", -"tooltip": false -}, -"clock#3": { -"format": "{:%d.%m}", -"tooltip": false -}, - - "pulseaudio": { - "format": "{icon}{volume}%", - "format-muted": "ﱝ", - "format-icons": { - "phone": ["奄", "奔", "墳"], - "default": ["奄", "奔", "墳"] - }, - "scroll-step": 5, - "on-click": "pavucontrol", - "tooltip": false - }, - "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, -"memory": { -"interval": 5, -"format": "{}%" -}, -"cpu": { -"interval": 5, -"format": "﬙{usage:2}%" -}, -"battery": { -"states": { -"good": 95, -"warning": 30, -"critical": 15 -}, -"format": "{icon} {capacity}%", -"format-icons": [ -"", -"", -"", -"", -"" -] -}, -"disk": { -"interval": 5, -"format": "{percentage_used:2}%", -"path": "/home/" -}, -"tray": { -"icon-size": 20 -} -} - diff --git a/hosts/nb-01.cloonar.com/modules/sway/waybar.css b/hosts/nb-01.cloonar.com/modules/sway/waybar.css deleted file mode 100644 index c927754..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/waybar.css +++ /dev/null @@ -1,79 +0,0 @@ -* { - font-size: 20px; - font-family: monospace; -} - -window#waybar { - background: #282a36; - color: #f8f8f2; -} - -#custom-right-arrow-dark, -#custom-left-arrow-dark { - color: #252525; -} -#custom-right-arrow-light, -#custom-left-arrow-light { - color: #282a36; - background: #252525; -} - -#workspaces, -#clock.1, -#clock.2, -#clock.3, -#network, -#pulseaudio, -#memory, -#cpu, -#battery, -#disk, -#tray { - background: #252525; -} - -#workspaces button { - padding: 0 2px; - color: #f8f8f2; -} -#workspaces button.focused { - color: #50fa7b; -} -#workspaces button:hover { - box-shadow: inherit; - text-shadow: inherit; -} -#workspaces button:hover { - background: #252525; - border: #252525; - padding: 0 3px; -} - -#network { - color: #8be9fd; -} -#pulseaudio { - color: #6272a4; -} -#memory { - color: #f8f8f2; -} -#cpu { - color: #bd93f9; -} -#battery { - color: #f1fa8c; -} -#disk { - color: #ffb86c; -} - -#clock, -#network, -#pulseaudio, -#memory, -#cpu, -#battery, -#disk { - padding: 0 10px; -} diff --git a/hosts/nb-01.cloonar.com/modules/sway/wofi.css b/hosts/nb-01.cloonar.com/modules/sway/wofi.css deleted file mode 100644 index 322997f..0000000 --- a/hosts/nb-01.cloonar.com/modules/sway/wofi.css +++ /dev/null @@ -1,40 +0,0 @@ -window { - margin: 0px; - border: 1px solid #bd93f9; - background-color: #282a36; -} - -#input { - margin: 5px; - border: none; - color: #f8f8f2; - background-color: #44475a; -} - -#inner-box { - margin: 5px; - border: none; - background-color: #282a36; -} - -#outer-box { - margin: 5px; - border: none; - background-color: #282a36; -} - -#scroll { - margin: 0px; - border: none; -} - -#text { - margin: 5px; - border: none; - color: #f8f8f2; -} - -#entry:selected { - background-color: #44475a; -} - diff --git a/hosts/nb-01.cloonar.com/secrets.yaml b/hosts/nb-01.cloonar.com/secrets.yaml deleted file mode 100644 index 7757ff8..0000000 --- a/hosts/nb-01.cloonar.com/secrets.yaml +++ /dev/null @@ -1,35 +0,0 @@ -epicenter_vpn_ca: ENC[AES256_GCM,data:DUvpuL92zpQkK0auXGdHDw+f5gzjMARMroBknmgR+eq1LV5aISdA0XOCw7d3VFpMtHY+tPM4pDEWlnGJDoHDJBSFAUdmbLkDq2DvoDR1RBbsidmlXpvu7UnL4OyCgrN9G3I65HQmCh64/453T0Y5MZKUiFZXn9SZJgOU3h0qOnAiIKTQADXmUo6imhLuUdPxjwiLkNp8zHNystbfUuZkF15J+TXV9yndy/E8E4sFs4uysK9E+VM84v0q75zTf48cheE+cBGI9xOP5QMvSND6MloyGYUTPZOiQyz8M9AmJObvQFryysKf5Q1W1GBiTz9FVuSsr1IM7meljdBYwfxQaA5MurdsXVFYfdRgL6NyL5x7WOd367pgtBBwuVyT+cygg5ITIBc6YTuT8thp/q0BsJkq1OdVQrLa4PK12Tg2IOUg2Za/tLJxxiNWqs1gAmTWEIGAeJWmNgCZAjJIISwTGcdbpdWqhjAEgaaLf9ZD0hUXQ5MmSO+KXzP7lIGgqCXoMEc7W7rn3R2VkIrvaVgCBK3psTg6+CxoPQwnYbUKgPLG7ys54eECJyRfc8YPH1957Q67pYkVD166ZP/sDJfplOGH19QyFnaaSLRLoXCAfWuO72NwO/fSljN4+pmB6Ev1cRCe4mXicz7TTqGG740VOam/JW4OJCrnHVs67cs9/MsVSNZOsI+x44TKJjaFph4onaodDh5P7e52IkfRnHnjK6FjEvYPasUr9YDqUR3ucHxhD9UqvINDwhp3L/zyFb2HRuO1KzEQLzmG96xiJpJxBVl8GOTeNrK2owOf6cCuh6o3iPaAFjFok26gI1ujX/mPbBigOxB6S0cLOLoA7oA+E6L22nsoYdIwjU4b6Y/DQvndgsZFnycLsSA4TRYHUH1Q51fGU3S/zAlB66rYchsw3JqODD51axxEdo5uu/2a6K9c8BSDo+stHBPmGvty6IorhM+17IGwSVrnxBFbSICja/Mi9eHmkUuUQWaXe5iWiNGYOIe0Xsbu4PQANhDE0f4U1LboVdI46uVhBV36zLSRJ5hUYARdmaz+aUSfNSE20xwCQiqd4U1cb2W6ZRER5WOfNFa8LCjk1YyhDY1yKCbo5tZrYZtmo4T47EuH/2uyW9vPtDlAhpZWmJJ0LEbZMhl9hIEAgGYmhnxPIVItJWHgq4O+YavYWvu1qgbdBC/FZJ8xx0uSy48oKCbuTUbIBUHQ37/6wp+IC+FAoYc2CDgCKzYvYjGrjMr+l/bhWE6KqI2DE/8yG4sOZIyrKNOYRq/aqDRkaeu96bLSYZECoLpohEKRNLTFQ+J8btjGX+xak0HRNEX9bxx8Zs3ml8mDKfh11uy05zPMVU4jaLrc5VtvmNdCg1EffbtEIRhi88aP5K2flRLxvSsYODd8iisqJ3CEqa8/C/FoHhWqgs7vk9UeRs46CJjGQ2Nx7UeQhAK8ey8FwqqSPQ6hp6jFnAv5ha583GZm3G8CsapajioHOpNcyYRhUW/ekdQ1E7DafOLRRO0hdWws8fsP/96uuWJ1Ir1ec2pepmh8s9zCZl/CKSU6+PUjX03Y9buZDnAYao5nDFsF5hgi2nLCTRbHnCh/S5C4NL/Lss2gi/9HdQUWr3KNONgoGbdRNS4MHtK/t9MtxQT8FOS54fM76XLygYZhQEQuDHUr3vaihOPKXncPNx+M4IGd+tsOoGADfpZk7W4OLd5jl8OiCulKvmRXzGCrmyofifh6XBE/EDa97j4eXt/fZPhUh+kv7i39mLKiccPUqpq9WYA/pqlMc84PAsewRerk3Z7jygFb2oX8LwYX2vDer565q+74n/y+oqz/CQ7jypoGBC8f9a16h2e2ZuvjQZ2sUdBB0xKwmLHC5mXLRkJYZ8Myt0Bzp0iVnC8P,iv:0GfL3sG36nsg/4BPw32kKMB78TmbN+mLq/mqEFp0yas=,tag:x+kxJsS+Fn7VO3MlOmqgwQ==,type:str] -epicenter_vpn_cert: ENC[AES256_GCM,data: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,iv:MVId1jgmyhY/iUxnjca5IpYwlzUAsa6Nwchg52AKgRc=,tag:1RASj3dFAYVNphJ4zjXxtA==,type:str] -epicenter_vpn_key: ENC[AES256_GCM,data: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,iv:pB/cNgmHi14ugi6kd+J6poWXX79LMHiiakNa03ibZ0Q=,tag:nLfjOesXDm5/QtwHznJROw==,type:str] -wg_private_key: ENC[AES256_GCM,data:A80vGf9aMxowC2xME4FIVTmKpSRLNB2tWiUQeP1v8vCRk6Gt8BKYOuXYt04=,iv:vr7qvfr78syrI5pIytjLouPwZcw4xvBTvEUzzv7ibnQ=,tag:qjALlFkd8JocLJqMKFERaw==,type:str] -wg_preshared_key: ENC[AES256_GCM,data:bhXoD95ahDRawoHd5Z35FY0G6Xv0PHwWJf300fHQ5jNsGN1TQKHsIswx8YI=,iv:fBsIWkVZUt8pahuO9daaRBIEEIWsSnFW5Velj9uP2ZY=,tag:RvbCYhnRv0OrjTxjsNFW6g==,type:str] -wg-cloonar-key: ENC[AES256_GCM,data:ZMEeIZApOD0ij3nPMZeQRwJ4MwVx0sHu08F+m/u6IMHBGid5YwMgxZ7qbLk=,iv:OfIZ9TqBLjToIQi7zRUBATrynBtu0bzXeGVI/EAUPhQ=,tag:mJICT/ak5U76JE/IxJsCKw==,type:str] -sops: - kms: [] - gcp_kms: [] - azure_kv: [] - hc_vault: [] - age: - - recipient: age16veg3fmvpfm7a89a9fc8dvvsxmsthlm70nfxqspr6t8vnf9wkcwsvdq38d - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmTVMrSENXV213bThlL2xj - Rkw3Z2R0bCsxN05OaVE5VHpjN2VDMWNJWno0Ck1WQURoNXRMWGlVK2R5TThRSmNy - T3NJUVpDaUx2Rm5peVlZakMvQkdZaUkKLS0tIENLVlBEUWRWTlVIMnV4cG05OUQ1 - UFZ1MTBkTHNMNEVUVzJuNU56WjI0aXMK79Z5+OMEp/ZR9OkFxnjAnOXDcJaagOkL - iSMvU4cD+GMQZCMVMCRAxuPQEaTcCIiZcCxkyVeod4GRA0MdwIGCsA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1v6p8dan2t3w9h94fz4flldl32082j3s9x6zqq7u5j66keth9aphsd6pvch - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYaWtOVWZzdGtCTFZ6T0N1 - UEdFdWJEeW5BTzVsMU0wd3pwTnl6WFZRMkI0CkRRRWtNK0prVmFad09SNXV1WTV0 - dlhjR3JubVY3b05WTFZvQXhoTGZwWU0KLS0tIFAyTS9HMnNiYnVsUklhbzdjUkxv - bWRUTk9VTTQ5TU5MZnU1bitUa0dzYncK4Sp/tVHlYjFON9W665DJ7a4ARl8Nie7l - g1eGwOGIb6+V6zXVb4uBAMTsKBFVerggYuwYepXc/n7UQT4iBjdWaQ== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2022-11-30T08:33:24Z" - mac: ENC[AES256_GCM,data:/vJdDVpv+iM66wANeLLl+CPtg2j1OCyKlGHhsQQT/RphUj4IlIsjKj+j59lmM6bRBfebTTRt1scFgz8CCPoyfSH0KrAyPLPs1SPxZT6Le87PkmO2rfH0MpNCrBDUdtpMgKs+kbxSzbqnh6X3+juXnOL3oUB3K0cdF6hAr4cP5xU=,iv:3IxaC/8y8FwKxO3mPP7f/byjYih3O6zZU6HJK2cAPvw=,tag:g8crhgnYs670wLPcC3HIhw==,type:str] - pgp: [] - unencrypted_suffix: _unencrypted - version: 3.7.3 diff --git a/hosts/nb-01.cloonar.com/users/default.nix b/hosts/nb-01.cloonar.com/users/default.nix deleted file mode 100644 index 96def77..0000000 --- a/hosts/nb-01.cloonar.com/users/default.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, pkgs, ... }: -let - home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz"; - - -in -{ - imports = [ - (import "${home-manager}/nixos") - ./dominik.nix - ]; - - home-manager.sharedModules = [ - "${builtins.fetchTarball "https://github.com/Mic92/sops-nix/archive/master.tar.gz"}/modules/home-manager/sops.nix" - ]; -} diff --git a/hosts/nb-01.cloonar.com/users/dominik.nix b/hosts/nb-01.cloonar.com/users/dominik.nix deleted file mode 100644 index 83315a3..0000000 --- a/hosts/nb-01.cloonar.com/users/dominik.nix +++ /dev/null @@ -1,378 +0,0 @@ -{ config, lib, pkgs, ... }: -let - thunderbirdSettings = { - "extensions.activeThemeID" = "thunderbird-compact-dark@mozilla.org"; - "browser.theme.content-theme" = 0; - "browser.theme.toolbar-theme" = 0; - "calendar.alarms.showmissed" = false; - "mail.uidensity" = 2; - "mail.inline_attachments" = false; - "mail.folder.views.version" = 1; - "calendar.list.sortOrder" = "cloonar-personal"; - "calendar.ui.version" = 3; - "calendar.timezone.local" = "Europe/Vienna"; - "calendar.week.start" = 1; - }; - - thunderbirdCalendarPersonal = { - "calendar.registry.cloonar-personal.cache.enabled" = true; - "calendar.registry.cloonar-personal.calendar-main-in-composite" = true; - "calendar.registry.cloonar-personal.color" = "#232323"; - "calendar.registry.cloonar-personal.disabled" = false; - "calendar.registry.cloonar-personal.forceEmailScheduling" = true; - "calendar.registry.cloonar-personal.imip.identity.key" = "id6"; - "calendar.registry.cloonar-personal.name" = "Personal"; - "calendar.registry.cloonar-personal.readOnly" = false; - "calendar.registry.cloonar-personal.refreshInterval" = 30; - "calendar.registry.cloonar-personal.suppressAlarms" = false; - "calendar.registry.cloonar-personal.type" = "caldav"; - "calendar.registry.cloonar-personal.uri" = "https://cloud.cloonar.com/remote.php/dav/calendars/dominik.polakovics@cloonar.com/personal/"; - "calendar.registry.cloonar-personal.username" = "dominik.polakovics@cloonar.com"; - }; - thunderbirdCalendarEpicenterEmployees = { - "calendar.registry.epicenter-employees.cache.enabled" = true; - "calendar.registry.epicenter-employees.calendar-main-in-composite" = true; - "calendar.registry.epicenter-employees.color" = "#e774ca"; - "calendar.registry.epicenter-employees.disabled" = true; - "calendar.registry.epicenter-employees.forceEmailScheduling" = true; - "calendar.registry.epicenter-employees.name" = "epicenter.works-Employees (admin)"; - "calendar.registry.epicenter-employees.readOnly" = false; - "calendar.registry.epicenter-employees.refreshInterval" = 30; - "calendar.registry.epicenter-employees.suppressAlarms" = true; - "calendar.registry.epicenter-employees.type" = "caldav"; - "calendar.registry.epicenter-employees.uri" = "https://cloud.epicenter.works/remote.php/dav/calendars/razormind/akvorrat-employees_shared_by_admin/"; - "calendar.registry.epicenter-employees.username" = "razormind"; - }; - - thunderbirdContactsPersonal = { - "ldap_2.servers.Contacts.carddav.token" = "http://sabre.io/ns/sync/325"; - "ldap_2.servers.Contacts.carddav.url" = "https://cloud.cloonar.com/remote.php/dav/addressbooks/users/dominik.polakovics@cloonar.com/contacts/"; - "ldap_2.servers.Contacts.carddav.username" = "dominik.polakovics@cloonar.com"; - "ldap_2.servers.Contacts.description" = "Contacts"; - "ldap_2.servers.Contacts.dirType" = 102; - "ldap_2.servers.Contacts.filename" = "abook-1.sqlite"; - "ldap_2.servers.Contacts.uid" = "68fb463c-1c2d-4f39-be37-bbb6ecb97e63"; - "ldap_2.servers.history.uid" = "01df0056-319d-47ac-93ff-b24b978c0902"; - "ldap_2.servers.pab.uid" = "3a7c1bff-18ec-4500-9ae2-098b5fdbaeaa"; - }; - - firefoxSettings = { - "browser.startup.homepage" = "https://start.duckduckgo.com"; - "browser.startup.page" = 1; - "browser.startup.homepage_override.mstone" = "ignore"; - "extensions.autoDisableScopes" = 0; - "app.normandy.first_run" = false; - "browser.download.panel.shown" = true; - "devtools.cache.disabled" = true; - "devtools.toolbox.host" = "right"; - "browser.uiCustomization.state" = "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"urlbar-container\",\"downloads-button\",\"screenshot-button\",\"ublock0_raymondhill_net-browser-action\",\"jid1-mnnxcxisbpnsxq_jetpack-browser-action\",\"_d634138d-c276-4fc8-924b-40a0ea21d284_-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"_testpilot-containers-browser-action\",\"unified-extensions-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"firefox-view-button\",\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"_d634138d-c276-4fc8-924b-40a0ea21d284_-browser-action\",\"_testpilot-containers-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"jid1-mnnxcxisbpnsxq_jetpack-browser-action\",\"developer-button\"],\"dirtyAreaCache\":[\"unified-extensions-area\",\"nav-bar\",\"PersonalToolbar\"],\"currentVersion\":20,\"newElementCount\":3}"; - }; - - firefoxExtensions = with pkgs.nur.repos.rycee.firefox-addons; [ - bitwarden - multi-account-containers - onepassword-password-manager - privacy-badger - ublock-origin - ]; -in -{ - home-manager.users.dominik = { lib, pkgs, ... }: { - /* The home.stateVersion option does not have a default and must be set */ - home.stateVersion = "24.05"; - home.enableNixpkgsReleaseCheck = false; - /* Here goes the rest of your home-manager config, e.g. home.packages = [ pkgs.foo ]; */ - programs.git = { - - enable = true; - package = pkgs.gitAndTools.gitFull; - userName = "Dominik Polakovics"; - userEmail = "dominik.polakovics@cloonar.com"; - # signing = { - # key = "dominik.polakovics@cloonar.com"; - # signByDefault = false; - # }; - iniContent = { - # Branch with most recent change comes first - branch.sort = "-committerdate"; - # Remember and auto-resolve merge conflicts - # https://git-scm.com/book/en/v2/Git-Tools-Rerere - rerere.enabled = true; - }; - }; - - programs.thunderbird = { - enable = true; - profiles = { - private = { - isDefault = true; - settings = lib.mkMerge [ - thunderbirdSettings - thunderbirdCalendarPersonal - thunderbirdContactsPersonal - ]; - }; - cloonar = { - settings = lib.mkMerge [ - thunderbirdSettings - thunderbirdCalendarPersonal - thunderbirdContactsPersonal - ]; - }; - work = { - settings = lib.mkMerge [ - thunderbirdSettings - thunderbirdCalendarPersonal - thunderbirdCalendarEpicenterEmployees - thunderbirdContactsPersonal - ]; - }; - }; - }; - - accounts.email.accounts = { - "dominik@superbros.tv" = { - primary = true; - realName = "Dominik Polakovics"; - address = "dominik@superbros.tv"; - userName = "dominik@superbros.tv"; - imap = { - host = "imap.cloonar.com"; - port = 993; - }; - smtp = { - host = "mail.cloonar.com"; - port = 587; - tls = { - enable = true; - useStartTls = true; - }; - }; - thunderbird = { - enable = true; - profiles = [ "private" "cloonar" "work" ]; - }; - }; - "office@cloonar.com" = { - realName = "Cloonar"; - address = "office@cloonar.com"; - userName = "office@cloonar.com"; - imap = { - host = "imap.cloonar.com"; - port = 993; - }; - smtp = { - host = "mail.cloonar.com"; - port = 587; - tls = { - enable = true; - useStartTls = true; - }; - }; - thunderbird = { - enable = true; - profiles = [ "cloonar" "work" ]; - }; - }; - "dominik.polakovics@cloonar.com" = { - realName = "Dominik Polakovics"; - address = "dominik.polakovics@cloonar.com"; - userName = "dominik.polakovics@cloonar.com"; - imap = { - host = "imap.cloonar.com"; - port = 993; - }; - smtp = { - host = "mail.cloonar.com"; - port = 587; - tls = { - enable = true; - useStartTls = true; - }; - }; - thunderbird = { - enable = true; - profiles = [ "cloonar" "work" ]; - }; - }; - "dominik.polakovics@epicenter.works" = { - realName = "Dominik Polakovics"; - address = "dominik.polakovics@epicenter.works"; - userName = "dominik.polakovics@epicenter.works"; - imap = { - host = "mail.epicenter.works"; - port = 993; - }; - smtp = { - host = "mail.epicenter.works"; - port = 587; - tls = { - enable = true; - useStartTls = true; - }; - }; - thunderbird = { - enable = true; - profiles = [ "work" ]; - }; - }; - }; - - programs.firefox = { - enable = true; - profiles = { - default = { - id = 0; - isDefault = true; - settings = firefoxSettings; - search.default = "DuckDuckGo"; - search.privateDefault = "DuckDuckGo"; - extensions = firefoxExtensions; - }; - social = { - id = 1; - settings = firefoxSettings; - search.default = "DuckDuckGo"; - search.privateDefault = "DuckDuckGo"; - containersForce = true; - containers = { - "private" = { - color = "green"; - icon = "fingerprint"; - id = 1; - }; - "cloonar" = { - color = "purple"; - icon = "briefcase"; - id = 2; - }; - "epicenter.works" = { - color = "blue"; - icon = "briefcase"; - id = 3; - }; - }; - extensions = firefoxExtensions; - }; - }; - }; - - /* Setup development projects */ - home.activation.projects = lib.hm.dag.entryAfter ["writeBoundary"] '' - PATH="${pkgs.git}/bin:${pkgs.openssh}/bin:$PATH" - set +eu - git clone gitea@git.cloonar.com:Cloonar/nixos.git ~/projects/cloonar/cloonar-nixos 2>/dev/null - git clone gitea@git.cloonar.com:Cloonar/website.git ~/projects/cloonar/cloonar-website 2>/dev/null - git clone gitea@git.cloonar.com:Cloonar/wohnservice-wien-typo3.git ~/projects/cloonar/wohnservice-wien 2>/dev/null - git clone gitea@git.cloonar.com:Cloonar/gbv-aktuell.git ~/projects/cloonar/gbv-aktuell 2>/dev/null - git clone gitea@git.cloonar.com:Paraclub/api.git ~/projects/cloonar/paraclub/paraclub-api 2>/dev/null - git clone gitea@git.cloonar.com:Paraclub/frontend.git ~/projects/cloonar/paraclub/paraclub-frontend 2>/dev/null - git clone gitea@git.cloonar.com:Paraclub/website.git ~/projects/cloonar/paraclub/paraclub-website 2>/dev/null - git clone gitea@git.cloonar.com:Paraclub/module.git ~/projects/cloonar/paraclub/paraclub-module 2>/dev/null - git clone gitea@git.cloonar.com:Cloonar/amz-api.git ~/projects/cloonar/amz/amz-api 2>/dev/null - git clone gitea@git.cloonar.com:Cloonar/amz-frontend.git ~/projects/cloonar/amz/amz-frontend 2>/dev/null - git clone gitea@git.cloonar.com:myhidden.life/web.git ~/projects/myhidden.life/myhidden.life-web 2>/dev/null - - git clone git@gitlab.epicenter.works:epicenter.works/campaigntool.git ~/projects/epicenter.works/campaigntool 2>/dev/null - git clone git@gitlab.epicenter.works:epicenter.works/website.git ~/projects/epicenter.works/epicenter.works 2>/dev/null - git clone git@gitlab.epicenter.works:epicenter.works/nixos.git ~/projects/epicenter.works/epicenter-nixos 2>/dev/null - git clone git@github.com:AKVorrat/spenden.akvorrat.at.git ~/projects/epicenter.works/spenden.akvorrat.at 2>/dev/null - git clone git@github.com:AKVorrat/dearmep-website.git ~/projects/epicenter.works/dearmep-website 2>/dev/null - set -eu - ''; - - home.activation.nvim-project = lib.hm.dag.entryAfter ["writeBoundary"] '' - PATH="${pkgs.coreutils}/bin:$PATH" - if [ ! -e "~/.local/share/nvim/project_nvim/project_history" ] ; then -cat > ~/.local/share/nvim/project_nvim/project_history << EOL -/home/dominik/projects/cloonar/cloonar-nixos -/home/dominik/projects/cloonar/cloonar-website -/home/dominik/projects/cloonar/wohnservice-wien -/home/dominik/projects/cloonar/gbv-aktuell -/home/dominik/projects/cloonar/paraclub/paraclub-api -/home/dominik/projects/cloonar/paraclub/paraclub-frontend -/home/dominik/projects/cloonar/paraclub/paraclub-website -/home/dominik/projects/cloonar/paraclub/paraclub-module -/home/dominik/projects/cloonar/amz/amz-api -/home/dominik/projects/cloonar/amz/amz-frontend -/home/dominik/projects/myhidden.life/myhidden.life-web -/home/dominik/projects/epicenter.works/campaigntool -/home/dominik/projects/epicenter.works/epicenter.works -/home/dominik/projects/epicenter.works/epicenter-nixos -/home/dominik/projects/epicenter.works/spenden.akvorrat.at -/home/dominik/projects/epicenter.works/dearmep-website -EOL - fi - ''; - - /* Setup nextcloud folders */ - home.activation.nextcloud = lib.hm.dag.entryAfter ["writeBoundary"] '' - set +eu - ${pkgs.coreutils}/bin/mkdir ~/cloud.cloonar.com - ${pkgs.coreutils}/bin/mkdir ~/cloud.epicenter.works - set -eu - ''; - - programs.ssh = { - enable = true; - matchBlocks = { - "git.cloonar.com" = { - user = "git"; - identityFile = "~/.ssh/id_rsa"; - identitiesOnly = true; - }; - "gitlab.epicenter.works" = { - user = "git"; - identityFile = "~/.ssh/id_rsa"; - identitiesOnly = true; - }; - "tools.epicenter.works" = { - user = "root"; - identityFile = "~/.ssh/epicenter.id_rsa"; - }; - "*.epicenter.works !tools.epicenter.works" = { - user = "dominik"; - identityFile = "~/.ssh/epicenter.id_rsa"; - }; - "*.dearmep.eu" = { - user = "root"; - identityFile = "~/.ssh/epicenter.id_rsa"; - }; - "*.akvorrat.at" = { - user = "dominik"; - setEnv = { - TERM = "xterm-256color"; - }; - identityFile = "~/.ssh/epicenter.id_rsa"; - }; - "*.cloonar.com" = { - user = "root"; - }; - "*.cloonar.smart" = { - user = "root"; - }; - "*.wsw.at" = { - user = "wswdpolakovics"; - setEnv = { - TERM = "xterm-256color"; - }; - }; - "*.nycro.net" = { - user = "hilgenberg-gmbh.de_kk33i9d2xv"; # prod - #user = "hilgenberg.gmbh.de_pci2n5aqzt"; # stage - setEnv = { - TERM = "xterm-256color"; - }; - }; - "amz-websrv-01.amz.at" = { - user = "ebs"; - }; - "u149513.your-backup.de" = { - user = "u149513"; - # user = "u149513-sub2"; # fw.cloonar.com - port = 23; - }; - }; - }; - }; -} diff --git a/hosts/nb-01.cloonar.com/utils b/hosts/nb-01.cloonar.com/utils deleted file mode 120000 index 6b18391..0000000 --- a/hosts/nb-01.cloonar.com/utils +++ /dev/null @@ -1 +0,0 @@ -../../utils \ No newline at end of file diff --git a/hosts/nb-new.cloonar.com/configuration.nix b/hosts/nb-new.cloonar.com/configuration.nix index d710b4d..79428f9 100644 --- a/hosts/nb-new.cloonar.com/configuration.nix +++ b/hosts/nb-new.cloonar.com/configuration.nix @@ -90,17 +90,6 @@ in { 127.0.0.1 test.cloonar.com ''; - services.xserver = { - enable = true; - excludePackages = [ pkgs.xterm ]; - displayManager.gdm.enable = true; - displayManager.gdm.wayland = true; - # displayManager.sddm.enable = true; - displayManager.sessionPackages = [ pkgs.sway ]; - displayManager.defaultSession = "sway"; - libinput.enable = true; - }; - # Set your time zone. time.timeZone = "Europe/Vienna"; console.keyMap = "de"; diff --git a/hosts/nb-new.cloonar.com/modules/sway/sddm-theme.conf b/hosts/nb-new.cloonar.com/modules/sway/sddm-theme.conf new file mode 100644 index 0000000..c2ca9a6 --- /dev/null +++ b/hosts/nb-new.cloonar.com/modules/sway/sddm-theme.conf @@ -0,0 +1,3 @@ +background=/nix/persist/system/wallpaper.png +backgroundFillMode=Image.Pad +backgroundFill=#252525 diff --git a/hosts/nb-new.cloonar.com/modules/sway/sway.conf b/hosts/nb-new.cloonar.com/modules/sway/sway.conf index 6e48f6b..8f7e2f0 100644 --- a/hosts/nb-new.cloonar.com/modules/sway/sway.conf +++ b/hosts/nb-new.cloonar.com/modules/sway/sway.conf @@ -187,7 +187,7 @@ bindsym $mod+F7 workspace $ws7; exec gcolor2 bindsym $mod+F8 workspace $ws8; exec telegram bindsym $mod+F9 workspace $ws9; exec go-for-it bindsym Print exec --no-startup-id gnome-screenshot -bindcode $mod+9 exec swaylock --image ~/.wallpaper.jpg +bindcode $mod+9 exec swaylock -c 252525 -s center -i ~/.wallpaper.png bindsym Ctrl+Shift+Space exec 1password --quick-access bindsym $mod+Space exec rofi-rbw --menu-keybindings ctrl+p:copy:password @@ -211,7 +211,7 @@ bindsym $mod+Shift+c reload bindsym $mod+Shift+r restart # manage i3 session -bindsym $mod+Shift+e exec swaynag --background f1fa8c --border ffb86c --border-bottom-size 0 --button-background ffb86c --button-text 282a36 -t warning -f "pango:Hack 9" -m "Do you really want to exit?" -B "  Exit " "swaymsg exit" -B "  Lock " "pkill swaynag && swaylock --image ~/.wallpaper.jpg" -B "  Reboot " "pkill swaynag && reboot" -B "  Shutdown " "pkill swaynag && shutdown -h now" -B " Suspend " "pkill swaynag && systemctl suspend" +bindsym $mod+Shift+e exec swaynag --background f1fa8c --border ffb86c --border-bottom-size 0 --button-background ffb86c --button-text 282a36 -t warning -f "pango:Hack 9" -m "Do you really want to exit?" -B "  Exit " "swaymsg exit" -B "  Lock " "pkill swaynag && swaylock -c 252525 -s center -i ~/.wallpaper.png" -B "  Reboot " "pkill swaynag && reboot" -B "  Shutdown " "pkill swaynag && shutdown -h now" -B " Suspend " "pkill swaynag && systemctl suspend" # resize window bindsym $mod+r mode "  " @@ -301,8 +301,8 @@ exec nextcloud exec cryptomator exec swayidle \ before-sleep 'loginctl lock-session $XDG_SESSION_ID' \ - lock 'swaylock --color #282a36 --image ~/.wallpaper.jpg' \ - timeout 180 'swaylock --screenshots --effect-blur 7x5' \ + lock 'swaylock -c 252525 -s center -i ~/.wallpaper.png' \ + timeout 180 'swaylock -c 252525 -s center -i ~/.wallpaper.png' \ timeout 1800 'systemctl suspend' exec dunst #exec --no-startup-id swaybg -c "#000000" -m fill -i ~/.config/wallpaper/wot.jpg diff --git a/hosts/nb-new.cloonar.com/modules/sway/sway.nix b/hosts/nb-new.cloonar.com/modules/sway/sway.nix index 12d1414..ad4eda1 100644 --- a/hosts/nb-new.cloonar.com/modules/sway/sway.nix +++ b/hosts/nb-new.cloonar.com/modules/sway/sway.nix @@ -3,8 +3,6 @@ with lib; let - cfg = config.cloonar.sway; - dbus-sway-environment = pkgs.writeTextFile { name = "dbus-sway-environment"; destination = "/bin/dbus-sway-environment"; @@ -17,8 +15,8 @@ let ''; }; - sway-conf = builtins.readFile ./sway.conf + cfg.additionalConfig + '' - exec swaybg --mode center -c #252525 -i ~/.wallpaper.png + sway-conf = builtins.readFile ./sway.conf + '' + exec swaybg -m center -c 252525 -i ~/.wallpaper.png ''; unstable = import (fetchTarball https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz) { config = { allowUnfree = true; }; @@ -31,118 +29,134 @@ in { ./thunderbird.nix ]; - options.cloonar.sway = { - additionalConfig = mkOption { - type = types.str; - default = ""; - description = lib.mdDoc '' - Additional sway config - ''; - }; + hardware.sane.enable = true; + hardware.pulseaudio.enable = false; + + virtualisation.virtualbox.host.enable = true; + users.extraGroups.vboxusers.members = [ "dominik" ]; + + services.gnome.gnome-keyring.enable = true; + + services.displayManager.defaultSession = "sway"; + services.displayManager.sddm = { + enable = true; + wayland.enable = true; + theme = "where_is_my_sddm_theme_qt5"; }; - config = { - hardware.sane.enable = true; - hardware.pulseaudio.enable = false; + # services.xserver = { + # enable = true; + # excludePackages = [ pkgs.xterm ]; + # displayManager.gdm.enable = true; + # displayManager.gdm.wayland = true; + # # displayManager.sddm.enable = true; + # displayManager.sessionPackages = [ pkgs.sway ]; + # displayManager.defaultSession = "sway"; + # libinput.enable = true; + # }; - virtualisation.virtualbox.host.enable = true; - users.extraGroups.vboxusers.members = [ "dominik" ]; + environment.systemPackages = with pkgs; [ + alsaUtils + apache-directory-studio + bitwarden + bitwarden-cli + rofi-rbw-wayland + cryptomator - services.gnome.gnome-keyring.enable = true; + brave + chromium + firefox + vivaldi - environment.systemPackages = with pkgs; [ - alsaUtils - apache-directory-studio - bitwarden - bitwarden-cli - rofi-rbw-wayland - cryptomator + unstable.cura + freecad + openscad - brave - chromium - firefox - vivaldi + (unstable.where-is-my-sddm-theme.override { + themeConfig.General = { + showUsersByDefault = true; + background = "/nix/persist/system/wallpaper.png"; + backgroundFill = "#252525"; + backgroundFillMode="Image.Pad"; + }; + variants = ["qt5"]; + }) - unstable.cura - freecad - openscad + dbus-sway-environment + ddev + dracula-theme + foot + gcc + git + glib + gimp + gnome.seahorse + gnome3.adwaita-icon-theme + go + grim + hunspell + hunspellDicts.de_DE + hunspellDicts.en_US + jmeter + libreoffice + mako + mqttui + networkmanagerapplet + nextcloud-client + onlyoffice-bin + pavucontrol + pcmanfm + pinentry + rbw + rofi-rbw + slurp + sway + swaybg + sway-launcher-desktop + swayidle + swaylock + thunderbird + unzip + vlc + waybar + wayland + wl-clipboard + wofi + wtype + yubikey-manager-qt + ]; - dbus-sway-environment - ddev - dracula-theme - foot - gcc - git - glib - gimp - gnome.seahorse - gnome3.adwaita-icon-theme - go - grim - hunspell - hunspellDicts.de_DE - hunspellDicts.en_US - jmeter - libreoffice - mako - mqttui - networkmanagerapplet - nextcloud-client - onlyoffice-bin - pavucontrol - pcmanfm - pinentry - rbw - rofi-rbw - slurp - sway - swaybg - sway-launcher-desktop - swayidle - swaylock - thunderbird - unzip - vlc - waybar - wayland - wl-clipboard - wofi - wtype - yubikey-manager-qt + programs.light.enable = true; + + fonts.packages = with pkgs; [ + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + nerdfonts + ]; + + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; + extraOptions = [ + "--unsupported-gpu" ]; + }; - programs.light.enable = true; - - fonts.packages = with pkgs; [ - noto-fonts - noto-fonts-cjk - noto-fonts-emoji - nerdfonts - ]; - - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; - - programs.sway = { - enable = true; - wrapperFeatures.gtk = true; - extraOptions = [ - "--unsupported-gpu" - ]; - }; - - environment.etc = { - "sway/config".text = sway-conf; - "wofi/style.css".text = builtins.readFile ./wofi.css; - "xdg/waybar/config".text = builtins.readFile ./waybar.conf; - "xdg/waybar/style.css".text = builtins.readFile ./waybar.css; - "xdg/foot/foot.ini".text = builtins.readFile ./foot.ini; - }; + environment.etc = { + "sway/config".text = sway-conf; + "wofi/style.css".text = builtins.readFile ./wofi.css; + "xdg/waybar/config".text = builtins.readFile ./waybar.conf; + "xdg/waybar/style.css".text = builtins.readFile ./waybar.css; + "xdg/foot/foot.ini".text = builtins.readFile ./foot.ini; }; } diff --git a/todos.md b/todos.md index 89fd01c..80be43f 100644 --- a/todos.md +++ b/todos.md @@ -1 +1,5 @@ move modules for hosts into respecting hosts directory so not every host gets rebuilded when one module changes +change sddm theme +add yubikey +change playmouth theme +look into secure boot