nord: desktop apps

This commit is contained in:
Peder Bergebakken Sundt 2023-03-11 03:39:06 +01:00
parent 1abe47b0c2
commit cf52f57012
11 changed files with 111 additions and 36 deletions

View File

@ -12,6 +12,11 @@
nixpkgs.config.libmfxSupport = true; # intel nixpkgs.config.libmfxSupport = true; # intel
hardware.opengl.enable = true; hardware.opengl.enable = true;
#hardware.opengl.extraPackages = [ pkgs.mesa.drivers ]; hardware.opengl.extraPackages = with pkgs; [
hardware.opengl.extraPackages = with pkgs; [ mesa.drivers vaapiIntel libvdpau-va-gl vaapiVdpau intel-ocl ]; mesa.drivers
vaapiIntel
libvdpau-va-gl
vaapiVdpau
intel-ocl
];
} }

View File

@ -13,6 +13,8 @@
boot.kernelPackages = pkgs.linuxPackages_latest; # amdgpu audio fix when at 4k@60fps boot.kernelPackages = pkgs.linuxPackages_latest; # amdgpu audio fix when at 4k@60fps
services.flatpak.enable = true;
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../hardware/rocm.nix ../../hardware/rocm.nix
@ -26,13 +28,16 @@
#../../profiles/desktop/sound/pipewire.nix #../../profiles/desktop/sound/pipewire.nix
#../../profiles/desktop/sound/alsa.nix #../../profiles/desktop/sound/alsa.nix
../../profiles/desktop/steam.nix
../../profiles/nfs/reidun.nix ../../profiles/nfs/reidun.nix
#../../profiles/remote-builders # ../../profiles/remote-builders
#../../profiles/autossh-reverse-tunnels #../../profiles/autossh-reverse-tunnels
#../../profiles/domeneshop-dyndns # handled by noximilien #../../profiles/domeneshop-dyndns # handled by noximilien
]; ];
networking.firewall.allowedTCPPorts = [ 57621 ]; # spotify
# run/build weird binaries # run/build weird binaries
# TODO: somehow make sure this is in sync with remote-builders # TODO: somehow make sure this is in sync with remote-builders

View File

