first commit
This commit is contained in:
commit
cd3ca919f0
16 changed files with 2071 additions and 0 deletions
111
emacs/init.el
Normal file
111
emacs/init.el
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
(setq gc-cons-threshold most-positive-fixnum)
|
||||||
|
(add-hook 'emacs-startup-hook
|
||||||
|
(lambda ()
|
||||||
|
(setq gc-cons-threshold (expt 2 23))))
|
||||||
|
|
||||||
|
;; Install straight.el
|
||||||
|
(defvar bootstrap-version)
|
||||||
|
(let ((bootstrap-file
|
||||||
|
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||||
|
(bootstrap-version 6))
|
||||||
|
(unless (file-exists-p bootstrap-file)
|
||||||
|
(with-current-buffer
|
||||||
|
(url-retrieve-synchronously
|
||||||
|
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
|
||||||
|
'silent 'inhibit-cookies)
|
||||||
|
(goto-char (point-max))
|
||||||
|
(eval-print-last-sexp)))
|
||||||
|
(load bootstrap-file nil 'nomessage))
|
||||||
|
|
||||||
|
(straight-use-package 'use-package)
|
||||||
|
|
||||||
|
(when (fboundp 'windmove-default-keybindings)
|
||||||
|
(windmove-default-keybindings))
|
||||||
|
|
||||||
|
(use-package straight
|
||||||
|
:custom
|
||||||
|
(straight-use-package-by-default t))
|
||||||
|
|
||||||
|
(use-package evil)
|
||||||
|
(use-package doom-themes
|
||||||
|
:config
|
||||||
|
(load-theme 'doom-dracula t))
|
||||||
|
(use-package doom-modeline)
|
||||||
|
(use-package dashboard)
|
||||||
|
(use-package nerd-icons)
|
||||||
|
(use-package all-the-icons
|
||||||
|
:if (display-graphic-p))
|
||||||
|
|
||||||
|
(use-package hl-indent-scope)
|
||||||
|
|
||||||
|
(use-package centaur-tabs
|
||||||
|
:demand
|
||||||
|
:config
|
||||||
|
(centaur-tabs-mode t)
|
||||||
|
:custom
|
||||||
|
(centaur-tabs-style "box")
|
||||||
|
(centaur-tabs-set-bar 'under)
|
||||||
|
(centaur-tabs-set-icons t)
|
||||||
|
|
||||||
|
(centaur-tabs-height 32)
|
||||||
|
(centaur-tabs-set-modified-marker t)
|
||||||
|
(centaur-tabs-cycle-scope 'tabs)
|
||||||
|
:bind
|
||||||
|
("C-<tab>" . centaur-tabs-forward)
|
||||||
|
("C-<iso-lefttab>" . centaur-tabs-backward))
|
||||||
|
|
||||||
|
(use-package dashboard)
|
||||||
|
(use-package lsp-ui
|
||||||
|
:custom (lsp-ui-sideline-show-diagnostics t))
|
||||||
|
|
||||||
|
(use-package lsp-mode
|
||||||
|
:custom (lsp-headerline-breadcrumb-enable nil))
|
||||||
|
(use-package web-mode)
|
||||||
|
(use-package rust-mode)
|
||||||
|
(use-package lua-mode)
|
||||||
|
(use-package typescript-mode)
|
||||||
|
(use-package astro-ts-mode)
|
||||||
|
(use-package js2-mode)
|
||||||
|
(use-package svelte-mode)
|
||||||
|
(use-package lsp-java)
|
||||||
|
(use-package markdown-mode)
|
||||||
|
|
||||||
|
(use-package company)
|
||||||
|
(use-package flycheck :ensure t :init (global-flycheck-mode))
|
||||||
|
|
||||||
|
(set-face-attribute 'default nil :font "victor mono" :height 120)
|
||||||
|
(tool-bar-mode -1)
|
||||||
|
(menu-bar-mode -1)
|
||||||
|
(scroll-bar-mode -1)
|
||||||
|
(display-line-numbers-mode 1)
|
||||||
|
|
||||||
|
(doom-modeline-mode 1)
|
||||||
|
(evil-mode 1)
|
||||||
|
|
||||||
|
(add-hook 'after-init-hook 'global-company-mode)
|
||||||
|
|
||||||
|
(dashboard-setup-startup-hook)
|
||||||
|
(centaur-tabs-headline-match)
|
||||||
|
|
||||||
|
|
||||||
|
(setq x-underline-at-descent-line t)
|
||||||
|
(setq dashboard-banner-logo-title "Gock and Gum")
|
||||||
|
(setq inhibit-splash-screen t)
|
||||||
|
(setq warning-minimum-level :error)
|
||||||
|
|
||||||
|
(setq org-startup-with-inline-images t)
|
||||||
|
(setq org-startup-indented t)
|
||||||
|
(setq org-pretty-entities t)
|
||||||
|
|
||||||
|
(setq dashboard-startup-banner nil)
|
||||||
|
(setq doom-modeline-height 25)
|
||||||
|
(setq backup-directory-alist '(("." . "~/.config/emacs/backup")))
|
||||||
|
|
||||||
|
;; No more typing the whole yes or no. Just y or n will do.
|
||||||
|
(fset 'yes-or-no-p 'y-or-n-p)
|
||||||
|
|
||||||
|
(evil-ex-define-cmd "q" 'kill-current-buffer)
|
||||||
|
(defun kill-this-buffer()(interactive)(kill-current-buffer))
|
||||||
|
|
||||||
|
(evil-ex-define-cmd "wq" 'save-and-kill-this-buffer)
|
||||||
|
(defun save-and-kill-this-buffer()(interactive)(save-buffer)(kill-current-buffer))
|
3
emacs/readme.md
Normal file
3
emacs/readme.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# Requirements
|
||||||
|
fonts:
|
||||||
|
- victor-mono
|
197
nixos/configuration/configuration-caketray.nix
Normal file
197
nixos/configuration/configuration-caketray.nix
Normal file
|
@ -0,0 +1,197 @@
|
||||||
|
# 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, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
nix.extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
keep-outputs = true
|
||||||
|
keep-derivations = true
|
||||||
|
'';
|
||||||
|
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
../hardware/hardware-caketray.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
podman = {
|
||||||
|
enable = true;
|
||||||
|
dockerCompat = true;
|
||||||
|
enableNvidia = true;
|
||||||
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
settings = {
|
||||||
|
auto-optimise-store = true;
|
||||||
|
};
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
randomizedDelaySec = "14m";
|
||||||
|
options = "--delete-older-than 10d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
networking.hostName = "caketray"; # Define your hostname.
|
||||||
|
|
||||||
|
services.mullvad-vpn.enable = true;
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Rome";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "it_IT.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "it_IT.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "it_IT.UTF-8";
|
||||||
|
LC_MEASUREMENT = "it_IT.UTF-8";
|
||||||
|
LC_MONETARY = "it_IT.UTF-8";
|
||||||
|
LC_NAME = "it_IT.UTF-8";
|
||||||
|
LC_NUMERIC = "it_IT.UTF-8";
|
||||||
|
LC_PAPER = "it_IT.UTF-8";
|
||||||
|
LC_TELEPHONE = "it_IT.UTF-8";
|
||||||
|
LC_TIME = "it_IT.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
killall
|
||||||
|
android-tools
|
||||||
|
|
||||||
|
jdk
|
||||||
|
gcc
|
||||||
|
clang
|
||||||
|
clang-tools
|
||||||
|
cmake
|
||||||
|
gnumake
|
||||||
|
rustc
|
||||||
|
rust-analyzer
|
||||||
|
cargo
|
||||||
|
python3
|
||||||
|
nodejs
|
||||||
|
lua
|
||||||
|
lua-language-server
|
||||||
|
];
|
||||||
|
|
||||||
|
services.dbus.enable = true;
|
||||||
|
services.gnome.evolution-data-server.enable = true;
|
||||||
|
services.gnome.gnome-online-accounts.enable = true;
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
programs.fish.enable = true;
|
||||||
|
programs.adb.enable = true;
|
||||||
|
programs.gamemode.enable = true;
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
#wlr.enable = false;
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
|
|
||||||
|
# gtk portal needed to make gtk apps happy
|
||||||
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-gtk #pkgs.xdg-desktop-portal-hyprland
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Config X11
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
layout = "it";
|
||||||
|
xkbVariant = "";
|
||||||
|
displayManager.sddm.enable = true;
|
||||||
|
desktopManager.plasma5.enable = true;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "it2";
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.alecake = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Ale";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
|
||||||
|
security.pam.services.swaylock = {};
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
fonts.fontDir.enable = true;
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
noto-fonts
|
||||||
|
unifont
|
||||||
|
jetbrains-mono
|
||||||
|
fira-code
|
||||||
|
fira-code-symbols
|
||||||
|
victor-mono
|
||||||
|
monocraft
|
||||||
|
nerdfonts
|
||||||
|
mononoki
|
||||||
|
times-newer-roman
|
||||||
|
emacs-all-the-icons-fonts
|
||||||
|
];
|
||||||
|
|
||||||
|
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||||
|
programs.gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
security.pam.services = {
|
||||||
|
login.u2fAuth = true;
|
||||||
|
sudo.u2fAuth = true;
|
||||||
|
};
|
||||||
|
systemd.user.extraConfig = ''
|
||||||
|
DefaultEnvironment="PATH=/run/current-system/sw/bin"
|
||||||
|
'';
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
|
}
|
180
nixos/configuration/configuration-caketray.nix~
Normal file
180
nixos/configuration/configuration-caketray.nix~
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
# 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, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
nix.extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
keep-outputs = true
|
||||||
|
keep-derivations = true
|
||||||
|
'';
|
||||||
|
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
../hardware/hardware-caketray.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
podman = {
|
||||||
|
enable = true;
|
||||||
|
dockerCompat = true;
|
||||||
|
enableNvidia = true;
|
||||||
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
settings = {
|
||||||
|
auto-optimise-store = true;
|
||||||
|
};
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
options = "--delete-older-than 28d";
|
||||||
|
dates = "weekly";
|
||||||
|
persistent = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
networking.hostName = "caketray"; # Define your hostname.
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
services.mullvad-vpn.enable = false;
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Rome";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "it_IT.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "it_IT.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "it_IT.UTF-8";
|
||||||
|
LC_MEASUREMENT = "it_IT.UTF-8";
|
||||||
|
LC_MONETARY = "it_IT.UTF-8";
|
||||||
|
LC_NAME = "it_IT.UTF-8";
|
||||||
|
LC_NUMERIC = "it_IT.UTF-8";
|
||||||
|
LC_PAPER = "it_IT.UTF-8";
|
||||||
|
LC_TELEPHONE = "it_IT.UTF-8";
|
||||||
|
LC_TIME = "it_IT.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
wayland
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
wl-clipboard
|
||||||
|
wdisplays
|
||||||
|
killall
|
||||||
|
networkmanagerapplet
|
||||||
|
];
|
||||||
|
|
||||||
|
services.dbus.enable = true;
|
||||||
|
services.gnome.evolution-data-server.enable = true;
|
||||||
|
services.gnome.gnome-online-accounts.enable = true;
|
||||||
|
# optional to use google/nextcloud calendar
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
programs.nm-applet.enable = true;
|
||||||
|
programs.kdeconnect.enable = true;
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
wlr.enable = false;
|
||||||
|
# gtk portal needed to make gtk apps happy
|
||||||
|
extraPortals = [pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-hyprland];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver = {
|
||||||
|
layout = "it";
|
||||||
|
xkbVariant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "it2";
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
|
};
|
||||||
|
programs.fish.enable = true;
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.alecake = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Ale";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
|
||||||
|
security.pam.services.swaylock = {};
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
fonts.fontDir.enable = true;
|
||||||
|
fonts.fonts = with pkgs; [
|
||||||
|
noto-fonts
|
||||||
|
jetbrains-mono
|
||||||
|
fira-code
|
||||||
|
victor-mono
|
||||||
|
monocraft
|
||||||
|
noto-fonts-cjk
|
||||||
|
noto-fonts-cjk-serif
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
services.udev.packages = [ pkgs.yubikey-personalization ];
|
||||||
|
programs.gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
140
nixos/configuration/configuration-giacomino.nix
Normal file
140
nixos/configuration/configuration-giacomino.nix
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
# 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, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
../hardware/hardware-giacomino.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nix.extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
keep-outputs = true
|
||||||
|
keep-derivations = true
|
||||||
|
'';
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "giacomino";
|
||||||
|
networkmanager.enable = true;
|
||||||
|
firewall.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
time.timeZone = "Europe/Rome";
|
||||||
|
i18n = {
|
||||||
|
defaultLocale = "it_IT.UTF-8";
|
||||||
|
extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "it_IT.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "it_IT.UTF-8";
|
||||||
|
LC_MEASUREMENT = "it_IT.UTF-8";
|
||||||
|
LC_MONETARY = "it_IT.UTF-8";
|
||||||
|
LC_NAME = "it_IT.UTF-8";
|
||||||
|
LC_NUMERIC = "it_IT.UTF-8";
|
||||||
|
LC_PAPER = "it_IT.UTF-8";
|
||||||
|
LC_TELEPHONE = "it_IT.UTF-8";
|
||||||
|
LC_TIME = "it_IT.UTF-8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver = {
|
||||||
|
layout = "it";
|
||||||
|
xkbVariant = "qwerty";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "it2";
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
podman = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Create a `docker` alias for podman, to use it as a drop-in replacement
|
||||||
|
dockerCompat = true;
|
||||||
|
|
||||||
|
# Required for containers under podman-compose to be able to talk to each other.
|
||||||
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.fish.enable = true;
|
||||||
|
programs.dconf.enable = true;
|
||||||
|
|
||||||
|
users.users.ale = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Ale";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
alacritty
|
||||||
|
wayland
|
||||||
|
wayfire
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
wl-clipboard
|
||||||
|
wdisplays
|
||||||
|
|
||||||
|
helix
|
||||||
|
git
|
||||||
|
wget
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.thunar.enable = true;
|
||||||
|
|
||||||
|
programs.sway = {
|
||||||
|
enable = true;
|
||||||
|
wrapperFeatures.gtk = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.dbus.enable = true;
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
wlr.enable = true;
|
||||||
|
# gtk portal needed to make gtk apps happy
|
||||||
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services.upower.enable = true;
|
||||||
|
services.openssh.enable = true;
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
|
||||||
|
fonts.fonts = with pkgs; [
|
||||||
|
noto-fonts
|
||||||
|
jetbrains-mono
|
||||||
|
fira-code
|
||||||
|
];
|
||||||
|
|
||||||
|
fonts.fontDir.enable = true;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# This value determines the NixOS release from which the default
|
||||||
|
# settings for stateful data, like file locations and database versions
|
||||||
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
# this value at the release version of the first install of this system.
|
||||||
|
# Before changing this value read the documentation for this option
|
||||||
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||||
|
|
||||||
|
# if you touch you die
|
||||||
|
system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
405
nixos/flake.lock
Normal file
405
nixos/flake.lock
Normal file
|
@ -0,0 +1,405 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"emacs-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695612850,
|
||||||
|
"narHash": "sha256-XHndbQIku+3wFuvQj8gkKWuLTbS+BP8j3s41oAJ/wMo=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"rev": "5f0b496aa00886a17cf42faa94dce57e0f7ab20c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "emacs-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"eww": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1692622179,
|
||||||
|
"narHash": "sha256-vxMGAa/RTsMADPK4dM/28SV2ktCT0DenYvGsHZ4IJ8c=",
|
||||||
|
"owner": "ralismark",
|
||||||
|
"repo": "eww",
|
||||||
|
"rev": "a82ed62c25ba50f28dc8c3d57efe440d51d6136b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "ralismark",
|
||||||
|
"ref": "tray-3",
|
||||||
|
"repo": "eww",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1673956053,
|
||||||
|
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694529238,
|
||||||
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils_2": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681202837,
|
||||||
|
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695550077,
|
||||||
|
"narHash": "sha256-xoxR/iY69/3lTnnZDP6gf3J46DUKPcf+Y1jH03tfZXE=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "a88df2fb101778bfd98a17556b3a2618c6c66091",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"systems": "systems_3",
|
||||||
|
"wlroots": "wlroots",
|
||||||
|
"xdph": "xdph"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695594015,
|
||||||
|
"narHash": "sha256-mIRfWvDXH6WKAUxB+PVHmZJRE/TI9MFMNvcIucO6eqM=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "Hyprland",
|
||||||
|
"rev": "3b657257ecb7628a12a4fe72e733a60f031bfec2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "Hyprland",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-contrib": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695455081,
|
||||||
|
"narHash": "sha256-AtAMze2J5Maol28OLQoCFgppRWEy06Mn9RhduXNmhiI=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "contrib",
|
||||||
|
"rev": "33663f663e07b4ca52c9165f74e3d793f08b15e7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "contrib",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprland-protocols": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1691753796,
|
||||||
|
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-protocols",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695360818,
|
||||||
|
"narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e35dcc04a3853da485a396bdd332217d0ac9054f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695416179,
|
||||||
|
"narHash": "sha256-610o1+pwbSu+QuF3GE0NU5xQdTHM3t9wyYhB9l94Cd8=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "715d72e967ec1dd5ecc71290ee072bcaf5181ed6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-23.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1692463654,
|
||||||
|
"narHash": "sha256-F8hZmsQINI+S6UROM4jyxAMbQLtzE44pI8Nk6NtMdao=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ca3c9ac9f4cdd4bea19f592b32bb59b74ab7d783",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694767346,
|
||||||
|
"narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ace5093e36ab1e95cb9463863491bee90d5a4183",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1658161305,
|
||||||
|
"narHash": "sha256-X/nhnMCa1Wx4YapsspyAs6QYz6T/85FofrI6NpdPDHg=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e4d49de45a3b5dbcb881656b4e3986e666141ea9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1695360818,
|
||||||
|
"narHash": "sha256-JlkN3R/SSoMTa+CasbxS1gq+GpGxXQlNZRUh9+LIy/0=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e35dcc04a3853da485a396bdd332217d0ac9054f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"emacs-overlay": "emacs-overlay",
|
||||||
|
"eww": "eww",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"hyprland": "hyprland",
|
||||||
|
"hyprland-contrib": "hyprland-contrib",
|
||||||
|
"nixpkgs": "nixpkgs_5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rust-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"eww",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1692410823,
|
||||||
|
"narHash": "sha256-YM1QCenpghNqgleUmoCJUArTuMEBqScyQuhepA6JZaI=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "598b2f04ed252eb5808b108d7a10084c0c548753",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wlroots": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"host": "gitlab.freedesktop.org",
|
||||||
|
"lastModified": 1695277534,
|
||||||
|
"narHash": "sha256-LEIUGXvKR5DYFQUTavC3yifcObvG4XZUUHfxXmu8nEM=",
|
||||||
|
"owner": "wlroots",
|
||||||
|
"repo": "wlroots",
|
||||||
|
"rev": "98a745d926d8048bc30aef11b421df207a01c279",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"host": "gitlab.freedesktop.org",
|
||||||
|
"owner": "wlroots",
|
||||||
|
"repo": "wlroots",
|
||||||
|
"rev": "98a745d926d8048bc30aef11b421df207a01c279",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xdph": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland-protocols": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprland-protocols"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694628480,
|
||||||
|
"narHash": "sha256-Qg9hstRw0pvjGu5hStkr2UX1D73RYcQ9Ns/KnZMIm9w=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
|
"rev": "8f45a6435069b9e24ebd3160eda736d7a391cbf2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
39
nixos/flake.nix
Normal file
39
nixos/flake.nix
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
description = "GockOS desktop configuration";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
|
hyprland-contrib.url = "github:hyprwm/contrib";
|
||||||
|
eww.url = "github:ralismark/eww/tray-3";
|
||||||
|
emacs-overlay.url = "github:nix-community/emacs-overlay/";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { nixpkgs, home-manager, hyprland, emacs-overlay, eww, ...} @inputs: {
|
||||||
|
nixosConfigurations = {
|
||||||
|
giacomino = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {inherit inputs;};
|
||||||
|
modules = [
|
||||||
|
./configuration/configuration-giacomino.nix
|
||||||
|
home-manager.nixosModules.home-manager {
|
||||||
|
home-manager.users.ale = import ./home-manager/ale-laptop.nix;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
caketray = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
./configuration/configuration-caketray.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.extraSpecialArgs = {inherit inputs;};
|
||||||
|
home-manager.users.alecake = import ./home-manager/alecake.nix;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
82
nixos/hardware/hardware-caketray.nix
Normal file
82
nixos/hardware/hardware-caketray.nix
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
# 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")
|
||||||
|
];
|
||||||
|
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
vaapiVdpau
|
||||||
|
libvdpau-va-gl
|
||||||
|
nvidia-vaapi-driver
|
||||||
|
];
|
||||||
|
};
|
||||||
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
services.blueman.enable = true;
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.steam-hardware.enable = true;
|
||||||
|
hardware.opentabletdriver.enable = true;
|
||||||
|
hardware.enableAllFirmware = true;
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
hardware.nvidia = {
|
||||||
|
|
||||||
|
# Modesetting is needed for most Wayland compositors
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
# Use the open source version of the kernel module
|
||||||
|
# Only available on driver 515.43.04+
|
||||||
|
open = false;
|
||||||
|
|
||||||
|
# Enable the nvidia settings menu
|
||||||
|
nvidiaSettings = true;
|
||||||
|
|
||||||
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/66b10c7e-0cfd-491e-8ccd-6da9c74ea668";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=@" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{
|
||||||
|
device = "/dev/disk/by-uuid/16A6-6E9C";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "/dev/disk/by-uuid/3acb0c54-c290-41d1-84bf-87d13ec8da5f";
|
||||||
|
fsType = "btrfs";
|
||||||
|
};
|
||||||
|
fileSystems."/home/alecake/.local/share/flatpak" =
|
||||||
|
{ device = "/dev/disk/by-uuid/78a8ad10-b47d-4848-9056-f180747112e3";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
38
nixos/hardware/hardware-giacomino.nix
Normal file
38
nixos/hardware/hardware-giacomino.nix
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "usb_storage" "sd_mod" "sdhci_pci" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/c1c88858-892b-4087-9497-03489576179b";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/F048-E26A";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp0s21f0u2.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
174
nixos/home-manager/ale-laptop.nix
Normal file
174
nixos/home-manager/ale-laptop.nix
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
{config, pkgs, ...}:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.username = "ale";
|
||||||
|
home.homeDirectory = "/home/ale";
|
||||||
|
nixpkgs.config.allowUnfree = false;
|
||||||
|
|
||||||
|
xdg.enable = true; # Let's home-manager manage xdg variables
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.btop
|
||||||
|
pkgs.hyfetch
|
||||||
|
pkgs.distrobox
|
||||||
|
|
||||||
|
pkgs.rofi-wayland
|
||||||
|
pkgs.waybar
|
||||||
|
pkgs.swaybg
|
||||||
|
|
||||||
|
pkgs.paper-icon-theme
|
||||||
|
pkgs.adw-gtk3
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.fish = { # feeeeesh configs uwu
|
||||||
|
enable = true;
|
||||||
|
interactiveShellInit = "
|
||||||
|
set fish_greeting
|
||||||
|
${pkgs.starship}/bin/starship init fish | source
|
||||||
|
";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
character.success_symbol = "[➜](bold green)";
|
||||||
|
directory.read_only = " 🥺";
|
||||||
|
format = "$directory$git_branch \n$character";
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.sway = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
terminal = "alacritty";
|
||||||
|
window.border = 1;
|
||||||
|
colors.focused = {
|
||||||
|
background = "#282828";
|
||||||
|
text = "#d3869b";
|
||||||
|
childBorder = "#d3869b";
|
||||||
|
indicator = "b16286";
|
||||||
|
border = "#d3869b";
|
||||||
|
};
|
||||||
|
gaps = {
|
||||||
|
inner = 10;
|
||||||
|
};
|
||||||
|
bars = [];
|
||||||
|
startup = [
|
||||||
|
{ command = "waybar"; }
|
||||||
|
{ command = "swaybg -i ~/Pictures/wallgockers/lain.png";}
|
||||||
|
];
|
||||||
|
window.titlebar = false;
|
||||||
|
keybindings = {
|
||||||
|
"Ctrl+Alt+1" = "workspace 1";
|
||||||
|
"Ctrl+Alt+2" = "workspace 2";
|
||||||
|
"Ctrl+Alt+3" = "workspace 3";
|
||||||
|
"Ctrl+Alt+4" = "workspace 4";
|
||||||
|
|
||||||
|
"Ctrl+Alt+Shift+1" = "move container to workspace 1";
|
||||||
|
"Ctrl+Alt+Shift+2" = "move container to workspace 2";
|
||||||
|
"Ctrl+Alt+Shift+3" = "move container to workspace 3";
|
||||||
|
"Ctrl+Alt+Shift+4" = "move container to workspace 4";
|
||||||
|
|
||||||
|
"mod4+f" = "fullscreen";
|
||||||
|
"Ctrl+Alt+f" = "floating toggle";
|
||||||
|
|
||||||
|
"Ctrl+Alt+w" = "kill";
|
||||||
|
"Ctrl+Alt+Shift+c" = "reload";
|
||||||
|
"mod4+Return" = "exec alacritty";
|
||||||
|
"mod1+Space" = "exec rofi -show drun";
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
"*" = {
|
||||||
|
xkb_layout = "it";
|
||||||
|
"natural_scroll" = "enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.waybar;
|
||||||
|
settings = {
|
||||||
|
bar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
height = 24;
|
||||||
|
|
||||||
|
modules-left = ["sway/workspaces"];
|
||||||
|
modules-center = ["sway/window"];
|
||||||
|
modules-right = ["pulseaudio" "battery" "clock"];
|
||||||
|
|
||||||
|
pulseaudio = {
|
||||||
|
format = "v: {volume}%";
|
||||||
|
};
|
||||||
|
|
||||||
|
battery = {
|
||||||
|
format = "b: {capacity}%";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
style = "
|
||||||
|
* {
|
||||||
|
font-family: jetbrains mono;
|
||||||
|
background-color: #282828;
|
||||||
|
color: #ebdbb2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button, #workspaces button:hover {
|
||||||
|
border: none;
|
||||||
|
border-radius : unset;
|
||||||
|
background: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
color: #d3869b;
|
||||||
|
}
|
||||||
|
#battery {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
background-color: #504945;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
background-color: #3c3836;
|
||||||
|
}
|
||||||
|
|
||||||
|
#pulseaudio {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
background-color: #665c54;
|
||||||
|
}
|
||||||
|
|
||||||
|
";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.mako = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# the trans is real
|
||||||
|
programs.hyfetch = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
preset = "transgender";
|
||||||
|
mode = "rgb";
|
||||||
|
color_align = {
|
||||||
|
mode = "horizontal";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscodium;
|
||||||
|
};
|
||||||
|
|
||||||
|
# no touchy, things go breaky
|
||||||
|
home.stateVersion = "23.05";
|
||||||
|
|
||||||
|
}
|
533
nixos/home-manager/alecake.nix
Normal file
533
nixos/home-manager/alecake.nix
Normal file
|
@ -0,0 +1,533 @@
|
||||||
|
{ inputs, config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.username = "alecake";
|
||||||
|
home.homeDirectory = "/home/alecake";
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./programs/emacs/emacs.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(import inputs.emacs-overlay)
|
||||||
|
(final: prev:{emacs-unstable-pgtk = prev.emacs-unstable.override { withGTK3 = true; withTreeSitter = true; withNativeCompilation = true;};})
|
||||||
|
];
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"imagemagick-6.9.12-68"
|
||||||
|
];
|
||||||
|
# Lets home-manager manage xdg stuff uwu
|
||||||
|
xdg = {
|
||||||
|
enable = true;
|
||||||
|
userDirs.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
EDITOR = "emacs --no-window-system";
|
||||||
|
NODE_REPL_HISTORY = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.shellAliases = {
|
||||||
|
ls = "eza --icons --hyperlink -w=60";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.btop
|
||||||
|
pkgs.hyfetch
|
||||||
|
pkgs.distrobox
|
||||||
|
pkgs.neovim
|
||||||
|
pkgs.fzf
|
||||||
|
pkgs.eza
|
||||||
|
pkgs.scrcpy
|
||||||
|
|
||||||
|
pkgs.emacs-unstable-pgtk
|
||||||
|
|
||||||
|
pkgs.multimarkdown
|
||||||
|
pkgs.pandoc
|
||||||
|
|
||||||
|
pkgs.unzip
|
||||||
|
pkgs.zip
|
||||||
|
|
||||||
|
#pkgs.ulauncher
|
||||||
|
#pkgs.swww
|
||||||
|
#inputs.eww.packages.x86_64-linux.eww-wayland
|
||||||
|
pkgs.xdg_utils
|
||||||
|
#inputs.hyprland-contrib.packages.x86_64-linux.grimblast
|
||||||
|
|
||||||
|
pkgs.appimage-run
|
||||||
|
pkgs.swaynotificationcenter
|
||||||
|
|
||||||
|
pkgs.gnome.adwaita-icon-theme
|
||||||
|
#pkgs.libsForQt5.qtstyleplugin-kvantum
|
||||||
|
|
||||||
|
pkgs.jetbrains.idea-community
|
||||||
|
pkgs.gnome.nautilus
|
||||||
|
pkgs.nextcloud-client
|
||||||
|
pkgs.yubikey-personalization-gui
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.fish = { # feeeeesh configs uwu
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.fish;
|
||||||
|
interactiveShellInit = "
|
||||||
|
set fish_greeting
|
||||||
|
${pkgs.starship}/bin/starship init fish | source
|
||||||
|
";
|
||||||
|
|
||||||
|
plugins = [
|
||||||
|
{name = "fzf-fish"; src = pkgs.fishPlugins.fzf-fish;}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
enableNushellIntegration = true;
|
||||||
|
settings = {
|
||||||
|
character.success_symbol = "[➜](bold green)";
|
||||||
|
directory.read_only = " 🥺";
|
||||||
|
format = "$directory$git_branch \n$character";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.direnv = {
|
||||||
|
enable = true;
|
||||||
|
nix-direnv.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.sway = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.sway;
|
||||||
|
config = {
|
||||||
|
terminal = "alacritty";
|
||||||
|
window.border = 1;
|
||||||
|
colors.focused = {
|
||||||
|
background = "#282828";
|
||||||
|
text = "#d3869b";
|
||||||
|
childBorder = "#d3869b";
|
||||||
|
indicator = "b16286";
|
||||||
|
border = "#d3869b";
|
||||||
|
};
|
||||||
|
gaps = {
|
||||||
|
inner = 10;
|
||||||
|
};
|
||||||
|
bars = [];
|
||||||
|
startup = [
|
||||||
|
{ command = "eww daemon";}
|
||||||
|
{ command = "eww open bar"; }
|
||||||
|
{ command = "swww init";}
|
||||||
|
{ command = "swww img --transition-type wipe Pictures/wallpapers/night/BNAWall-10240x5760-upscaled.png";}
|
||||||
|
];
|
||||||
|
window.titlebar = false;
|
||||||
|
keybindings = {
|
||||||
|
"Ctrl+Alt+1" = "workspace 1";
|
||||||
|
"Ctrl+Alt+2" = "workspace 2";
|
||||||
|
"Ctrl+Alt+3" = "workspace 3";
|
||||||
|
"Ctrl+Alt+4" = "workspace 4";
|
||||||
|
"Ctrl+Alt+5" = "workspace 5";
|
||||||
|
"Ctrl+Alt+6" = "workspace 6";
|
||||||
|
"Ctrl+Alt+7" = "workspace 7";
|
||||||
|
|
||||||
|
|
||||||
|
"Ctrl+Alt+Shift+1" = "move container to workspace 1";
|
||||||
|
"Ctrl+Alt+Shift+2" = "move container to workspace 2";
|
||||||
|
"Ctrl+Alt+Shift+3" = "move container to workspace 3";
|
||||||
|
"Ctrl+Alt+Shift+4" = "move container to workspace 4";
|
||||||
|
|
||||||
|
"mod4+f" = "fullscreen";
|
||||||
|
"Ctrl+Alt+f" = "floating toggle";
|
||||||
|
|
||||||
|
"Ctrl+Alt+mod4+w" = "kill";
|
||||||
|
"Ctrl+Alt+Shift+c" = "reload";
|
||||||
|
"mod4+Return" = "exec alacritty";
|
||||||
|
"mod1+Space" = "exec ulauncher toggle";
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
"*" = {
|
||||||
|
xkb_layout = "it";
|
||||||
|
"natural_scroll" = "enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = false;
|
||||||
|
enableNvidiaPatches = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
package = inputs.hyprland.packages.x86_64-linux.hyprland;
|
||||||
|
extraConfig =''
|
||||||
|
env = WLR_NO_HARDWARE_CURSORS,1
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
env = LIBVA_DRIVER_NAME,nvidia
|
||||||
|
env = GBM_BACKEND,nvidia-drm
|
||||||
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
|
env = NIXOS_OZONE_WL,1
|
||||||
|
env = XDG_CURRENT_DESKTOP,hyprland
|
||||||
|
|
||||||
|
exec-once = eww open bar
|
||||||
|
exec-once = ulauncher
|
||||||
|
exec-once = swaync
|
||||||
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
exec-once = swww init
|
||||||
|
|
||||||
|
monitor=HDMI-A-2, 1920x1080@75, 1920x0, 1
|
||||||
|
monitor=HDMI-A-1, 1920x1080@75, 0x0, 1
|
||||||
|
workspace = 1, monitor:HDMI-A-2
|
||||||
|
workspace = 2, monitor:HDMI-A-2
|
||||||
|
workspace = 3, monitor:HDMI-A-2
|
||||||
|
workspace = 4, monitor:HDMI-A-2
|
||||||
|
workspace = 5, monitor:HDMI-A-2
|
||||||
|
workspace = 6, monitor:HDMI-A-2
|
||||||
|
workspace = 7, monitor:HDMI-A-2
|
||||||
|
workspace = 8, monitor:HDMI-A-2
|
||||||
|
workspace = 9, monitor:HDMI-A-1, default:true
|
||||||
|
|
||||||
|
# telegram media viewer
|
||||||
|
windowrulev2 = float, title:^(Media viewer)$
|
||||||
|
|
||||||
|
# make Firefox PiP window floating and sticky
|
||||||
|
windowrulev2 = float, title:^(Picture-in-Picture)$
|
||||||
|
windowrulev2 = pin, title:^(Picture-in-Picture)$
|
||||||
|
|
||||||
|
# throw sharing indicators away
|
||||||
|
windowrulev2 = workspace special silent, title:^(Firefox — Sharing Indicator)$
|
||||||
|
windowrulev2 = workspace special silent, title:^(.*is sharing (your screen|a window)\.)$
|
||||||
|
|
||||||
|
windowrulev2 = noblur, title:^(Ulauncher - Application Launcher)$
|
||||||
|
windowrulev2 = noborder, title:^(Ulauncher - Application Launcher)$
|
||||||
|
windowrulev2 = noanim, title:^(Ulauncher - Application Launcher)$
|
||||||
|
windowrulev2 = noshadow, title:^(Ulauncher - Application Launcher)$
|
||||||
|
windowrulev2 = stayfocused, title:^(Ulauncher - Application Launcher)$
|
||||||
|
|
||||||
|
bindm = SUPER, mouse:272, movewindow
|
||||||
|
bindm = SUPER, mouse:273, resizewindow
|
||||||
|
bindm = SUPER, mouse:274, movewindow
|
||||||
|
general {
|
||||||
|
col.active_border=rgb(ff79c6)
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
settings = {
|
||||||
|
input = {
|
||||||
|
kb_layout = "it";
|
||||||
|
left_handed = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
"SUPER, RETURN, exec, alacritty"
|
||||||
|
|
||||||
|
"CTRL_ALT, 1, workspace, 1"
|
||||||
|
"CTRL_ALT, 2, workspace, 2"
|
||||||
|
"CTRL_ALT, 3, workspace, 3"
|
||||||
|
"CTRL_ALT, 4, workspace, 4"
|
||||||
|
"CTRL_ALT, 5, workspace, 5"
|
||||||
|
"CTRL_ALT, 6, workspace, 6"
|
||||||
|
"CTRL_ALT, 7, workspace, 7"
|
||||||
|
"CTRL_ALT, 8, workspace, 8"
|
||||||
|
"CTRL_ALT, 9, workspace, 9"
|
||||||
|
|
||||||
|
"CTRL_ALT_SHIFT, 1, movetoworkspace, 1"
|
||||||
|
"CTRL_ALT_SHIFT, 2, movetoworkspace, 2"
|
||||||
|
"CTRL_ALT_SHIFT, 3, movetoworkspace, 3"
|
||||||
|
"CTRL_ALT_SHIFT, 4, movetoworkspace, 4"
|
||||||
|
"CTRL_ALT_SHIFT, 5, movetoworkspace, 5"
|
||||||
|
"CTRL_ALT_SHIFT, 6, movetoworkspace, 6"
|
||||||
|
"CTRL_ALT_SHIFT, 7, movetoworkspace, 7"
|
||||||
|
"CTRL_ALT:SHIFT, 8, movetoworkspace, 8"
|
||||||
|
"CTRL_ALT_SHIFT, 9, movetoworkspace, 9"
|
||||||
|
|
||||||
|
"SUPER,left,movewindow,l"
|
||||||
|
"SUPER,right,movewindow,r"
|
||||||
|
"SUPER,up,movewindow,u"
|
||||||
|
"SUPER,up,movewindow,d"
|
||||||
|
|
||||||
|
"Shift, Print, exec, grim"
|
||||||
|
", Print, exec, grimblast copysave area"
|
||||||
|
|
||||||
|
"CTRL_ALT, W, killactive"
|
||||||
|
"CTRL_ALT, F, togglefloating"
|
||||||
|
"ALT, Tab, cyclenext"
|
||||||
|
|
||||||
|
"ALT,SPACE, exec, ulauncher-toggle"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.waybar = {
|
||||||
|
enable = false;
|
||||||
|
package = pkgs.waybar;
|
||||||
|
settings = {
|
||||||
|
bar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
output = "HDMI-A-2";
|
||||||
|
height = 24;
|
||||||
|
|
||||||
|
modules-left = ["wlr/workspaces"];
|
||||||
|
modules-center = ["hyprland/window"];
|
||||||
|
modules-right = [ "tray" "custom/notification" "pulseaudio" "clock" ];
|
||||||
|
|
||||||
|
pulseaudio = {
|
||||||
|
format = "v: {volume}%";
|
||||||
|
};
|
||||||
|
|
||||||
|
battery = {
|
||||||
|
format = "b: {capacity}%";
|
||||||
|
};
|
||||||
|
|
||||||
|
"custom/notification" = {
|
||||||
|
tooltip = false;
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
notification = "notif";
|
||||||
|
none = "no-notif";
|
||||||
|
dnd-notification = "notif";
|
||||||
|
dnd-none = "no-notif";
|
||||||
|
};
|
||||||
|
|
||||||
|
return-type = "json";
|
||||||
|
exec-if = "which swaync-client";
|
||||||
|
exec = "swaync-client -swb";
|
||||||
|
on-click = "swaync-client -t -sw";
|
||||||
|
escape = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
style = "
|
||||||
|
* {
|
||||||
|
font-family: jetbrains mono;
|
||||||
|
background-color: #282a36;
|
||||||
|
color: #f8f8f2;
|
||||||
|
}
|
||||||
|
#workspaces button, #workspaces button:hover {
|
||||||
|
border: none;
|
||||||
|
border-radius : unset;
|
||||||
|
background: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.focused {
|
||||||
|
color: #6272a4;
|
||||||
|
}
|
||||||
|
#pulseaudio {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
background-color: #44475a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
background-color: #3b3e54;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray, #tray > .passive, #tray > .needs-attention {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-notification {
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
background: #545769;
|
||||||
|
}
|
||||||
|
|
||||||
|
";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.alacritty;
|
||||||
|
settings = {
|
||||||
|
window.padding.x = 0;
|
||||||
|
window.padding.y = 0;
|
||||||
|
colors.primary = {
|
||||||
|
background = "#282a36";
|
||||||
|
foreground = "#f8f8f2";
|
||||||
|
bright_foreground = "#ffffff";
|
||||||
|
};
|
||||||
|
colors.cursor = {
|
||||||
|
text = "CellBackground";
|
||||||
|
cursor = "CellForeground";
|
||||||
|
};
|
||||||
|
colors.selection = {
|
||||||
|
text = "CellForeground";
|
||||||
|
background = "#44475a";
|
||||||
|
};
|
||||||
|
colors.normal = {
|
||||||
|
black = "#21222c";
|
||||||
|
red = "#ff5555";
|
||||||
|
green = "#f1fa8c";
|
||||||
|
blue = "#bd93f9";
|
||||||
|
magenta = "#ff79c6";
|
||||||
|
cyan = "#8be9fd";
|
||||||
|
white = "#f8f8f2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.swaylock = {
|
||||||
|
enable = false;
|
||||||
|
package = pkgs.swaylock-effects;
|
||||||
|
settings = {
|
||||||
|
effect-blur = "20x2";
|
||||||
|
clock = true;
|
||||||
|
indicator = true;
|
||||||
|
font-size = 25;
|
||||||
|
indicator-radius = 85;
|
||||||
|
indicator-thickness = 16;
|
||||||
|
screenshots = true;
|
||||||
|
ring-color = "bd93f9";
|
||||||
|
key-hl-color = "ff79c6";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.mako = {
|
||||||
|
enable = false;
|
||||||
|
package = pkgs.mako;
|
||||||
|
backgroundColor = "#282a36";
|
||||||
|
borderColor = "#ff79c6";
|
||||||
|
font = "jetbrains-mono 10";
|
||||||
|
};
|
||||||
|
|
||||||
|
# the trans is real
|
||||||
|
programs.hyfetch = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
preset = "transgender";
|
||||||
|
mode = "rgb";
|
||||||
|
color_align = {
|
||||||
|
mode = "horizontal";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscode;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.git;
|
||||||
|
userName = "Ale";
|
||||||
|
userEmail = "alecake@ale.pet";
|
||||||
|
signing = {
|
||||||
|
key = "1E390257057001A9AB814492284AFB134BB2E07D";
|
||||||
|
signByDefault = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.helix = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.helix;
|
||||||
|
settings.theme = "dracula";
|
||||||
|
settings.editor.bufferline = "multiple";
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = false;
|
||||||
|
theme = {
|
||||||
|
name = "adw-gtk3-dark";
|
||||||
|
package = pkgs.adw-gtk3;
|
||||||
|
};
|
||||||
|
iconTheme = {
|
||||||
|
name = "Papirus";
|
||||||
|
package = pkgs.papirus-icon-theme;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.pointerCursor = {
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
size = 24;
|
||||||
|
package = pkgs.hackneyed;
|
||||||
|
name = "Hackneyed";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file."/home/alecake/.config/swaync/config.json".text =
|
||||||
|
"
|
||||||
|
{
|
||||||
|
\"positionX\": \"right\",
|
||||||
|
\"positionY\": \"top\",
|
||||||
|
\"layer\": \"overlay\",
|
||||||
|
\"control-center-layer\": \"top\",
|
||||||
|
\"layer-shell\": \"true\",
|
||||||
|
\"cssPriority\": \"user\",
|
||||||
|
\"notification-window-width\": 300,
|
||||||
|
|
||||||
|
\"widgets\": [
|
||||||
|
\"notifications\",
|
||||||
|
\"dnd\",
|
||||||
|
\"mpris\"
|
||||||
|
],
|
||||||
|
|
||||||
|
\"notification-visibily\": {
|
||||||
|
\"telegram-desktop\": {
|
||||||
|
\"_comment\": \"Show telegram-desktop messages\",
|
||||||
|
\"override-urgency\": \"normal\",
|
||||||
|
\"desktop-entry\": \"org.telegram.desktop\"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
";
|
||||||
|
home.file."/home/alecake/.config/swaync/style.css".text =
|
||||||
|
"
|
||||||
|
.notification-default-action, .notification-action {
|
||||||
|
background-color: #282a36;
|
||||||
|
font-family: jetbrains mono;
|
||||||
|
border-radius: unset;
|
||||||
|
|
||||||
|
border-width: 1px;
|
||||||
|
border-color: #ff79c6;
|
||||||
|
border-style: solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-action {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control-center{
|
||||||
|
background-color: #44475a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification {
|
||||||
|
box-shadow : unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-row:focus {
|
||||||
|
background: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-mpris, .widget-dnd {
|
||||||
|
background-color: #282a36;
|
||||||
|
margin: 0;
|
||||||
|
font-family: jetbrains mono;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd {
|
||||||
|
padding: 8px;
|
||||||
|
padding-left: 16px;
|
||||||
|
padding-right: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch {
|
||||||
|
border-radius: unset;
|
||||||
|
background: unset;
|
||||||
|
background: #44475a;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch slider {
|
||||||
|
border-radius: unset;
|
||||||
|
background: #bd93f9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.widget-dnd > switch:checked slider {
|
||||||
|
background: #ff79c6;
|
||||||
|
}
|
||||||
|
|
||||||
|
";
|
||||||
|
|
||||||
|
home.stateVersion = "23.05";
|
||||||
|
}
|
137
nixos/home-manager/programs/emacs/emacs.nix
Normal file
137
nixos/home-manager/programs/emacs/emacs.nix
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
{pkgs, ...}:
|
||||||
|
|
||||||
|
{
|
||||||
|
xdg.configFile."emacs/init.el".text = ''
|
||||||
|
(setq gc-cons-threshold most-positive-fixnum)
|
||||||
|
(add-hook 'emacs-startup-hook
|
||||||
|
(lambda ()
|
||||||
|
(setq gc-cons-threshold (expt 2 23))))
|
||||||
|
|
||||||
|
;; Install straight.el
|
||||||
|
(defvar bootstrap-version)
|
||||||
|
(let ((bootstrap-file
|
||||||
|
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory))
|
||||||
|
(bootstrap-version 6))
|
||||||
|
(unless (file-exists-p bootstrap-file)
|
||||||
|
(with-current-buffer
|
||||||
|
(url-retrieve-synchronously
|
||||||
|
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
|
||||||
|
'silent 'inhibit-cookies)
|
||||||
|
(goto-char (point-max))
|
||||||
|
(eval-print-last-sexp)))
|
||||||
|
(load bootstrap-file nil 'nomessage))
|
||||||
|
|
||||||
|
(straight-use-package 'use-package)
|
||||||
|
|
||||||
|
(when (fboundp 'windmove-default-keybindings)
|
||||||
|
(windmove-default-keybindings))
|
||||||
|
|
||||||
|
(use-package straight
|
||||||
|
:custom
|
||||||
|
(straight-use-package-by-default t))
|
||||||
|
|
||||||
|
(use-package evil)
|
||||||
|
(use-package doom-themes
|
||||||
|
:config
|
||||||
|
(load-theme 'doom-dracula t))
|
||||||
|
(use-package doom-modeline)
|
||||||
|
(use-package dashboard)
|
||||||
|
(use-package nerd-icons)
|
||||||
|
(use-package all-the-icons
|
||||||
|
:if (display-graphic-p))
|
||||||
|
|
||||||
|
(use-package hl-indent-scope)
|
||||||
|
|
||||||
|
(use-package centaur-tabs
|
||||||
|
:demand
|
||||||
|
:config
|
||||||
|
(centaur-tabs-mode t)
|
||||||
|
:custom
|
||||||
|
(centaur-tabs-style "box")
|
||||||
|
(centaur-tabs-set-bar 'under)
|
||||||
|
(centaur-tabs-set-icons t)
|
||||||
|
|
||||||
|
(centaur-tabs-height 32)
|
||||||
|
(centaur-tabs-set-modified-marker t)
|
||||||
|
(centaur-tabs-cycle-scope 'tabs)
|
||||||
|
:bind
|
||||||
|
("C-<tab>" . centaur-tabs-forward)
|
||||||
|
("C-<iso-lefttab>" . centaur-tabs-backward))
|
||||||
|
|
||||||
|
(use-package dashboard)
|
||||||
|
(use-package envrc)
|
||||||
|
|
||||||
|
(use-package lsp-ui
|
||||||
|
:custom (lsp-ui-sideline-show-diagnostics t))
|
||||||
|
(use-package lsp-mode
|
||||||
|
:custom
|
||||||
|
(lsp-headerline-breadcrumb-enable nil))
|
||||||
|
|
||||||
|
(use-package nix-mode :mode "\\.nix\\'")
|
||||||
|
(use-package rust-mode)
|
||||||
|
(use-package lua-mode)
|
||||||
|
(use-package typescript-mode)
|
||||||
|
(use-package astro-ts-mode)
|
||||||
|
(use-package js2-mode)
|
||||||
|
(use-package svelte-mode)
|
||||||
|
(use-package lsp-java)
|
||||||
|
(use-package markdown-mode
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
(envrc-global-mode)
|
||||||
|
|
||||||
|
(use-package company)
|
||||||
|
(use-package flycheck :ensure t :init (global-flycheck-mode))
|
||||||
|
(use-package treesit-auto
|
||||||
|
:demand t
|
||||||
|
:config
|
||||||
|
(global-treesit-auto-mode))
|
||||||
|
|
||||||
|
(require 'treesit)
|
||||||
|
(setq treesit-font-lock-settings t)
|
||||||
|
(add-to-list 'major-mode-remap-alist '(typescript-mode . typescript-ts-mode))
|
||||||
|
|
||||||
|
(setq treesit-language-source-alist
|
||||||
|
'((astro "https://github.com/virchau13/tree-sitter-astro")
|
||||||
|
(css "https://github.com/tree-sitter/tree-sitter-css")
|
||||||
|
(tsx "https://github.com/tree-sitter/tree-sitter-typescript" "master" "tsx/src")))
|
||||||
|
|
||||||
|
(set-face-attribute 'default nil :font "victor mono" :height 120)
|
||||||
|
|
||||||
|
(tool-bar-mode -1)
|
||||||
|
(menu-bar-mode -1)
|
||||||
|
(scroll-bar-mode -1)
|
||||||
|
(display-line-numbers-mode 1)
|
||||||
|
|
||||||
|
(doom-modeline-mode 1)
|
||||||
|
(evil-mode 1)
|
||||||
|
|
||||||
|
(add-hook 'after-init-hook 'global-company-mode)
|
||||||
|
|
||||||
|
(dashboard-setup-startup-hook)
|
||||||
|
(centaur-tabs-headline-match)
|
||||||
|
|
||||||
|
|
||||||
|
(setq x-underline-at-descent-line t)
|
||||||
|
(setq dashboard-banner-logo-title "Gock and Gum")
|
||||||
|
(setq inhibit-splash-screen t)
|
||||||
|
(setq warning-minimum-level :error)
|
||||||
|
|
||||||
|
(setq org-startup-with-inline-images t)
|
||||||
|
(setq org-startup-indented t)
|
||||||
|
(setq org-pretty-entities t)
|
||||||
|
|
||||||
|
(setq dashboard-startup-banner nil)
|
||||||
|
(setq doom-modeline-height 25)
|
||||||
|
(setq backup-directory-alist '(("." . "~/.config/emacs/backup")))
|
||||||
|
|
||||||
|
;; No more typing the whole yes or no. Just y or n will do.
|
||||||
|
(fset 'yes-or-no-p 'y-or-n-p)
|
||||||
|
|
||||||
|
(evil-ex-define-cmd "q" 'kill-current-buffer)
|
||||||
|
(defun kill-this-buffer()(interactive)(kill-current-buffer))
|
||||||
|
|
||||||
|
(evil-ex-define-cmd "wq" 'save-and-kill-this-buffer)
|
||||||
|
(defun save-and-kill-this-buffer()(interactive)(save-buffer)(kill-current-buffer))
|
||||||
|
'';
|
||||||
|
}
|
20
nixos/home-manager/programs/emacs/emacs.nix~
Normal file
20
nixos/home-manager/programs/emacs/emacs.nix~
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{pkgs, ...}:
|
||||||
|
|
||||||
|
{
|
||||||
|
xdg.configFile."emacs/init.el".text = ''
|
||||||
|
(require 'package)
|
||||||
|
(setq 'package-archives '("melpa" . "https://melpa.org/packages/"))
|
||||||
|
(package-initialize)
|
||||||
|
|
||||||
|
|
||||||
|
;; Download Evil
|
||||||
|
(unless (package-installed-p 'evil)
|
||||||
|
(package-install 'evil))
|
||||||
|
|
||||||
|
;; Enable Evil
|
||||||
|
(require 'evil)
|
||||||
|
(evil-mode 1)
|
||||||
|
|
||||||
|
(setq inhibit-startup-message t)
|
||||||
|
'';
|
||||||
|
}
|
5
nixos/home-manager/programs/neovim/config.lua
Normal file
5
nixos/home-manager/programs/neovim/config.lua
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
require("indent_blankline").setup {
|
||||||
|
-- for example, context is off by default, use this to turn it on
|
||||||
|
show_current_context = true,
|
||||||
|
show_current_context_start = true,
|
||||||
|
}
|
7
nixos/home-manager/programs/neovim/neovim.nix
Normal file
7
nixos/home-manager/programs/neovim/neovim.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ pkgs, config, lib, ...}:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.neovim = {
|
||||||
|
enable= true;
|
||||||
|
};
|
||||||
|
}
|
0
starship/starship.toml
Normal file
0
starship/starship.toml
Normal file
Loading…
Reference in a new issue