moby: populate from lappy config (gnome, firefox, etc)
it's not the best: probably want to replace with phosh
This commit is contained in:
parent
d75bc02c94
commit
2603dc590d
21
flake.lock
21
flake.lock
|
@ -39,7 +39,9 @@
|
||||||
"mobile-nixos": {
|
"mobile-nixos": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": [
|
||||||
|
"pkgs-mobile"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1630497267,
|
"lastModified": 1630497267,
|
||||||
|
@ -57,21 +59,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1629048390,
|
|
||||||
"narHash": "sha256-do7HuXFSKyj4ulMlRvGigNZCqOaGD9i0M3OLkFQgEAc=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "e41ba38114055832e5ba4a851e9c00149eef3e4a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "nixpkgs",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1652975354,
|
"lastModified": 1652975354,
|
||||||
"narHash": "sha256-qP1DpEYQdSq7NZ542TSHffIT6xGm7MaSMG9faQWPcg0=",
|
"narHash": "sha256-qP1DpEYQdSq7NZ542TSHffIT6xGm7MaSMG9faQWPcg0=",
|
||||||
|
@ -135,7 +122,7 @@
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"mobile-nixos": "mobile-nixos",
|
"mobile-nixos": "mobile-nixos",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs",
|
||||||
"nurpkgs": "nurpkgs",
|
"nurpkgs": "nurpkgs",
|
||||||
"pkgs-gitea": "pkgs-gitea",
|
"pkgs-gitea": "pkgs-gitea",
|
||||||
"pkgs-mobile": "pkgs-mobile"
|
"pkgs-mobile": "pkgs-mobile"
|
||||||
|
|
68
flake.nix
68
flake.nix
|
@ -25,7 +25,10 @@
|
||||||
# pkgs-mobile.url = "nixpkgs/5aaed40d22f0d9376330b6fa413223435ad6fee5"; # (untested) associated with HN comment 2022/01/16 https://hydra.nixos.org/build/164693256#tabs-buildinputs -- still tries to compile linux from source
|
# pkgs-mobile.url = "nixpkgs/5aaed40d22f0d9376330b6fa413223435ad6fee5"; # (untested) associated with HN comment 2022/01/16 https://hydra.nixos.org/build/164693256#tabs-buildinputs -- still tries to compile linux from source
|
||||||
# pkgs-mobile.url = "nixpkgs/23d785aa6f853e6cf3430119811c334025bbef55"; # latest mobile-nixos:unstable:device.pine64-pinephone.aarch64-linux build 2022/02/20 https://hydra.nixos.org/build/167888996#tabs-buildinputs -- still tries to compile linux from source, fails building lvgui
|
# pkgs-mobile.url = "nixpkgs/23d785aa6f853e6cf3430119811c334025bbef55"; # latest mobile-nixos:unstable:device.pine64-pinephone.aarch64-linux build 2022/02/20 https://hydra.nixos.org/build/167888996#tabs-buildinputs -- still tries to compile linux from source, fails building lvgui
|
||||||
# this includes a patch to enable flake support
|
# this includes a patch to enable flake support
|
||||||
mobile-nixos.url = "github:ngi-nix/mobile-nixos/afe022e1898aa05381077a89c3681784e6074458";
|
mobile-nixos = {
|
||||||
|
url = "github:ngi-nix/mobile-nixos/afe022e1898aa05381077a89c3681784e6074458";
|
||||||
|
inputs.nixpkgs.follows = "pkgs-mobile";
|
||||||
|
};
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-21.11";
|
url = "github:nix-community/home-manager/release-21.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -40,74 +43,33 @@
|
||||||
|
|
||||||
machines.moby = {
|
machines.moby = {
|
||||||
nixosConfiguration = pkgs-mobile.lib.nixosSystem {
|
nixosConfiguration = pkgs-mobile.lib.nixosSystem {
|
||||||
# inherit (self.genpkgs.aarch64-linux) pkgs;
|
|
||||||
system = "aarch64-linux";
|
system = "aarch64-linux";
|
||||||
|
specialArgs = { inherit home-manager; inherit nurpkgs; };
|
||||||
modules = [
|
modules = [
|
||||||
mobile-nixos.nixosModules.pine64-pinephone ({
|
mobile-nixos.nixosModules.pine64-pinephone ({
|
||||||
users.users.root.password = "147147";
|
users.users.root.password = "147147";
|
||||||
})
|
})
|
||||||
({ pkgs, ... }: {
|
({ config, pkgs, ... }: {
|
||||||
# This value determines the NixOS release from which the default
|
nixpkgs.config.allowUnfree = true;
|
||||||
# settings for stateful data, like file locations and database versions
|
nixpkgs.overlays = [ nurpkgs.overlay ];
|
||||||
# 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 = "21.11"; # Did you read the comment?
|
|
||||||
})
|
})
|
||||||
# ({ pkgs, mobile-nixos, ... }: {
|
./machines/moby
|
||||||
# imports = [
|
|
||||||
# (import "${mobile-nixos}/lib/configuration.nix" { device = "pine64-pinephone"; })
|
|
||||||
# ];
|
|
||||||
# })
|
|
||||||
# ({ pkgs, ... }: {
|
|
||||||
# imports = [
|
|
||||||
# <mobnixos>/devices/pine64-pinephone
|
|
||||||
# ];
|
|
||||||
# })
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
img = (pkgs-mobile.lib.nixosSystem {
|
img = (pkgs-mobile.lib.nixosSystem {
|
||||||
# inherit (self.genpkgs.aarch64-linux) pkgs;
|
|
||||||
system = "aarch64-linux";
|
system = "aarch64-linux";
|
||||||
|
specialArgs = { inherit home-manager; inherit nurpkgs; };
|
||||||
modules = [
|
modules = [
|
||||||
mobile-nixos.nixosModules.pine64-pinephone ({
|
mobile-nixos.nixosModules.pine64-pinephone ({
|
||||||
users.users.root.password = "147147";
|
users.users.root.password = "147147";
|
||||||
})
|
})
|
||||||
({ pkgs, ... }: {
|
({ config, pkgs, ... }: {
|
||||||
# This value determines the NixOS release from which the default
|
nixpkgs.config.allowUnfree = true;
|
||||||
# settings for stateful data, like file locations and database versions
|
nixpkgs.overlays = [ nurpkgs.overlay ];
|
||||||
# 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 = "21.11"; # Did you read the comment?
|
|
||||||
})
|
})
|
||||||
# ({ pkgs, mobile-nixos, ... }: {
|
./machines/moby
|
||||||
# imports = [
|
|
||||||
# (import "${mobile-nixos}/lib/configuration.nix" { device = "pine64-pinephone"; })
|
|
||||||
# ];
|
|
||||||
# })
|
|
||||||
# ({ pkgs, ... }: {
|
|
||||||
# imports = [
|
|
||||||
# <mobnixos>/devices/pine64-pinephone
|
|
||||||
# ];
|
|
||||||
# })
|
|
||||||
];
|
];
|
||||||
}).config.mobile.outputs.u-boot.disk-image;
|
}).config.mobile.outputs.u-boot.disk-image;
|
||||||
# img = nixosConfiguration.config.system.build.disk-image;
|
|
||||||
# img = (pkgs-mobile.lib.nixosSystem {
|
|
||||||
# system = "aarch64-linux";
|
|
||||||
# modules = [
|
|
||||||
# mobile-nixos.nixosModules.pine64-pinephone ({
|
|
||||||
# users.users.root.password = "147147";
|
|
||||||
# })
|
|
||||||
# ({ pkgs, ... }: {
|
|
||||||
# system.stateVersion = "21.11"; # Did you read the comment?
|
|
||||||
# })
|
|
||||||
# ./image.nix
|
|
||||||
# ];
|
|
||||||
# }).config.system.build.raw;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations = builtins.mapAttrs (name: value: value.nixosConfiguration) self.machines;
|
nixosConfigurations = builtins.mapAttrs (name: value: value.nixosConfiguration) self.machines;
|
||||||
|
@ -142,6 +104,7 @@
|
||||||
);
|
);
|
||||||
|
|
||||||
# apply all our package overlays, but to all platforms possible.
|
# apply all our package overlays, but to all platforms possible.
|
||||||
|
# genpkgs = nixpkgs.lib.genAttrs nixpkgs.lib.platforms.all (system:
|
||||||
genpkgs = nixpkgs.lib.genAttrs nixpkgs.lib.platforms.all (system:
|
genpkgs = nixpkgs.lib.genAttrs nixpkgs.lib.platforms.all (system:
|
||||||
{
|
{
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
|
@ -149,6 +112,7 @@
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
|
|
||||||
overlays = [
|
overlays = [
|
||||||
|
#mobile-nixos.overlay
|
||||||
nurpkgs.overlay
|
nurpkgs.overlay
|
||||||
(next: prev: {
|
(next: prev: {
|
||||||
#### customized packages
|
#### customized packages
|
||||||
|
|
12
machines/common/gui.nix
Normal file
12
machines/common/gui.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# start gnome/gdm on boot
|
||||||
|
services.xserver.enable = true;
|
||||||
|
services.xserver.desktopManager.gnome.enable = true;
|
||||||
|
services.xserver.displayManager.gdm.enable = true;
|
||||||
|
|
||||||
|
networking.useDHCP = false;
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
networking.wireless.enable = lib.mkForce false;
|
||||||
|
}
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
# enable cross compilation
|
# enable cross compilation
|
||||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
|
# nixpkgs.crossSystem.system = "aarch64-linux";
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = "powersave";
|
powerManagement.cpuFreqGovernor = "powersave";
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
@ -47,11 +48,6 @@
|
||||||
|
|
||||||
time.timeZone = "America/Los_Angeles";
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
|
||||||
# start gnome/gdm on boot
|
|
||||||
services.xserver.enable = true;
|
|
||||||
services.xserver.desktopManager.gnome.enable = true;
|
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
|
||||||
|
|
||||||
# services.snapper.configs = {
|
# services.snapper.configs = {
|
||||||
# root = {
|
# root = {
|
||||||
# subvolume = "/";
|
# subvolume = "/";
|
||||||
|
@ -61,9 +57,4 @@
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
# services.snapper.snapshotInterval = "daily";
|
# services.snapper.snapshotInterval = "daily";
|
||||||
|
|
||||||
networking.useDHCP = false;
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
networking.wireless.enable = lib.mkForce false;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
./../common/homes.nix
|
./../common/homes.nix
|
||||||
./../common/users.nix
|
./../common/users.nix
|
||||||
./../common/hardware.nix
|
./../common/hardware.nix
|
||||||
|
./../common/gui.nix
|
||||||
./fs.nix
|
./fs.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
./../common/homes.nix
|
./../common/homes.nix
|
||||||
./../common/users.nix
|
./../common/users.nix
|
||||||
./../common/hardware.nix
|
./../common/hardware.nix
|
||||||
|
./../common/gui.nix
|
||||||
./fs.nix
|
./fs.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
128
machines/moby/colin.nix
Normal file
128
machines/moby/colin.nix
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
# docs:
|
||||||
|
# https://rycee.gitlab.io/home-manager/
|
||||||
|
# man home-configuration.nix
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
|
||||||
|
home.stateVersion = "21.11";
|
||||||
|
home.username = "colin";
|
||||||
|
home.homeDirectory = "/home/colin";
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "colin";
|
||||||
|
userEmail = "colin@uninsane.org";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
# empty profile required to allow extensions below
|
||||||
|
profiles.default = {
|
||||||
|
# settings = {
|
||||||
|
# "browser.urlbar.placeholderName" = "DuckDuckGo";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
# NB: these must be manually enabled in the Firefox settings on first start
|
||||||
|
# extensions can be found here: https://gitlab.com/rycee/nur-expressions/-/blob/master/pkgs/firefox-addons/addons.json
|
||||||
|
extensions = [
|
||||||
|
pkgs.nur.repos.rycee.firefox-addons.bypass-paywalls-clean
|
||||||
|
pkgs.nur.repos.rycee.firefox-addons.i-dont-care-about-cookies
|
||||||
|
pkgs.nur.repos.rycee.firefox-addons.sidebery
|
||||||
|
pkgs.nur.repos.rycee.firefox-addons.sponsorblock
|
||||||
|
pkgs.nur.repos.rycee.firefox-addons.ublock-origin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.vim = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
" wtf vim project: NOBODY LIKES MOUSE FOR VISUAL MODE
|
||||||
|
set mouse-=a
|
||||||
|
" copy/paste to system clipboard
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
" <tab> completion menu settings
|
||||||
|
set wildmenu
|
||||||
|
set wildmode=longest,list,full
|
||||||
|
" highlight all matching searches (using / and ?)
|
||||||
|
set hlsearch
|
||||||
|
" allow backspace to delete empty lines in insert mode
|
||||||
|
set backspace=indent,eol,start
|
||||||
|
" built-in syntax highlighting
|
||||||
|
syntax enable
|
||||||
|
" show line/col number in bottom right
|
||||||
|
set ruler
|
||||||
|
" highlight trailing space & related syntax errors (does this work?)
|
||||||
|
let c_space_errors=1
|
||||||
|
let python_space_errors=1
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
# control alt-tab behavior
|
||||||
|
"org/gnome/desktop/wm/keybindings" = {
|
||||||
|
switch-applications = [ "<Super>Tab" ];
|
||||||
|
switch-applications-backward=[];
|
||||||
|
switch-windows=["<Alt>Tab"];
|
||||||
|
switch-windows-backward=["<Super><Alt>Tab"];
|
||||||
|
};
|
||||||
|
# idle power savings
|
||||||
|
"org/gnome/settings-deamon/plugins/power" = {
|
||||||
|
idle-brigthness = 50;
|
||||||
|
sleep-inactive-ac-type = "nothing";
|
||||||
|
sleep-inactive-battery-timeout = 5400; # seconds
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# xsession.enable = true;
|
||||||
|
# xsession.windowManager.command = "…";
|
||||||
|
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.btrfs-progs
|
||||||
|
pkgs.gnumake
|
||||||
|
pkgs.dig
|
||||||
|
pkgs.duplicity
|
||||||
|
pkgs.fatresize
|
||||||
|
pkgs.fd
|
||||||
|
pkgs.file
|
||||||
|
pkgs.gptfdisk
|
||||||
|
pkgs.hdparm
|
||||||
|
pkgs.htop
|
||||||
|
pkgs.iftop
|
||||||
|
pkgs.iotop
|
||||||
|
pkgs.iptables
|
||||||
|
pkgs.jq
|
||||||
|
pkgs.killall
|
||||||
|
pkgs.lm_sensors # for sensors-detect
|
||||||
|
pkgs.lsof
|
||||||
|
pkgs.pciutils
|
||||||
|
pkgs.matrix-synapse
|
||||||
|
pkgs.mix2nix
|
||||||
|
pkgs.netcat
|
||||||
|
pkgs.nixUnstable
|
||||||
|
# pkgs.nixos-generators
|
||||||
|
# pkgs.nettools
|
||||||
|
pkgs.nmap
|
||||||
|
pkgs.parted
|
||||||
|
pkgs.powertop
|
||||||
|
pkgs.python3
|
||||||
|
pkgs.ripgrep
|
||||||
|
pkgs.smartmontools
|
||||||
|
pkgs.snapper
|
||||||
|
pkgs.socat
|
||||||
|
pkgs.sudo
|
||||||
|
pkgs.telnet
|
||||||
|
pkgs.usbutils
|
||||||
|
pkgs.wireguard
|
||||||
|
pkgs.zola
|
||||||
|
|
||||||
|
pkgs.clinfo
|
||||||
|
# pkgs.discord
|
||||||
|
pkgs.element-desktop
|
||||||
|
pkgs.gnome.dconf-editor
|
||||||
|
pkgs.mesa-demos
|
||||||
|
pkgs.tdesktop
|
||||||
|
];
|
||||||
|
}
|
18
machines/moby/default.nix
Normal file
18
machines/moby/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ home-manager, config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./homes.nix
|
||||||
|
./../common/users.nix
|
||||||
|
./../common/gui.nix
|
||||||
|
# ./../common/hardware.nix
|
||||||
|
# ./fs.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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 = "21.11"; # Did you read the comment?
|
||||||
|
}
|
8
machines/moby/homes.nix
Normal file
8
machines/moby/homes.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{ home-manager, config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [ home-manager.nixosModule ];
|
||||||
|
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.users.colin.imports = [ ./colin.nix ];
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user