@ -2,18 +2,26 @@
{ {
services.xserver.enable = true; services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.gdm.enable = true;
services.xserver.displayManager.gdm.wayland = true;
services.xserver.desktopManager.gnome.enable = true; services.xserver.desktopManager.gnome.enable = true;
#services.printing.enable = true; # CUPS #services.printing.enable = true; # CUPS
programs.xwayland.enable = true;
xdg.portal.enable = true;
services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
programs.gnome-terminal.enable = false;
services.tumbler.enable = true;
services.gnome.sushi.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
lxterminal lxterminal
gnomeExtensions.appindicator gnomeExtensions.appindicator
]; ];
environment.gnome.excludePackages = (with pkgs; [ environment.gnome.excludePackages = (with pkgs; [
#gnome-photos gnome-photos
gnome-tour gnome-tour
]) ++ (with pkgs.gnome; [ ]) ++ (with pkgs.gnome; [
#cheese # webcam tool #cheese # webcam tool

View File

@ -0,0 +1,29 @@
{ config, pkgs, lib, ... }:
{
programs.steam.enable = true;
programs.steam.remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
programs.steam.dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"steam"
"steam-original"
"steam-runtime"
];
#programs.java.enable = true;
nixpkgs.config.packageOverrides = pkgs: {
steam = pkgs.steam.override {
withPrimus = config.hardware.nvidia.modesetting.enable;
#withJava = config.programs.java.enable;
extraPkgs = pkgs: with pkgs; [
libgdiplus
];
};
};
environment.systemPackages = with pkgs; [
steam-tui
steamcmd
];
}

View File

@ -1,10 +0,0 @@
{ config, pkgs, lib, ... }:
let
to-import = name: value: ./. + ("/" + name);
filter-users = key: val: val == "directory" && lib.pathExists "${./.}${key}/default.nix";
imports = lib.mapAttrsToList to-import (lib.filterAttrs filter-users (builtins.readDir ./.));
in
{
# TODO: does not work?
inherit imports;
}

View File

@ -1,20 +1,19 @@
# https://nix-community.github.io/home-manager/options.html # https://nix-community.github.io/home-manager/options.html
{ pkgs, config, ... }: { pkgs, config, ... }:
{ {
nixpkgs.config.allowUnfree = true;
home.stateVersion = "22.11";
imports = [ imports = [
./profiles/bat.nix ./profiles/bat.nix
./profiles/git.nix ./profiles/git.nix
./profiles/gtk.nix ./profiles/gtk.nix
./profiles/micro.nix ./profiles/micro.nix
./profiles/mpv.nix
./profiles/shell.nix ./profiles/shell.nix
./profiles/ssh.nix ./profiles/ssh.nix
./profiles/tmate.nix ./profiles/tmate.nix
]; ];
nixpkgs.config.allowUnfree = true;
home.stateVersion = "22.11";
programs.bash.initExtra = '' programs.bash.initExtra = ''
if [ "$COLORTERM" = "truecolor" ] || [ "$TERM" == "xterm" ]; then if [ "$COLORTERM" = "truecolor" ] || [ "$TERM" == "xterm" ]; then
export TERM=xterm-256color export TERM=xterm-256color
@ -81,16 +80,18 @@
comma comma
(python3.withPackages (python-packages: with python-packages; [ (python3.withPackages (python-packages: with python-packages; [
requests
numpy
scipy
ptpython
poetry
rich
matplotlib matplotlib
more-itertools more-itertools
toml numpy
#objexplore # TODO: package this, used in python interactive shell
poetry
ptpython
python-lsp-server
pyyaml pyyaml
requests
rich
scipy
toml
virtualenv virtualenv
])) ]))
]; ];
@ -103,12 +104,9 @@
tmux = "systemd-run --scope --user tmux"; # detach from ssh scope, surviving logout tmux = "systemd-run --scope --user tmux"; # detach from ssh scope, surviving logout
# TODO: wayland detection # TODO: wayland
clip = "xclip -sel clip -t text/plain -rmlastnl -i"; clip = "xclip -sel clip -t text/plain -rmlastnl -i";
python = "ptpython"; # this has too many problems...
cpython = "python";
# TODO: ps1? # TODO: ps1?
pwd-fqdn = ''echo "$(whoami)@$(hostname -f):$(printf "%q" "$(realpath .)/")"''; pwd-fqdn = ''echo "$(whoami)@$(hostname -f):$(printf "%q" "$(realpath .)/")"'';

View File

@ -16,7 +16,7 @@ import functools
import typing import typing
from functools import reduce from functools import reduce
from pathlib import Path from pathlib import Path
from objexplore import explore #from objexplore import explore # to be added in nixpkgs
p = pprint p = pprint

View File

@ -4,9 +4,12 @@
imports = [ imports = [
./default.nix ./default.nix
./profiles/gnome ./profiles/gnome
./profiles/mpv.nix
./profiles/desktop.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
gnome.eog
]; ];
} }

View File

@ -0,0 +1,35 @@
{ pkgs, lib, ... }:
{
home.packages = with pkgs; [
atom # TODO: config
discord
element-desktop#-wayland
f3d
firefox
gnome-connections
scrcpy
slack
#spotify
transmission-remote-gtk
];
# flatpak
home.activation.addFlathubRemote = lib.hm.dag.entryAfter ["writeBoundary"] ''
if command -v flatpak >/dev/null; then
$DRY_RUN_CMD \
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
fi
'';
# TODO: automatic flatpak updates
/** /
# fix spotify facebook login (i instead opt for flatpack, as it how fails with some libcurl stuff)
nixpkgs.overlays = [(final: prev: {
spotify = prev.spotify.override {
nss = prev.nss_latest;
};
})];
/**/
}

View File

@ -6,7 +6,7 @@ with lib.hm.gvariant;
{ {
dconf.settings = { dconf.settings = {
"org/gnome/shell/extensions/user-theme" = { "org/gnome/shell/extensions/user-theme" = {
name = "vimix-dark-laptop-ruby"; name = "vimix-dark-doder";
}; };
"org/gnome/desktop/interface" = { "org/gnome/desktop/interface" = {

View File

@ -52,20 +52,22 @@
curl curl
wget wget
sshuttle
#tldr #tldr
entr entr
axel aria axel aria
xe # xargs alternative xe # xargs alternative
sd # sed alternative sd # sed alternative
fd # find alternative fd # find alternative
silver-searcher # `ag` silver-searcher # 'ag'
ripgrep ripgrep # 'rg'
gron gron
jq jq
yq yq # includes xmlq and tomlq
fq fq # binary jq
htmlq htmlq
just just # justfile
sysz sysz
du-dust # du alternative du-dust # du alternative
ncdu # Disk usage analyzer with an ncurses interface ncdu # Disk usage analyzer with an ncurses interface