wip: prepare for nix
This commit is contained in:
parent
79ed239d07
commit
6671b54dd2
32 changed files with 1282 additions and 43 deletions
76
nix/configuration.nix
Normal file
76
nix/configuration.nix
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# 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-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
boot.loader.grub.useOSProber = true;
|
||||
|
||||
networking.hostName = "nixos"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# 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;
|
||||
services.flatpak.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Zurich";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable the GNOME Desktop Environment.
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
layout = "us";
|
||||
xkbVariant = "";
|
||||
};
|
||||
|
||||
# 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;
|
||||
};
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.dashie = {
|
||||
isNormalUser = true;
|
||||
description = "dashie";
|
||||
extraGroups = [ "networkmanager" "wheel" "gamemode"];
|
||||
packages = with pkgs; [
|
||||
home-manager
|
||||
];
|
||||
};
|
||||
|
||||
# Allow unfree packages
|
||||
# nixpkgs.config.allowUnfree = true;
|
||||
|
||||
system.stateVersion = "unstable"; # Did you read the comment?
|
||||
}
|
||||
303
nix/flake.lock
generated
Normal file
303
nix/flake.lock
generated
Normal file
|
|
@ -0,0 +1,303 @@
|
|||
{
|
||||
"nodes": {
|
||||
"flatpaks": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707326266,
|
||||
"narHash": "sha256-vRVih6iltuyLdj305Pj236BfhzFaOkAbHg3r5VsFdxs=",
|
||||
"owner": "GermanBread",
|
||||
"repo": "declarative-flatpak",
|
||||
"rev": "efe7897ddcfbca085fba0690b3094e7f8e8911dd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "GermanBread",
|
||||
"ref": "stable",
|
||||
"repo": "declarative-flatpak",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709578214,
|
||||
"narHash": "sha256-jSCHB1+9eA0S2h7G8Aju8XARK0vbDuOR7uFFvCEsKhk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "219f4bef6d22bc67cddefbba69aadb748d79c49d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-23.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprcursor": {
|
||||
"inputs": {
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1712434681,
|
||||
"narHash": "sha256-qwmR2p1oc48Bj7gUDvb1oGL19Rjs2PmEmk4ChV01A5o=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "818d8c4b69e0997483d60b75f701fe14b561a7a3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"hyprcursor": "hyprcursor",
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"hyprlang": "hyprlang",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"systems": "systems_2",
|
||||
"wlroots": "wlroots",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1713050186,
|
||||
"narHash": "sha256-AKdzVa0Zz5PQ1ptQgD0jj8J+UZUW9OeKGZ0mNVnkyI4=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "0634aaeac6cca12e4f72174c431c2db9da9c0072",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"hyprlang": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1711671891,
|
||||
"narHash": "sha256-C/Wwsy/RLxHP1axFFl+AnwJRWfd8gxDKKoa8nt8Qk3c=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "c1402612146ba06606ebf64963a02bc1efe11e74",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1706098335,
|
||||
"narHash": "sha256-r3dWjT8P9/Ah5m5ul4WqIWD8muj5F+/gbCdjiNVBKmU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a77ab169a83a4175169d78684ddd2e54486ac651",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1712439257,
|
||||
"narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1713088362,
|
||||
"narHash": "sha256-ttDSOqkEBinjA1dlMWkBjaXzTqjiAPt5lNkoONbz25Y=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f32598c9fb112c47d43050a9475327a9c9bc19aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"flatpaks": "flatpaks",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
}
|
||||
},
|
||||
"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": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705309234,
|
||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wlroots": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1712935342,
|
||||
"narHash": "sha256-zzIbTFNFd/as42jyGx23fil2uBDYYv+8GA5JmRq5y9c=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "wlroots-hyprland",
|
||||
"rev": "62eeffbe233d199f520a5755c344e85f8eab7940",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "wlroots-hyprland",
|
||||
"rev": "62eeffbe233d199f520a5755c344e85f8eab7940",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709299639,
|
||||
"narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "2d2fb547178ec025da643db57d40a971507b82fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
56
nix/flake.nix
Normal file
56
nix/flake.nix
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
description = "Dashie dots";
|
||||
|
||||
inputs =
|
||||
{
|
||||
flatpaks.url = "github:GermanBread/declarative-flatpak/stable";
|
||||
nixpkgs.url = "github:nixos/nixpkgs";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-23.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, flatpaks, hyprland }:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
homeConfigurations."dashie@spaceship" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [ ./hardware/spaceship.nix ];
|
||||
};
|
||||
homeConfigurations."dashie@overheating" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [ ./hardware/overheating.nix ];
|
||||
};
|
||||
homeConfigurations."dashie" = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [
|
||||
flatpaks.homeManagerModules.default
|
||||
hyprland.homeManagerModules.default
|
||||
./programs/hyprland/config.nix
|
||||
];
|
||||
};
|
||||
|
||||
nixosConfigurations."nixos" = nixpkgs.lib.nixosSystem {
|
||||
inherit pkgs;
|
||||
modules = [
|
||||
./configuration.nix
|
||||
flatpaks.nixosModules.default
|
||||
hyprland.nixosModules.default
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.users.dashie = import ./programs/default.nix {inherit pkgs; };
|
||||
home-manager.useGlobalPkgs = true;
|
||||
}
|
||||
./programs/flatpak.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
49
nix/gg.txt
Normal file
49
nix/gg.txt
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
building the system configuration...
|
||||
trace: warning: The option `services.xserver.xkbVariant' defined in `/nix/store/53sb5ixrwba793scv24rb8zl15z22jq1-source/configuration.nix' has been renamed to `services.xserver.xkb.variant'.
|
||||
trace: warning: The option `services.xserver.layout' defined in `/nix/store/53sb5ixrwba793scv24rb8zl15z22jq1-source/configuration.nix' has been renamed to `services.xserver.xkb.layout'.
|
||||
these 9 derivations will be built:
|
||||
/nix/store/np0n7b6f05mzgln8isi0vjz3qv29wf1k-home-manager-path.drv
|
||||
/nix/store/8c5l2gjr9jbilklrzvvjxa0m6y057lw0-hm_fontconfigconf.d10hmfonts.conf.drv
|
||||
/nix/store/mnf21n8sfzxvqykzyriiabsq5kmv6glm-home-manager-files.drv
|
||||
/nix/store/x0wjqz7aay3vaqzsqkxy45mpwbhmrdsn-activation-script.drv
|
||||
/nix/store/dx1bjiby48rbq7qg1dwz6a6wdbxpsxvc-home-manager-generation.drv
|
||||
/nix/store/bqjbbqzqgcy6ygz3qlh1y868j2h99xj8-unit-home-manager-dashie.service.drv
|
||||
/nix/store/dm875ly78yc9lbwbw0061bpwz5ani7mc-system-units.drv
|
||||
/nix/store/2s8xk8yl7l316x2k8qrlf3pwj2wy3h9c-etc.drv
|
||||
/nix/store/jngp4gggy2qhwvhclcmlqylbnfv5c2ik-nixos-system-nixos-24.05.20240414.f32598c.drv
|
||||
building '/nix/store/np0n7b6f05mzgln8isi0vjz3qv29wf1k-home-manager-path.drv'...
|
||||
building '/nix/store/x0wjqz7aay3vaqzsqkxy45mpwbhmrdsn-activation-script.drv'...
|
||||
building '/nix/store/8c5l2gjr9jbilklrzvvjxa0m6y057lw0-hm_fontconfigconf.d10hmfonts.conf.drv'...
|
||||
building '/nix/store/mnf21n8sfzxvqykzyriiabsq5kmv6glm-home-manager-files.drv'...
|
||||
building '/nix/store/dx1bjiby48rbq7qg1dwz6a6wdbxpsxvc-home-manager-generation.drv'...
|
||||
building '/nix/store/bqjbbqzqgcy6ygz3qlh1y868j2h99xj8-unit-home-manager-dashie.service.drv'...
|
||||
building '/nix/store/dm875ly78yc9lbwbw0061bpwz5ani7mc-system-units.drv'...
|
||||
building '/nix/store/2s8xk8yl7l316x2k8qrlf3pwj2wy3h9c-etc.drv'...
|
||||
building '/nix/store/jngp4gggy2qhwvhclcmlqylbnfv5c2ik-nixos-system-nixos-24.05.20240414.f32598c.drv'...
|
||||
updating GRUB 2 menu...
|
||||
Warning: os-prober will be executed to detect other bootable partitions.
|
||||
Its output will be used to detect bootable binaries on them and create new boot entries.
|
||||
lsblk: /dev/mapper/no*[0-9]: not a block device
|
||||
lsblk: /dev/mapper/raid*[0-9]: not a block device
|
||||
lsblk: /dev/mapper/disks*[0-9]: not a block device
|
||||
installing the GRUB 2 boot loader on /dev/sda...
|
||||
Installing for i386-pc platform.
|
||||
Installation finished. No error reported.
|
||||
stopping swap device: /dev/disk/by-uuid/2cb00912-21ef-46e4-9a8c-14819a1335ae
|
||||
stopping the following units: audit.service, boot.mount, dhcpcd.service, kmod-static-nodes.service, logrotate-checkconf.service, mount-pstore.service, network-interfaces.target, network-local-commands.service, network-setup.service, nscd.service, resolvconf.service, systemd-modules-load.service, systemd-oomd.service, systemd-oomd.socket, systemd-sysctl.service, systemd-timesyncd.service, systemd-vconsole-setup.service, virtualbox.service
|
||||
NOT restarting the following changed units: -.mount, getty@tty1.service, systemd-fsck@dev-disk-by\x2duuid-719F\x2d1D58.service, systemd-journal-flush.service, systemd-logind.service, systemd-random-seed.service, systemd-remount-fs.service, systemd-update-utmp.service, systemd-user-sessions.service, user-runtime-dir@1000.service, user@1000.service
|
||||
activating the configuration...
|
||||
removing group ‘systemd-journal-gateway’
|
||||
removing group ‘dhcpcd’
|
||||
removing user ‘systemd-journal-gateway’
|
||||
removing user ‘dhcpcd’
|
||||
setting up /etc...
|
||||
removing obsolete symlink ‘/etc/dhcpcd.exit-hook’...
|
||||
removing obsolete symlink ‘/etc/pulse/client.conf’...
|
||||
restarting systemd...
|
||||
reloading user units for dashie...
|
||||
restarting sysinit-reactivation.target
|
||||
reloading the following units: dbus.service, firewall.service, reload-systemd-vconsole-setup.service
|
||||
restarting the following units: systemd-journald.service
|
||||
starting the following units: audit.service, kmod-static-nodes.service, logrotate-checkconf.service, mount-pstore.service, network-local-commands.service, network-setup.service, nscd.service, resolvconf.service, systemd-modules-load.service, systemd-oomd.socket, systemd-sysctl.service, systemd-timesyncd.service, systemd-vconsole-setup.service, virtualbox.service
|
||||
the following new units were started: NetworkManager-dispatcher.service, NetworkManager-wait-online.service, NetworkManager.service, alsa-store.service, avahi-daemon.service, avahi-daemon.socket, cups-browsed.service, cups.service, cups.socket, dbus-broker.service, home-manager-dashie.service, manage-system-flatpaks.service, nix-daemon.service, sysinit-reactivation.target, systemd-hostnamed.service, systemd-tmpfiles-resetup.service
|
||||
30
nix/hardware-configuration.nix
Normal file
30
nix/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# 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 = [ ];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ata_piix" "ohci_pci" "ehci_pci" "ahci" "sd_mod" "sr_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/299e37e5-6a68-4cbe-97ad-0c59e5ed0bf4";
|
||||
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.enp0s3.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
virtualisation.virtualbox.guest.enable = true;
|
||||
}
|
||||
1
nix/hardware/marmo.nix
Normal file
1
nix/hardware/marmo.nix
Normal file
|
|
@ -0,0 +1 @@
|
|||
{ config, lib, pkgs, modulesPath, ... }: {}
|
||||
1
nix/hardware/overheating.nix
Normal file
1
nix/hardware/overheating.nix
Normal file
|
|
@ -0,0 +1 @@
|
|||
{ config, lib, pkgs, modulesPath, ... }: {}
|
||||
1
nix/hardware/spaceship.nix
Normal file
1
nix/hardware/spaceship.nix
Normal file
|
|
@ -0,0 +1 @@
|
|||
{ config, lib, pkgs, modulesPath, ... }: {}
|
||||
40
nix/programs/cargo.nix
Normal file
40
nix/programs/cargo.nix
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{ inputs
|
||||
, lib
|
||||
, pkgs
|
||||
, rustPlatform
|
||||
, ...
|
||||
}: {
|
||||
imports = [
|
||||
./config.nix
|
||||
./anyrun.nix
|
||||
./ironbar.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
(rustPackage {
|
||||
name = "oxinoti";
|
||||
version = "0.1.1";
|
||||
src = fetchCrate {
|
||||
inherit name version;
|
||||
sha256 = lib.fakesha256;
|
||||
};
|
||||
})
|
||||
(rustPackage {
|
||||
name = "oxidash";
|
||||
version = "0.1.0";
|
||||
src = fetchCrate {
|
||||
inherit name version;
|
||||
sha256 = lib.fakesha256;
|
||||
};
|
||||
})
|
||||
(rustPackage {
|
||||
name = "oxishut";
|
||||
version = "0.1.0";
|
||||
src = fetchCrate {
|
||||
inherit name version;
|
||||
sha256 = lib.fakesha256;
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
20
nix/programs/coding.nix
Normal file
20
nix/programs/coding.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{ lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
git
|
||||
gcc
|
||||
meson
|
||||
ninja
|
||||
rustup
|
||||
go
|
||||
nodejs_20
|
||||
deno
|
||||
# rustpython
|
||||
neovim
|
||||
typst
|
||||
neovide
|
||||
];
|
||||
}
|
||||
28
nix/programs/common.nix
Normal file
28
nix/programs/common.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{ lib
|
||||
, pkgs
|
||||
, fonts
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
manual = {
|
||||
html.enable = false;
|
||||
json.enable = false;
|
||||
manpages.enable = false;
|
||||
};
|
||||
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
kitty
|
||||
firefox
|
||||
fish
|
||||
ripgrep
|
||||
rm-improved
|
||||
bat
|
||||
fd
|
||||
lsd
|
||||
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
||||
flatpak
|
||||
gnome.gnome-software
|
||||
networkmanager
|
||||
];
|
||||
}
|
||||
15
nix/programs/default.nix
Normal file
15
nix/programs/default.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./hyprland/default.nix
|
||||
./common.nix
|
||||
./kitty.nix
|
||||
./coding.nix
|
||||
./xdg.nix
|
||||
./media.nix
|
||||
];
|
||||
|
||||
home.username = "dashie";
|
||||
home.homeDirectory = "/home/dashie";
|
||||
home.stateVersion = "23.05";
|
||||
}
|
||||
17
nix/programs/flatpak.nix
Normal file
17
nix/programs/flatpak.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{...}: {
|
||||
services.flatpak.remotes = {
|
||||
"flathub" = "https://dl.flathub.org/repo/flathub.flatpakrepo";
|
||||
};
|
||||
services.flatpak.packages = [
|
||||
"flathub:app/com.github.tchx84.Flatseal//stable"
|
||||
"flathub:app/dev.vencord.Vesktop//stable"
|
||||
"flathub:app/com.rustdesk.RustDesk//stable"
|
||||
"flathub:app/io.github.Foldex.AdwSteamGtk//stable"
|
||||
"flathub:app/io.github.Foldex.AdwSteamGtk//stable"
|
||||
"flathub:app/org.gnome.dspy//stable"
|
||||
"flathub:app/org.onlyoffice.desktopeditors//stable"
|
||||
"flathub:app/org.gtk.Gtk3theme.adw-gtk3//stable"
|
||||
"flathub:app/com.brave.Browser//stable"
|
||||
];
|
||||
}
|
||||
|
||||
3
nix/programs/homemanager.nix
Normal file
3
nix/programs/homemanager.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{ pkgs, ... }: {
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
72
nix/programs/hyprland/anyrun.nix
Normal file
72
nix/programs/hyprland/anyrun.nix
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
{ pkgs
|
||||
, osConfig
|
||||
, ...
|
||||
}: {
|
||||
programs.anyrun = {
|
||||
config = {
|
||||
#plugins = with inputs.anyrun.packages.${pkgs.system}; [
|
||||
# applications
|
||||
# rink
|
||||
# shell
|
||||
# websearch
|
||||
# inputs.anyrun-nixos-options.packages.${pkgs.system}.default
|
||||
#];
|
||||
|
||||
position = "center";
|
||||
hideIcons = false;
|
||||
width = { fraction = 0.3; };
|
||||
layer = "overlay";
|
||||
hidePluginInfo = true;
|
||||
closeOnClick = true;
|
||||
};
|
||||
|
||||
extraCss = ''
|
||||
#window {
|
||||
border-radius: 10px;
|
||||
background-color: none;
|
||||
}
|
||||
|
||||
box#main {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
list#main {
|
||||
border-radius: 10px;
|
||||
margin: 0px 10px 10px 10px;
|
||||
}
|
||||
|
||||
list#plugin {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
list#match {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
entry#entry {
|
||||
border: none;
|
||||
border-radius: 10px;
|
||||
margin: 10px 10px 0px 10px;
|
||||
}
|
||||
|
||||
label#match-desc {
|
||||
font-size: 12px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
label#match-title {
|
||||
font-size: 12px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
label#plugin {
|
||||
font-size: 16px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
* {
|
||||
border-radius: 10px;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
291
nix/programs/hyprland/config.nix
Normal file
291
nix/programs/hyprland/config.nix
Normal file
|
|
@ -0,0 +1,291 @@
|
|||
{ config
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
# scripts = "${config.home.homeDirectory}/.config/scripts";
|
||||
inputs = {
|
||||
hyprland ={
|
||||
# Update for releavant commit, this is just bleeding edge as of 2024/04/11
|
||||
url = github:hyprwm/Hyprland/ac0f3411c18497a39498b756b711e092512de9e0;
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
Hyprspace = {
|
||||
url = github:KZDKM/Hyprspace;
|
||||
inputs.hyprland.follows = "hyprland";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mod" = "SUPER";
|
||||
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
bind = [
|
||||
# screenshots
|
||||
"$mod SUPER,S,exec,grim -g \"$(slurp)\" - | wl-copy"
|
||||
"$mod SUPERSHIFTALT,S,exec, grim -g \"$(slurp)\" $HOME/gits/ost-5semester/Screenshots/$(date +'%Y_%m_%d_%I_%M_%S.png') && (date +'%Y_%m_%d_%I_%M_%S.png') | wl-copy"
|
||||
"$mod SUPERSHIFT,S,exec,grim -g \"$(slurp)\" - | satty -f -"
|
||||
"$mod SUPERCONTROLSHIFT,S,exec,grim -c -g \"2560,0 3440x1440\" - | wl-copy"
|
||||
|
||||
# regular programs
|
||||
"$mod SUPER,F,exec,firefox"
|
||||
"$mod SUPER,T,exec,kitty -1"
|
||||
"$mod SUPER,E,exec,nautilus -w"
|
||||
"$mod SUPER,N,exec,neovide"
|
||||
"$mod SUPER,M,exec,oxidash"
|
||||
"$mod SUPER,R,exec,anyrun"
|
||||
"$mod SUPER,G,exec,oxicalc"
|
||||
"$mod SUPER,D,exec,oxishut"
|
||||
"$mod SUPER,A,exec,oxipaste"
|
||||
"$mod SUPERSHIFT,L,exec, playerctl -a pause & swaylock -c 000000 & systemctl suspend"
|
||||
|
||||
# media keys
|
||||
",XF86AudioMute,exec, $HOME/.config/scripts/audio_control.sh mute"
|
||||
",XF86AudioLowerVolume,exec, $HOME/.config/scripts/audio_control.sh sink -5%"
|
||||
",XF86AudioRaiseVolume,exec, $HOME/.config/scripts/audio_control.sh sink +5%"
|
||||
",XF86AudioPlay,exec, playerctl play-pause"
|
||||
",XF86AudioNext,exec, playerctl next"
|
||||
",XF86AudioPrev,exec, playerctl previous"
|
||||
",XF86MonBrightnessDown,exec, $HOME/.config/scripts/change-brightness brightness 10%-"
|
||||
",XF86MonBrightnessUp,exec, $HOME/.config/scripts/change-brightness brightness +10%"
|
||||
|
||||
# hyprland keybinds
|
||||
# misc
|
||||
"$mod SUPER,V,togglefloating,"
|
||||
"$mod SUPER,B,fullscreen,"
|
||||
"$mod SUPER,C,togglesplit"
|
||||
"$mod SUPER,Q,killactive,"
|
||||
"$mod SUPERSHIFTALT,M,exit,"
|
||||
"$mod SUPERSHIFT,W,togglespecialworkspace"
|
||||
|
||||
# move
|
||||
"$mod SUPER,left,movewindow,l"
|
||||
"$mod SUPER,right,movewindow,r"
|
||||
"$mod SUPER,up,movewindow,u"
|
||||
"$mod SUPER,down,movewindow,d"
|
||||
|
||||
# workspaces
|
||||
"$mod SUPER,1,workspace,1"
|
||||
"$mod SUPER,2,workspace,2"
|
||||
"$mod SUPER,3,workspace,3"
|
||||
"$mod SUPER,4,workspace,4"
|
||||
"$mod SUPER,5,workspace,5"
|
||||
"$mod SUPER,6,workspace,6"
|
||||
"$mod SUPER,7,workspace,7"
|
||||
"$mod SUPER,8,workspace,8"
|
||||
"$mod SUPER,9,workspace,9"
|
||||
"$mod SUPER,0,workspace,10"
|
||||
|
||||
# move to workspace
|
||||
"$mod SUPERSHIFT,1,movetoworkspace,1"
|
||||
"$mod SUPERSHIFT,2,movetoworkspace,2"
|
||||
"$mod SUPERSHIFT,3,movetoworkspace,3"
|
||||
"$mod SUPERSHIFT,4,movetoworkspace,4"
|
||||
"$mod SUPERSHIFT,5,movetoworkspace,5"
|
||||
"$mod SUPERSHIFT,6,movetoworkspace,6"
|
||||
"$mod SUPERSHIFT,7,movetoworkspace,7"
|
||||
"$mod SUPERSHIFT,8,movetoworkspace,8"
|
||||
"$mod SUPERSHIFT,9,movetoworkspace,9"
|
||||
"$mod SUPERSHIFT,0,movetoworkspace,10"
|
||||
|
||||
|
||||
# move to workspace silent
|
||||
"$mod SUPERSHIFTALT,1,movetoworkspacesilent,1"
|
||||
"$mod SUPERSHIFTALT,2,movetoworkspacesilent,2"
|
||||
"$mod SUPERSHIFTALT,3,movetoworkspacesilent,3"
|
||||
"$mod SUPERSHIFTALT,4,movetoworkspacesilent,4"
|
||||
"$mod SUPERSHIFTALT,5,movetoworkspacesilent,5"
|
||||
"$mod SUPERSHIFTALT,6,movetoworkspacesilent,6"
|
||||
"$mod SUPERSHIFTALT,7,movetoworkspacesilent,7"
|
||||
"$mod SUPERSHIFTALT,8,movetoworkspacesilent,8"
|
||||
"$mod SUPERSHIFTALT,9,movetoworkspacesilent,9"
|
||||
"$mod SUPERSHIFTALT,0,movetoworkspacesilent,10"
|
||||
|
||||
# preselection
|
||||
"$mod SUPERALT,j,layoutmsg,preselect l"
|
||||
"$mod SUPERALT,k,layoutmsg,preselect d"
|
||||
"$mod SUPERALT,l,layoutmsg,preselect u"
|
||||
"$mod SUPERALT,semicolon,layoutmsg,preselect r"
|
||||
"$mod SUPERALT,h,layoutmsg,preselect n"
|
||||
];
|
||||
|
||||
binde = [
|
||||
# hyprland keybinds
|
||||
# focus
|
||||
"$mod SUPER,J,movefocus,l"
|
||||
"$mod SUPER,semicolon,movefocus,r"
|
||||
"$mod SUPER,L,movefocus,u"
|
||||
"$mod SUPER,K,movefocus,d"
|
||||
|
||||
# resize
|
||||
"$mod SUPER,U,resizeactive,-20 0"
|
||||
"$mod SUPER,P,resizeactive,20 0"
|
||||
"$mod SUPER,O,resizeactive,0 -20"
|
||||
"$mod SUPER,I,resizeactive,0 20"
|
||||
];
|
||||
|
||||
general = {
|
||||
gaps_out = "3,5,5,5";
|
||||
border_size = 3;
|
||||
col.active_border = "0xFFFF0000 0xFF00FF00 0xFF0000FF 45deg";
|
||||
col.inactive_border = "0x66333333";
|
||||
allow_tearing = true;
|
||||
};
|
||||
|
||||
decoration = {
|
||||
rounding = 4;
|
||||
};
|
||||
|
||||
animations = {
|
||||
bezier = "penguin,0.05,0.9,0.1,1.0";
|
||||
animation = [
|
||||
"windowsMove,1,4,default"
|
||||
"windows,1,7,default,popin 70%"
|
||||
"windowsOut,1,7,default,popin 70%"
|
||||
"border,1,10,default"
|
||||
"fade,1,7,default"
|
||||
"workspaces,1,6,default"
|
||||
"layers,1,3,default,popin"
|
||||
];
|
||||
};
|
||||
|
||||
input = {
|
||||
repeat_delay = 200;
|
||||
force_no_accel = true;
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
tap-to-click = true;
|
||||
tap-and-drag = true;
|
||||
};
|
||||
};
|
||||
|
||||
misc = {
|
||||
vrr = 1;
|
||||
animate_manual_resizes = 1;
|
||||
enable_swallow = true;
|
||||
disable_splash_rendering = true;
|
||||
disable_hyprland_logo = true;
|
||||
swallow_regex = "^(.*)(kitty)(.*)$";
|
||||
};
|
||||
|
||||
env = [
|
||||
"GTK_CSD,0"
|
||||
"TERM,\"kitty /bin/fish\""
|
||||
"XDG_CURRENT_DESKTOP=Hyprland"
|
||||
"XDG_SESSION_TYPE=wayland"
|
||||
"XDG_SESSION_DESKTOP=Hyprland"
|
||||
"HYPRCURSOR_THEME,Bibata-Modern-Classic"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
"XCURSOR_THEME,Bibata-Modern-Classic"
|
||||
"XCURSOR_SIZE,24"
|
||||
"QT_QPA_PLATFORM,wayland"
|
||||
"QT_WAYLAND_FORCE_DPI,96"
|
||||
"QT_AUTO_SCREEN_SCALE_FACTOR,0"
|
||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
|
||||
"QT_SCALE_FACTOR,1"
|
||||
"PKG_CONFIG_PATH,/usr/local/lib/pkgconfig"
|
||||
"LD_LIBRARY_PATH,/usr/local/lib"
|
||||
"EDITOR,\"neovide --novsync --nofork\""
|
||||
"WLR_DRM_NO_ATOMIC,1"
|
||||
"GTK_USE_PORTAL, 1"
|
||||
"PATH,/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:~/.local/bin:~/.cargo/bin:$PATH"
|
||||
];
|
||||
|
||||
monitor = [
|
||||
# default
|
||||
"DP-2,2560x1440@165,0x0,1"
|
||||
"DP-1,3440x1440@180,2560x0,1"
|
||||
"HDMI-A-1,1920x1200@60,6000x0,1"
|
||||
"HDMI-A-1,transform,1"
|
||||
|
||||
# all others
|
||||
",highrr,auto,1"
|
||||
];
|
||||
|
||||
workspace = [
|
||||
# workspaces
|
||||
# monitor middle
|
||||
"2,monitor:DP-1, default:true"
|
||||
"4,monitor:DP-1"
|
||||
"6,monitor:DP-1"
|
||||
"8,monitor:DP-1"
|
||||
"9,monitor:DP-1"
|
||||
"10,monitor:DP-1"
|
||||
|
||||
# monitor left
|
||||
"1,monitor:DP-2, default:true"
|
||||
"5,monitor:DP-2"
|
||||
"7,monitor:DP-2"
|
||||
|
||||
# monitor right
|
||||
"3,monitor:HDMI-A-1, default:true"
|
||||
];
|
||||
|
||||
|
||||
layerrule = [
|
||||
# layer rules
|
||||
# mainly to disable animations within slurp and grim
|
||||
"noanim, selection"
|
||||
];
|
||||
|
||||
windowrule = [
|
||||
# window rules
|
||||
"tile,^(.*)(Spotify)(.*)$"
|
||||
"float,^(.*)(OxiCalc)(.*)$"
|
||||
"float,^(.*)(winecfg.exe)(.*)$"
|
||||
"float,^(.*)(speed.exe)(.*)$"
|
||||
"float,^(.*)(copyq)(.*)$"
|
||||
"center,^(.*)(swappy)(.*)$"
|
||||
"float,title:^(.*)(Spirit)(.*)$"
|
||||
"float,title:^(.*)(reset)(.*)$"
|
||||
"workspace 10 silent,^(.*)(steam)(.*)$"
|
||||
"workspace 9 silent,^(.*)(dota)(.*)$"
|
||||
"workspace 9 silent,^(.*)(battlebits)(.*)$"
|
||||
"workspace 9 silent,^(.*)(aoe)(.*)$"
|
||||
"suppressevent fullscreen maximize,^(.*)(neovide)(.*)$"
|
||||
];
|
||||
|
||||
windowrulev2 = [
|
||||
"immediate,class:^(.*)(Pal)$"
|
||||
"immediate,class:^(.*)(dota2)$"
|
||||
"immediate,class:^(.*)(needforspeedheat.exe)$"
|
||||
"forceinput,class:^(.*)(Pal)$"
|
||||
"forceinput,class:^(.*)(Battlefield 4)$"
|
||||
];
|
||||
|
||||
exec-once = [
|
||||
# environment
|
||||
"systemctl --user import-environment"
|
||||
"dbus-update-activation-environment --systemd --all"
|
||||
"hyprctl setcursor Bibata-Modern-Classic 24"
|
||||
|
||||
# other programs
|
||||
"hyprpaper"
|
||||
"ironbar"
|
||||
"firefox"
|
||||
"streamdeck -n"
|
||||
"oxipaste_daemon"
|
||||
"/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
|
||||
"nextcloud --background"
|
||||
"oxinoti"
|
||||
];
|
||||
|
||||
plugin = {
|
||||
hyprspace = {
|
||||
bind = [
|
||||
"SUPER, W, overview:toggle, toggle"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
wayland.windowManager.hyprland.plugins = [
|
||||
# ... whatever
|
||||
inputs.Hyprspace.packages.${pkgs.system}.Hyprspace
|
||||
];
|
||||
}
|
||||
25
nix/programs/hyprland/default.nix
Normal file
25
nix/programs/hyprland/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
lib
|
||||
, pkgs
|
||||
, ...
|
||||
}: {
|
||||
imports = [
|
||||
#./anyrun.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
hyprland
|
||||
xorg.xprop
|
||||
grim
|
||||
slurp
|
||||
swappy
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-hyprland
|
||||
hyprpaper
|
||||
ironbar
|
||||
copyq
|
||||
gnome.nautilus
|
||||
gnome.sushi
|
||||
];
|
||||
|
||||
}
|
||||
63
nix/programs/kitty.nix
Normal file
63
nix/programs/kitty.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ default, ... }: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
enable_audio_bell = "no";
|
||||
window_alert_on_bell = "no";
|
||||
background_opacity = "0.8";
|
||||
cursor_blink_interval = "0";
|
||||
window_padding_width = "1";
|
||||
shell_integration = "yes";
|
||||
sync_with_monitor = "no";
|
||||
|
||||
font_family = "JetBrainsMono Nerd Font Mono";
|
||||
bold_font = "JetBrainsMono Nerd Font Mono Extra Bold";
|
||||
italic_font = "JetBrainsMono Nerd Font Mono Extra Italic";
|
||||
bold_italic_font = "JetBrainsMono Nerd Font Mono Extra Bold Italic";
|
||||
|
||||
background = "#1a1b25";
|
||||
foreground = "#c5c8c6";
|
||||
|
||||
selection_background = "#b2ceee";
|
||||
selection_foreground = "#080808";
|
||||
|
||||
url_color = "#73daca";
|
||||
cursor = "#c0caf5";
|
||||
cursor_text_color = "#1a1b25";
|
||||
|
||||
active_tab_background = "#7aa2f7";
|
||||
active_tab_foreground = "#16161e";
|
||||
inactive_tab_background = "#292e42";
|
||||
inactive_tab_foreground = "#545c7e";
|
||||
|
||||
active_border_color = "#7aa2f7";
|
||||
inactive_border_color = "#292e42";
|
||||
|
||||
color0 = "#15161e";
|
||||
color1 = "#c94448";
|
||||
color2 = "#9ece6a";
|
||||
color3 = "#e0af68";
|
||||
color4 = "#7aa2f7";
|
||||
color5 = "#bb9af7";
|
||||
color6 = "#7dcfff";
|
||||
color7 = "#a9b1d6";
|
||||
|
||||
color8 = "#414868";
|
||||
color9 = "#f2201f";
|
||||
color10 = "#9ece6a";
|
||||
color11 = "#e0af68";
|
||||
color12 = "#7aa2f7";
|
||||
color13 = "#bb9af7";
|
||||
color14 = "#7dcfff";
|
||||
color15 = "#c0caf5";
|
||||
|
||||
color16 = "#ff9e64";
|
||||
color17 = "#db4b4b";
|
||||
|
||||
shell = "fish";
|
||||
};
|
||||
|
||||
theme = "Catppuccin-Mocha";
|
||||
};
|
||||
}
|
||||
29
nix/programs/media.nix
Normal file
29
nix/programs/media.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# base audio
|
||||
pipewire
|
||||
wireplumber
|
||||
# audio control
|
||||
playerctl
|
||||
# images
|
||||
imv
|
||||
# videos
|
||||
mpv
|
||||
# pdf
|
||||
zathura
|
||||
# spotify
|
||||
ncspot
|
||||
# video editing
|
||||
kdenlive
|
||||
# image creation
|
||||
inkscape
|
||||
gimp
|
||||
krita
|
||||
# recording
|
||||
obs-studio
|
||||
];
|
||||
}
|
||||
14
nix/programs/utils.nix
Normal file
14
nix/programs/utils.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{ lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
rustdesk
|
||||
keepassxc
|
||||
nheko
|
||||
kdeconnect
|
||||
nextcloud-client
|
||||
xournalpp
|
||||
];
|
||||
}
|
||||
48
nix/programs/xdg.nix
Normal file
48
nix/programs/xdg.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
browser = [ "firefox.desktop" ];
|
||||
|
||||
# XDG MIME types
|
||||
associations = {
|
||||
"application/x-extension-htm" = browser;
|
||||
"application/x-extension-html" = browser;
|
||||
"application/x-extension-shtml" = browser;
|
||||
"application/x-extension-xht" = browser;
|
||||
"application/x-extension-xhtml" = browser;
|
||||
"application/xhtml+xml" = browser;
|
||||
"text/html" = browser;
|
||||
"x-scheme-handler/about" = browser;
|
||||
"x-scheme-handler/chrome" = [ "brave.desktop" ];
|
||||
"x-scheme-handler/ftp" = browser;
|
||||
"x-scheme-handler/http" = browser;
|
||||
"x-scheme-handler/https" = browser;
|
||||
"x-scheme-handler/unknown" = browser;
|
||||
|
||||
"audio/*" = [ "mpv.desktop" ];
|
||||
"video/*" = [ "mpv.dekstop" ];
|
||||
"image/*" = [ "imv.desktop" ];
|
||||
"application/json" = browser;
|
||||
"application/pdf" = [ "org.pwmt.zathura.desktop.desktop" ];
|
||||
# "x-scheme-handler/discord" = [ "discordcanary.desktop" ];
|
||||
# "x-scheme-handler/spotify" = [ "spotify.desktop" ];
|
||||
};
|
||||
in
|
||||
{
|
||||
xdg = {
|
||||
enable = true;
|
||||
cacheHome = config.home.homeDirectory + "/.local/cache";
|
||||
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = associations;
|
||||
};
|
||||
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
extraConfig = {
|
||||
XDG_SCREENSHOTS_DIR = "${config.xdg.userDirs.pictures}/Screenshots";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue